refactor web pagination and add partitioned events, flap/timeout showcase agents

This commit is contained in:
Stanislav Rossovskii
2026-05-27 18:23:31 +04:00
parent d5f312f200
commit a2e88b4e76
46 changed files with 1600 additions and 742 deletions

View File

@@ -0,0 +1,25 @@
hostname = "agent-flap"
state_dir = "/var/lib/monlet-agent"
[labels]
scenario = "flapping"
role = "showcase"
[server]
enabled = true
url = "http://server:8000"
token = "monlet-dev-token"
heartbeat_interval = "5s"
batch_interval = "3s"
[metrics]
enabled = false
listen = "127.0.0.1:9465"
[[checks]]
id = "flap"
name = "Flapping check (oscillates ok/critical)"
command = "/opt/monlet/checks/flap.sh"
interval = "10s"
timeout = "3s"
dedupe_key = "agent-flap:flap"

View File

@@ -0,0 +1,33 @@
hostname = "agent-timeout"
state_dir = "/var/lib/monlet-agent"
[labels]
scenario = "timeout"
role = "showcase"
[server]
enabled = true
url = "http://server:8000"
token = "monlet-dev-token"
heartbeat_interval = "5s"
batch_interval = "3s"
[metrics]
enabled = false
listen = "127.0.0.1:9465"
[[checks]]
id = "ok_probe"
name = "Healthy probe"
command = "/opt/monlet/checks/exit_0.sh"
interval = "10s"
timeout = "3s"
dedupe_key = "agent-timeout:ok_probe"
[[checks]]
id = "slow_probe"
name = "Probe that exceeds the timeout"
command = "/opt/monlet/checks/sleep_long.sh"
interval = "10s"
timeout = "2s"
dedupe_key = "agent-timeout:slow_probe"

9
deploy/showcase/checks/flap.sh Executable file
View File

@@ -0,0 +1,9 @@
#!/bin/sh
# Alternates between ok and critical every ~30 seconds to demonstrate flapping.
slot=$(( $(date +%s) / 30 % 2 ))
if [ "$slot" -eq 0 ]; then
echo "critical: flap window down"
exit 2
fi
echo "ok: flap window up"
exit 0

View File

@@ -0,0 +1,5 @@
#!/bin/sh
# Sleeps longer than the configured timeout to demonstrate timeout handling.
sleep 30
echo "should never reach here"
exit 0