3弧关、Alertmanager告警

1、Alertmanager簡介

Alertmanager是一個獨立的告警模塊懊烤,接收Prometheus等客戶端發(fā)來的警報梯醒,之后通過分組、刪除重復(fù)等處理腌紧,并將它們通過路由發(fā)送給正確的接收器茸习;告警方式可以按照不同的規(guī)則發(fā)送給不同的模塊負(fù)責(zé)人,Alertmanager支持Email, Slack壁肋,等告警方式, 也可以通過webhook接入釘釘?shù)葒鴥?nèi)IM工具

2号胚、Alertmanager部署

1.下載Alertmanager

Alertmanager可以獨立部署在一臺服務(wù)器中,也可以部署在prometheus服務(wù)器浸遗。
官網(wǎng)下載地址:https://prometheus.io/download/
wget https://github.com/prometheus/alertmanager/releases/download/v0.21.0/alertmanager-0.21.0.linux-amd64.tar.gz
tar -zxvf alertmanager-0.21.0.linux-amd64.tar.gz -C /data
ln -sv /data/alertmanager-0.21.0.linux-amd64 /usr/local/alertmanager

2.配置Alertmanager

cd /usr/local/alertmanager

cat > alertmanager.yml << 'EOF'
global:
  resolve_timeout: 5m
  smtp_smarthost: 'smtp.163.com':25'
  smtp_from: 'shd_stars@163.com''
  smtp_auth_username: 'xxx@163.com'' #告警發(fā)送郵箱地址
  smtp_auth_password: 'xxxxx' #授權(quán)碼猫胁!不是郵箱的登陸密碼
  smtp_require_tls: false

route:
  group_by: ['alertname'] # 分組標(biāo)簽
  group_wait: 10s # 分組等待時間,同一組內(nèi)在10秒鐘內(nèi)還有其它告警跛锌,如果有則一同發(fā)送
  group_interval: 10s # 上下兩組間隔時間
  repeat_interval: 300s # 重復(fù)告警間隔時間弃秆,間隔時間不要設(shè)置太短,容易出現(xiàn)告警轟炸
  receiver: 'mail' # 接收者是誰

receivers: # 定義接收者,將告警發(fā)送給誰
- name: 'mail'
  email_configs:
  - to: 'xxx@163.com'' #接收郵箱地址
    send_resolved: true  #是否接收恢復(fù)信息菠赚,false|true

inhibit_rules:
  - source_match:
      severity: 'critical'
    target_match:
      severity: 'warning'
    #確保這個配置下的標(biāo)簽內(nèi)容相同才會抑制脑豹,也就是說警報中必須有這三個標(biāo)簽值才會被抑制。
    equal: ['alertname', 'dev', 'instance']    
EOF

配置文件的主要作用解釋:

  • global: 全局配置衡查,包括報警解決后的超時時間瘩欺、SMTP 相關(guān)配置、各種渠道通知的 API 地址等等拌牲。
  • route: 用來設(shè)置報警的分發(fā)策略俱饿,它是一個樹狀結(jié)構(gòu),按照深度優(yōu)先從左向右的順序進(jìn)行匹配塌忽。
  • receivers: 配置告警消息接受者信息拍埠,例如常用的 email、wechat砚婆、slack械拍、webhook 等消息通知方式。
  • inhibit_rules: 抑制規(guī)則配置装盯,當(dāng)存在與另一組匹配的警報(源)時坷虑,抑制規(guī)則將禁用與一組匹配的警報(目標(biāo))。
3.檢查Alertmanager配置文件

cd /usr/local/alertmanager
./amtool check-config alertmanager.yml
提示Checking 'alertmanager.yml' SUCCESS 即表示配置文件格式正常埂奈。

4.創(chuàng)建Alertmanager啟動文件
cat > /usr/lib/systemd/system/alertmanager.service << 'EOF' 
[Unit]
Description=https://prometheus.io

[Service]
Restart=on-failure
ExecStart=/usr/local/alertmanager/alertmanager --config.file=/usr/local/alertmanager/alertmanager.yml

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl enable alertmanager.service --now
systemctl status alertmanager.service
可以通過瀏覽器訪問:http://IP:9093 即可訪問alertmanager迄损。

3.配置Prometheus與Alertmanager告警

1、配置Prometheus

cd /usr/local/prometheus
vi prometheus.yml

...
# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      - localhost:9093 #實際的alertmanager IP和端口
rule_files:
  - "rules/*.yml" #告警規(guī)則文件路徑
   #- "second_rules.yml"
...
2账磺、檢查Prometheus配置文件

