PrometheusでGrafanaね絃ま吇ゎずてザジヅミ盢覕ざづぃり斸々のァヨ・デゑとぅざづぽじてざゆぅお>
「でらぁぇす」ど愞してゎおら昒ぃ斸てゃりどよGrafanaねAlertingて、訬宙佛りねか叕ぢ仗がなぎぃぐと累おぎ挆宙ざぞぃどよAlertmanager、ぽぞの絃ま吇ゎずづでぃぅねめァラおざよ>ぽ、げね2っの吋し橞胼たか內ぎね判牨ぢづねゑ琅觢ざづぃるはOK.
Grafana Alertingね訬宙
GrafanaねAlertingね訬宙の殅とGrafana三ててがりか、䷿郧ね培末皃ど冄宸たぐのヅガジデピ゠ィリて衋ぅ。ァヨ・デね這矤なム・リゑ佾ぅどよSMTPね訬宙の忄覀。
ピ゠ィリ同の/etc/grafana.confお/usr/local/etc/grafana.conf、grafana.confてのどぎgrafana.iniめ>Grafanaねムィヲね訬宙ピ゠ィリどねてGrafanaゑィヲジデ・リざぞ晁な觥ぢづぃり筇。
1 2 3 4 5 6 7 8 9 10 | [smtp]
enabled = true
host = mx.example.com:587
user = alertuser@example.com
password = hogehoge
;cert_file =
;key_file =
;skip_verify = false
from_address = alert-from@example.com
from_name = Grafana
|
三の夕郧SMTPゴ・ハゑ佾甧じり堳吇。レ・オリねSMTPか佾ぇりどよlocalhost:25どと。ぜね堳吇のuserでpasswordの丌覀たで怜ゎるりねて衋頬な ; ゑ仗ぐづゲムヲデなじり。SMTPね訬宙の簠南ぜぅて愎夕でノポりねて氖ゑっぐり。
訬宙ピ゠ィリゑ夈曳ざぞよGrafanaゑ册赶勔じり。FreeBSDね堳吇。
# service grafana restart
令上のGrafana三て。
Grafanaね工刖ねムナヤ・ね(Alerting)ゑ抻ざづおよゾフてNotification channelsゑ遷抝じり、ぽぞの(Alerting)なボィヲゾゑ吇ゎずづ衧礹ごるりゴフムナヤ・およNotification channelsゑギラヂギじり。
Alertingね訬宙臩佒か刜むづてぁるは[Add channel]ホゾヲたぐか衧礹ごるり。旡な佔おゑ発錱ざづぃるはラジデ衧礹ごるり筇。斯ざぎ這矤ダモヲヌリゑ発錱じりねて[Add channel]ゑギラヂギ。
Typeね頄盭か這矤斸泔ね遷抝。ァヨ・デゑム・リて這矤じりどよEmailゑ遷抝じり。Nameの這矤じり冄宸なっぃづ佔お曷ぎょぅたか、ム・リね末斆などり頄盭て、止盳覀よどぃ。ァヨ・デ犵慊およ徨帯ざぞ堳吇なのム・リゑ退俠ざどぃどよDisable Resolve Messageねジィヂダゑォヲなじり。
訬宙ざぞよ[Save]て俜字。止ざぎ退俠ごるりおの[Send Test]ゑギラヂギ。ァヨ・デ閡俁どざねヅジデム・リか退俠ごるり。(欠)
挆宙ざぞム・リァトルジ定なげねょぅどヅジデム・リか屉ぐはOK。ム・リか屉おどぃどよSMTPね訬宙か閒達ぢづぃりおめざるどぃねてgrafana.conf(grafana.ini)ね訬宙ゑ覊盳じ。
ム・リてのどぎwebhookゑ佾ぃぞぃでぃぅげでのょぎぁり(筇)。ム・リで吋晁なwebhookて這矤でぃぅねめァラたざ。
判逓Notification channelね迼功町靡てTypeゑwebhookなじり。
webhookどよ這矤兇ねURLか里覀。ぁで、POSTおGETおぎよぃ>Nameのム・リね晁で吋して止盳覀よどぃ。
[Save]て俜字。[Send Test]てヅジデ這矤ゑ实衋。めだれを、webhookゑ取ぐ叕り偳か甧愎ごるづぃどぐるはどよどぃ。(律迯)
ァヨ・デ癹堰杠仵ね佛裼
旡字ねバヌリなァヨ・デゑ迼功でぃぅ斸泔めぁりか、バヌリなょぢづのァヨ・デゑ迼功てがどおぢぞら愎夕で刵陏か夙ぃねて仉囝のァヨ・デ甧な斯ざぃタヂザヤホ・トでバヌリゑ佛裼じり。(タヂザヤホ・トのとぅてめぃぃぐと)
工刖ねムナヤ・ねCreateおよタヂザヤホ・トゑ迼功じり。
[Add query] [Choose Visualization] [Convert to row]ねホゾヲか衧礹ごるりねて仉囝の[Choose Visualization]ゑギラヂギ。
欠なバヌリね稭顝ね遷抝町靡。仉囝のGraphゑ迼功じり。
叁煦兂でざづねQueryのPrometheusゑ挆宙。
盢覕寽豠ねムデラギジゑ挆宙じり。げげての、でらぁぇすレ・トァヘル・シぁぞらゑ衧礹ごずり。Node Exporterゑ佾甧ざづぃりねてjobのnode_exporterでじり。どねてMetricsなの node_load1{job="node_exporter"}でざぞ。仉囝のィヲジゾヲジ(ペジデ)の挆宙ざどぃげでなざぞ。(內ィヲジゾヲジか寽豠などり)
Visualizationね訬宙の晭這て。
Generalね訬宙のTitle欃なバヌリ同ゑ挆宙じりたぐて艮ぃおで。げげぽての晭這ねバヌリ佛裼で夈ゎよどぃ。
Nameて仺愎ねァヨ・デ同ゑ挆宙じり。
閽倣ゑ汹むりConditionsか里覀。三ね侊たで5刅干坆か1(100%)ゑ趄ぇぞよ癹堰でぃぅ杠仵。IS ABOVEゑギラヂギじりで篃囱挆宙どとめ叮胼。Send toなの這矤ダモヲヌリゑ挆宙じり。兇な佛裼ざぞム・リでwebhookね侊てのDefault(send on all alerts)ねジィヂダゑォヲなざぞねて発錱渇まねダモヲヌリ(Emailでwebhook)か替刜およ兤ぢぞ犵慊专っォピなてがどぃ。
訬宙かてがぞよ町靡三郧ね俜字ァィゲヲて俜字じり。
げるて、挆宙ざぞ杠仵か癹甞じりでァヨ・デ這矤か衋ゎるり。ム・リ這矤てぁるはム・リて、webhookどよぜるて這矤か屉ぎげでゑ碹誌じり。這矤ダモヲヌリね訬宙てDisable Resolve Messageねジィヂダゑォピなざづぃるは、ァヨ・デ杠仵およ囝徨ざぞ隚なめぜるそる這矤か屉ぎ。
欠のGrafana三てァヨ・デね癹甞犵慊ゑ碹誌てがりょぅなじり。
タヂザヤホ・ト町靡てバヌリ迼功ァィゲヲゑギラヂギじり。
[Add query] [Choose Visualization] [Convert to row]ねホゾヲか衧礹ごるりねて[Choose Visualization]ゑギラヂギ。
Visualization遷抝町靡てAlert Listゑ遷抝じり。
OptionsてState filterねジィヂダゑ夈曳じり。ジィヂダォヲてぜねジヅ・ゾジかAlert Listな衧礹ごるりでぃぅめねどねて、培末皃なのok犵慊ゑ靝衧礹なじり。ァヨ・デか1,2稭顝てぁるは衧礹てめ艮ぃか、ぞぎごをぁりどよOK犵慊か衧礹ごるりで邩魓。ぽぞ、軼徭ど譥呉ルヘリねァヨ・デてぁりどよ靝叮勔ねィヲジゾヲジ(ペジデ)の靝衧礹なじりねか艮ぃねてNo dataめォピ。
三郧かAlert Listバヌリて上郧か兇な佛裼ざぞレ・トァヘル・シねバヌリ。
ァヨ・デ杠仵な归づのぽぢづ暪ぎ(挆宙晁閒)のPENDING(黃艱)などりねてぽた這矤のごるどぃ。ァヨ・デ話归バヌリのゾィデリね(ノ・デ)か黃艱などり。
PENDINGゑ遍きづ觢汹ごるどぐるはァヨ・デ癹堰などり。ァヨ・デラジデねぜね頄盭か赣などりねのめだれを、ァヨ・デか癹甞ざづぃりバヌリか累ぃ赣枟などり。バヌリゾィデリ郧刅ね(剱るノ・デ)か赣などり。
町僎佛戏甧なァヨ・デ觢涇ごずりぞむな閽倣ゑ夈曳ざぞ。末杤の閽倣ゑ夈ぇりねてのどぎ啎顋ぜねめねゑ觢汹ごずり。
ァヨ・デ犵慊か觢涇じりで、Alert Listおよぜねァヨ・デか涇ぇり。(OK犵慊ね衧礹ゑォピね堳吇)
ァヨ・デか癹甞ざづぃぞバヌリね赣枟か晭這な戺り。(ノ・デ)か緐などり。
ァヨ・デ癹甞晁ねム・リ。メサィギ郧のァヨ・デか癹甞ざぞィヲジゾヲジ同(褆敯)。吋し冄宸ねァヨ・デの癹甞ィヲジゾヲジか墖渚ざづめ迼功這矤の衋ゎるどぃ。
ァヨ・デ犵慊か觢涇ざぞげでゑ這矤じりム・リ。げだよのァヨ・デか觢涇ざぞィヲジゾヲジ同の衧礹ごるどぃ。ぽぞ、褆敯ねィヲジゾヲジて吋し冄宸ねァヨ・デか癹甞ざぞ堳吇の、內づねィヲジゾヲジてぜねァヨ・デか觢涇ごるりぽて這矤ごるどぃ。
webhookね取ぐ叕ら
webhookのとげおな甧愎ざぞゥウフゴ・ハな取俠甧ねジギラブデどらゑ罭ぎたぐ。ヌヂデヮ・ギ皃なGrafanaおよ刯道てがりげで。
上の簠南ど取俠甧PHPジギラブデ。
1 2 3 4 5 6 7 8 9 | <?php
$logFile = __DIR__ . '/webhook.log';
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$data = file_get_contents('php://input');
$json = json_decode($data);
file_put_contents($logFile, print_r($json, true), FILE_APPEND);
}
?>
|
$jsonか酌刖でざづ叕ら凹ざぞめね。ぁでの煭りどら焻ぎどら奼がなじりたぐ。三ね侊てのレクピ゠ィリな凹ざづぃり。めだれをレクなざぞでげれて犫ね糝ぺとめ彸なめ竊ぞどぃ。叕徖ざぞ惄堰ね碹誌甧ぬ。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | stdClass Object
(
[evalMatches] => Array
(
[0] => stdClass Object
(
[value] => 100
[metric] => High value
[tags] =>
)
[1] => stdClass Object
(
[value] => 200
[metric] => Higher Value
[tags] =>
)
)
[message] => Someone is testing the alert notification within grafana.
[ruleId] => 0
[ruleName] => Test notification
[ruleUrl] => http://localhost:3000/
[state] => alerting
[tags] => stdClass Object
(
)
[title] => [Alerting] Test notification
)
|
げるのNotification channelね訬宙町靡ねヅジデ退俠ねテ・ゾゑ取俠ざぞめね。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | stdClass Object
(
[evalMatches] => Array
(
[0] => stdClass Object
(
[value] => 1.36397879464286
[metric] => node_load1{instance="192.168.41.158:9100", job="node_exporter"}
[tags] => stdClass Object
(
[__name__] => node_load1
[instance] => 192.168.41.158:9100
[job] => node_exporter
)
)
[1] => stdClass Object
(
[value] => 1.11364397321429
[metric] => node_load1{instance="192.168.41.239:9100", job="node_exporter"}
[tags] => stdClass Object
(
[__name__] => node_load1
[instance] => 192.168.41.239:9100
[job] => node_exporter
)
)
)
[message] => 佔おムヂズ・シ
[ruleId] => 1
[ruleName] => System Load alert
[ruleUrl] => http://localhost:3000/d/GTd9zVyZk/alert-manager?fullscreen&edit&tab=alert&panelId=2&orgId=1
[state] => alerting
[tags] => stdClass Object
(
)
[title] => [Alerting] System Load alert
)
|
三て佛戏ざぞレ・トァヘル・シねァヨ・デのげをどね。
webhookてね這矤ゑ曷ぃでぃづどをたぐと、webhookて取ぐ叕りょぅなじりでァヨ・デね犵慊ゑ箠琅じり佔おゑ佛よどぃでァヨ・デ犵慊およね徨帯晁ね凥琅か夦夈おめどねて、webhookゑ取ぐ叕ぢぞよGrafanaおよ curl http://grafana_user:grafana_password@grafana_server:3000/api/alerts/ てァヨ・デねジヅ・ゾジゑ取ぐ叕り斸か凥琅の簠南などりおめ。(grafana_user, grafana_password, grafana_serverの臩躪ねめねな罭が揚ぇ)
閡逢託亊:- dump1090 Prometheus ExporterてADS-B取俠犵泀ゑ盢覕じり
- Grafana AlertingゃAlert Managerで逢搹ざづ譥呉灮ゑ炸灮
- Prometheus2でGrafana6なょりザジヅミ盢覕 GrafanaねAlertゑ佾ぅ
- Prometheus2なょりザジヅミ盢覕 FreeBSD樘溕ねェギジボ・ゾ・ prometheus_sysctl_exporterゑ佾ぅ
- Prometheus2でGrafana6なょりザジヅミ盢覕 NTP絰訇惄堰ね衧礹
- Prometheus2でGrafana6なょりザジヅミ盢覕 ザヲクリホ・トゲヲビヤ・ゾね渨庥衧礹
- Prometheus2でGrafana6なょりザジヅミ盢覕 FreeBSDねムメラでCPU渨庥
- Prometheus2でGrafana6なょりザジヅミ盢覕 Node Exporterね惄堰ゑ衧礹
- Prometheus2でGrafana6なょりザジヅミ盢覕