27 lines
1.8 KiB
Fennel
27 lines
1.8 KiB
Fennel
(local json (require :dkjson))
|
|
(local unistd (require :posix.unistd))
|
|
|
|
(local sms
|
|
((. (require :sms) :new)
|
|
{
|
|
:smsc "+447958879879"
|
|
:device "/dev/serial/by-id/usb-HUAWEI_HUAWEI_HiLink-if00-port0"
|
|
:verbose true
|
|
}))
|
|
|
|
(fn send-sms [body]
|
|
(print :send-sms body)
|
|
(sms:send "447000123456" body)
|
|
"Sent")
|
|
|
|
(fn handle [s]
|
|
(let [(m pos err) (json.decode s 1 nil)]
|
|
(when m
|
|
(send-sms
|
|
(.. m.title " " (. (. m.alerts 1) :valueString))))
|
|
"ok"))
|
|
;
|
|
;;;; {"receiver":"","status":"firing","alerts":[{"status":"firing","labels":{"alertname":"TestAlert","instance":"Grafana"},"annotations":{"summary":"Notification test"},"startsAt":"2022-09-13T21:14:29.77765882+01:00","endsAt":"0001-01-01T00:00:00Z","generatorURL":"","fingerprint":"57c6d9296de2ad39","silenceURL":"http://garf.telent.net:3002/alerting/silence/new?alertmanager=grafana\u0026matcher=alertname%3DTestAlert\u0026matcher=instance%3DGrafana","dashboardURL":"","panelURL":"","valueString":"[ metric='foo' labels={instance=bar} value=10 ]"}],"groupLabels":{},"commonLabels":{"alertname":"TestAlert","instance":"Grafana"},"commonAnnotations":{"summary":"Notification test"},"externalURL":"http://garf.telent.net:3002/","version":"1","groupKey":"{alertname=\"TestAlert\", instance=\"Grafana\"}2022-09-13 21:14:29.77765882 +0100 BST m=+644632.184951212","truncatedAlerts":0,"orgId":1,"title":"[FIRING:1] (TestAlert Grafana)","state":"alerting","message":"**Firing**\n\nValue: [ metric='foo' labels={instance=bar} value=10 ]\nLabels:\n - alertname = TestAlert\n - instance = Grafana\nAnnotations:\n - summary = Notification test\nSilence: http://garf.telent.net:3002/alerting/silence/new?alertmanager=grafana\u0026matcher=alertname%3DTestAlert\u0026matcher=instance%3DGrafana\n"}
|
|
|
|
{: handle}
|