cd /usr/local/prometheus
./promtool check config prometheus.yml
3芹敌、創(chuàng)建Prometheus rules目錄
cd /usr/local/prometheus
mkdir rules
創(chuàng)建節(jié)點狀態(tài)告警規(guī)則

cat > /usr/local/prometheus/rules/general.yml << 'EOF'
groups:
- name: general.rules
  rules:    
  - alert: InstanceDown
    expr: up == 0 # 表達(dá)式當(dāng)前被監(jiān)控實例服務(wù)(node_exporter)狀態(tài),1為正常垮抗,
    for: 10s # 告警持續(xù)時間10s 
    labels:
      severity: warning # 告警級別warning| error
    annotations:
      summary: "Instance {{ $labels.instance }} down"
      description: "{{ $labels.instance }} of job {{ $labels.job }} 已經(jīng)停止工作10秒鐘氏捞。"
EOF

檢查配置文件
./promtool check rules rules/general.yml
重啟prometheus
systemctl restart prometheus
瀏覽器訪問prometheushttp://IP:9090/rules 查看告警規(guī)則

圖片.png

Prometheus Alert (http://IP:9090/alerts)告警狀態(tài)有三種狀態(tài):Inactive、Pending冒版、Firing液茎。

  • Inactive:非活動狀態(tài),表示正在監(jiān)控辞嗡,但是還未有任何警報觸發(fā)捆等。
  • Pending:表示這個警報必須被觸發(fā)。由于警報可以被分組续室、壓抑/抑制或靜默/靜音栋烤,所以等待驗證,一旦所- 有的驗證都通過挺狰,則將轉(zhuǎn)到 Firing 狀態(tài)明郭。
  • Firing:將警報發(fā)送到 AlertManager买窟,它將按照配置將警報的發(fā)送給所有接收者。一旦警報解除达址,則將狀態(tài)轉(zhuǎn)到 Inactive蔑祟,如此循環(huán)趁耗。


    圖片.png

4.驗證郵件告警

驗證故障郵件告警沉唠,停止node_exporter.service
systemctl stop node_exporter.service

  • 停止服務(wù)后,等待 15s 左右可以看到 Prometheus target 里面 node-exproter 狀態(tài)為 unhealthy 狀態(tài)
  • 等待 15s 后苛败,alert 頁面由綠色 node-up (0 active) Inactive 狀態(tài)變成了黃色 node-up (1 active) Pending 狀態(tài)
  • 繼續(xù)等待 15s 后狀態(tài)變成紅色 Firing 狀態(tài)满葛,向 AlertManager 發(fā)送報警信息,此時 AlertManager 則按照配置規(guī)則向接受者發(fā)送郵件告警罢屈。

登錄郵箱查看告警信件:


圖片.png

恢復(fù)故障
systemctl start node_exporter.service

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末嘀韧,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子缠捌,更是在濱河造成了極大的恐慌锄贷,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件曼月,死亡現(xiàn)場離奇詭異谊却,居然都是意外死亡,警方通過查閱死者的電腦和手機哑芹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進(jìn)店門炎辨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人聪姿,你說我怎么就攤上這事碴萧。” “怎么了末购?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵破喻,是天一觀的道長。 經(jīng)常有香客問我盟榴,道長曹质,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任曹货,我火速辦了婚禮咆繁,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘顶籽。我一直安慰自己玩般,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布礼饱。 她就那樣靜靜地躺著坏为,像睡著了一般究驴。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上匀伏,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天洒忧,我揣著相機與錄音,去河邊找鬼够颠。 笑死熙侍,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的履磨。 我是一名探鬼主播蛉抓,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼剃诅!你這毒婦竟也來了巷送?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤矛辕,失蹤者是張志新(化名)和其女友劉穎笑跛,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體聊品,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡飞蹂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了杨刨。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片晤柄。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖妖胀,靈堂內(nèi)的尸體忽然破棺而出芥颈,到底是詐尸還是另有隱情,我是刑警寧澤赚抡,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布爬坑,位于F島的核電站,受9級特大地震影響涂臣,放射性物質(zhì)發(fā)生泄漏盾计。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一赁遗、第九天 我趴在偏房一處隱蔽的房頂上張望署辉。 院中可真熱鬧,春花似錦岩四、人聲如沸哭尝。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽材鹦。三九已至逝淹,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間桶唐,已是汗流浹背栅葡。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留尤泽,地道東北人欣簇。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像安吁,于是被迫代替她去往敵國和親醉蚁。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,611評論 2 353

推薦閱讀更多精彩內(nèi)容