プロメテウスの研究ノート(6)のAlertManager警報

A、のAlertManagerプロフィール

プロメテウス収集、プラットフォームの分割であり、メトリックが分離されているアラームを格納する、アラームは、監視環境の別の部分でのAlertManagerの責任です。アラートルールがプロメテウスサーバーで定義され、これらのルールは、各アラートにコピーのような問題に対処するに対処する方法を決定し、アラートを送信するときに使用するどのようなメカニズムを決めるのAlertManager、その後、時間をトリガし、その後のAlertManagerに普及することができます:インスタントメッセージング、電子メールまたは他の爪、マイクロ文字やその他のツール。

二、のAlertManager展開

AlertManagerデフォルトのリスニングポート9093、ポートクラスタの答え9094。

# 下载
[root@prometheus ~]# wget https://github.com/prometheus/alertmanager/releases/download/v0.20.0-rc.0/alertmanager-0.20.0-rc.0.linux-amd64.tar.gz

# 解压
[root@prometheus ~]# tar -zxf alertmanager-0.20.0-rc.0.linux-amd64.tar.gz -C /usr/local/
[root@prometheus ~]# mv /usr/local/alertmanager-0.20.0-rc.0.linux-amd64 /usr/local/alertmanager-0.20.0
[root@prometheus ~]# ln -sv /usr/local/alertmanager-0.20.0 /usr/local/alertmanager

# 运行
[root@prometheus ~]# ln -sv /usr/local/alertmanager/alertmanager /usr/local/bin/
[root@prometheus ~]# alertmanager &
[root@prometheus ~]# netstat -tulnp |grep alert
tcp6       0      0 :::9093                 :::*                    LISTEN      41194/alertmanager  
tcp6       0      0 :::9094                 :::*                    LISTEN      41194/alertmanager  
udp6       0      0 :::9094                 :::*                                41194/alertmanager  

HTTPをご覧ください:// :次のように9093のAlertManagerは、Webインターフェイスにアクセスします。

三、のAlertManagerの設定

AlertManagerは、ファイルパスの不一致アラームルールを指定するアラームプロメテウスのサーバーノードを、配置され、そのうちの一つ二つの場所に配置され、それ自体のAlertManager監視します。alertmanager.ymlで構成された独自の設定のAlertManager別の直接設定、。

[root@prometheus alertmanager]# cat /usr/local/prometheus/prometheus.yml 
...

# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets:
        - 192.168.0.143:9093    #配置alertmanager节点列表

rule_files:
   - "rules/*_rules.yml"    #指定规则文件
#   - "rules/*_alert.yml"

scrape_configs:
......

  - job_name: 'alertmanager'    #指定监控任务alertmanager
    static_configs:
    - targets: ['192.168.0.143:9093']

添加が完了した後、次のように、ウェブエンドプロメテウスサーバーは、のAlertManagerにターゲットのリストを表示することができます。

設定さprometheus.ymlたら、デフォルトのプレゼンテーションalertmanager.ymlを見ては、次の通り:

[root@prometheus alertmanager]# cat alertmanager.yml 
global:
  resolve_timeout: 5m    #处理超时时间,默认为5min

route:
  group_by: ['alertname']    # 报警分组依据
  group_wait: 10s    # 最初即第一次等待多久时间发送一组警报的通知
  group_interval: 10s    # 在发送新警报前的等待时间
  repeat_interval: 1h    # 发送重复警报的周期 对于email配置中,此项不可以设置过低,否则将会由于邮件发送太多频繁,被smtp服务器拒绝
  receiver: 'web.hook'    # 发送警报的接收者的名称,以下receivers name的名称

receivers:
- name: 'web.hook'    # 警报
  webhook_configs:    # webhook配置
  - url: 'http://192.168.0.143:5001/'

inhibit_rules:    # 一个inhibition规则是在与另一组匹配器匹配的警报存在的条件下,使匹配一组匹配器的警报失效的规则。两个警报必须具有一组相同的标签。 
  - source_match:
      severity: 'critical'
    target_match:
      severity: 'warning'
    equal: ['alertname', 'dev', 'instance']
  • グローバル:グローバルアラームが解決した後にタイムアウトを含む構成、SMTPの設定、様々なチャネルのAPIアドレスなどを通知。

  • ルート:配布ポリシーがアラームを設定するために使用され、左から右へ順にツリー構造、深さ、最初の一致です。

  • 受信機:このような従来の電子メール、微信、スラックとして設定アラームメッセージの受信者情報は、他のメッセージ通知モードをウェブフック。

  • inhibit_rules:抑制ルールの設定、一致、抑制ルール無効アラームおよび(ターゲット)と一致するのセットの別のセットに警報(ソース)があります。

おすすめ

転載: www.cnblogs.com/linuxk/p/12036193.html