部署AlertManager


部署Alertmanager

Alertmanager和Prometheus Server一樣均采用Golang實現,並且沒有第三方依賴。一般來說我們可以通過以下幾種方式來部署Alertmanager:二進制包、容器以及源碼方式安裝。

使用二進制包部署AlertManager

獲取並安裝軟件包

Alertmanager最新版本的下載地址可以從Prometheus官方網站https://prometheus.io/download/獲取。

curl -LO https://github.com/prometheus/alertmanager/releases/download/v0.21.0/alertmanager-0.21.0.linux-amd64.tar.gz
tar xvf alertmanager-0.21.0.linux-amd64.tar.gz

創建alertmanager配置文件

Alertmanager解壓后會包含一個默認的alertmanager.yml配置文件,內容如下所示:

global:
  resolve_timeout: 5m
route:
  group_by: ['alertname']
  group_wait: 10s
  group_interval: 10s
  repeat_interval: 1h
  receiver: 'web.hook'
receivers:
- name: 'web.hook'
  webhook_configs:
  - url: 'http://127.0.0.1:5001/'
inhibit_rules:
  - source_match:
      severity: 'critical'
    target_match:
      severity: 'warning'
    equal: ['alertname', 'dev', 'instance']

Alertmanager的配置主要包含兩個部分:路由(route)以及接收器(receivers)。所有的告警信息都會從配置中的頂級路由(route)進入路由樹,根據路由規則將告警信息發送給相應的接收器。

在Alertmanager中可以定義一組接收器,比如可以按照角色(比如系統運維,數據庫管理員)來划分多個接收器。接收器可以關聯郵件,Slack以及其它方式接收告警信息。

當前配置文件中定義了一個默認的接收者default-receiver由於這里沒有設置接收方式,目前只相當於一個占位符。

在配置文件中使用route定義了頂級的路由,路由是一個基於標簽匹配規則的樹狀結構。所有的告警信息從頂級路由開始,根據標簽匹配規則進入到不同的子路由,並且根據子路由設置的接收器發送告警。目前配置文件中只設置了一個頂級路由route並且定義的接收器為default-receiver。因此,所有的告警都會發送給default-receiver。

啟動Alertmanager

Alermanager會將數據保存到本地中,默認的存儲路徑為data/。因此,在啟動Alertmanager之前需要創建相應的目錄:

./alertmanager

用戶也在啟動Alertmanager時使用參數修改相關配置。--config.file用於指定alertmanager配置文件路徑,--storage.path用於指定數據存儲路徑。

查看運行狀態

Alertmanager啟動后可以通過9093端口訪問,http://192.168.75.21:9093


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM