日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

Alertmanager高可用

發(fā)布時間:2023/12/13 42 生活家
生活随笔 收集整理的這篇文章主要介紹了 Alertmanager高可用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Alertmanager高可用

日常部署alertmanager組件的時候,都是用的單點架構(gòu),架構(gòu)圖如下所示:

那么顯然這樣是存在單點故障的,另外對運維而言,其實單點故障是很可怕的,收不到報警有時候是致命的,所以要用高可用的報警方式:

alertmanager的高可用方式有兩種方法,都是很好的解決方案,第一種就是引入負(fù)載均衡,通過負(fù)載均衡的方法保證服務(wù)可用,架構(gòu)如下:

這種方式可以實現(xiàn)高可用 并且可以靈活擴展,云服務(wù)的話一般都有負(fù)載均衡。

今天主要介紹官方提供的集群方法,架構(gòu)如下:

Alertmanager引入了Gossip機制。Gossip機制為多個Alertmanager之間提供了信息傳遞的機制。確保及時在多個Alertmanager分別接收到相同告警信息的情況下,也只有一個告警通知被發(fā)送給Receiver。

集群環(huán)境搭建

為了能夠讓Alertmanager節(jié)點之間進行通訊,需要在Alertmanager啟動時設(shè)置相應(yīng)的參數(shù)。其中主要的參數(shù)包括:

--cluster.listen-address string: 當(dāng)前實例集群服務(wù)監(jiān)聽地址

--cluster.peer value: 初始化時關(guān)聯(lián)的其它實例的集群服務(wù)地址

現(xiàn)在準(zhǔn)備一臺機器部署Alertmanager集群

機器:
192.168.50.58   
這里我為了節(jié)約資源  在一臺機器啟三個實例。 
生產(chǎn)環(huán)境不建議都裝在一臺機器

定義Alertmanager實例01,其中Alertmanager的服務(wù)運行在9093端口,集群服務(wù)地址運行在8001端口。

定義Alertmanager實例02,其中主服務(wù)運行在9094端口,集群服務(wù)運行在8002端口。

定義Alertmanager實例03,其中主服務(wù)運行在9095端口,集群服務(wù)運行在8002端口。為了將01,02,03組成集群

02 03 啟動時需要定義—cluster.peer參數(shù)并且指向01實例的集群服務(wù)地址:8001。
實例 集群端口 服務(wù)端口
Alertmanager-01 8001 9093
Alertmanager-02 8002 9094
Alertmanager-03 8003 9095
[root@alert-manager-dev-1 src]# cd alertmanager
[root@alert-manager-dev-1 alertmanager]# ls
alert1.log  alert2.log  alert3.log  alertmanager  alertmanager.yml  amtool  data  LICENSE  NOTICE
[root@alert-manager-dev-1 alertmanager]# cat alertmanager.yml
global:
  resolve_timeout: 5m

route:
  group_by: ['alertname']
  group_wait: 10s
  group_interval: 10s
  repeat_interval: 1h
  receiver: 'wechat'
receivers:
- name: 'wechat'
  wechat_configs:
  - corp_id: 'ww10e9ec08a926549b'  #企業(yè)ID
    #to_user: ''   #userid
    to_user: ''   #組id
    agent_id: ''   #agentid
    api_secret: ''    #生成的secret
    send_resolved: true

- name: 'web.hook'
  webhook_configs:
  - url: 'http://192.168.50.58:5000/webhook'
inhibit_rules:
  - source_match:
      severity: 'critical'
    target_match:
      severity: 'warning'
    equal: ['alertname', 'dev', 'instance']

啟動實例01:

nohup ./alertmanager --web.listen-address=":9093" --cluster.listen-address="127.0.0.1:8001" --config.file="alertmanager.yml" --log.level=debug 2>&1 > alert1.log &

啟動實例02:

nohup ./alertmanager --web.listen-address=":9094" --cluster.listen-address="127.0.0.1:8002" --cluster.peer=127.0.0.1:8001 --config.file="alertmanager.yml" --storage.path=/data/0994/ --log.level=debug 2>&1 > alert2.log

啟動實例03:

nohup ./alertmanager --web.listen-address=":9095" --cluster.listen-address="127.0.0.1:8003" --cluster.peer=127.0.0.1:8001 --config.file="alertmanager.yml" --storage.path=/data/9095/ --log.level=debug 2>&1 > alert3.log &

修改Prometheus.yaml

alerting:
  alertmanagers:
  - static_configs:
    - targets:
      - 192.168.50.58:9093
      - 192.168.50.58:9094
      - 192.168.50.58:9095

重新加載Prometheus
curl -X POST http://localhost:9090/-/reload

完成后訪問任意Alertmanager節(jié)點http://localhost:9093/#/status,可以查看當(dāng)前Alertmanager集群的狀態(tài)。

到這里就完成了 之后可以測試告警。

總結(jié)

以上是生活随笔為你收集整理的Alertmanager高可用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。