dashy: show local time in Falco alerts widget, cap to 5 entries

This commit is contained in:
2026-08-16 15:35:58 +00:00
parent 33868ee9bb
commit 4420ed3c8b
+6 -2
View File
@@ -8,14 +8,17 @@ netdata's existing alert-transitions API - the same data already driving
the Telegram pipeline - so this adds zero new attack surface or the Telegram pipeline - so this adds zero new attack surface or
dependencies. dependencies.
""" """
import datetime
import json import json
import time import time
import urllib.request import urllib.request
from zoneinfo import ZoneInfo
NETDATA_URL = "http://192.168.1.67:19999" NETDATA_URL = "http://192.168.1.67:19999"
OUTPUT_PATH = "/srv/dashy/json-data/falco-alerts.json" OUTPUT_PATH = "/srv/dashy/json-data/falco-alerts.json"
LOOKBACK_SECONDS = 7 * 86400 # 7 days LOOKBACK_SECONDS = 7 * 86400 # 7 days
MAX_ENTRIES = 20 MAX_ENTRIES = 5
LOCAL_TZ = ZoneInfo("America/New_York")
def fetch_transitions(): def fetch_transitions():
@@ -32,6 +35,7 @@ def fetch_transitions():
def to_dashy_entry(t): def to_dashy_entry(t):
rule_name = t["summary"].removeprefix("Falco rule fired - ") rule_name = t["summary"].removeprefix("Falco rule fired - ")
status = t["new"]["status"] status = t["new"]["status"]
local_time = datetime.datetime.fromtimestamp(t["when"], LOCAL_TZ).strftime("%-I:%M %p")
return { return {
"link": { "link": {
"text": "View", "text": "View",
@@ -39,7 +43,7 @@ def to_dashy_entry(t):
"title": f"{status}: {rule_name}", "title": f"{status}: {rule_name}",
}, },
"value": { "value": {
"text": f"{status} - {rule_name}", "text": f"{local_time} - {status} - {rule_name}",
"title": "Falco", "title": "Falco",
}, },
"date": time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime(t["when"])), "date": time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime(t["when"])),