AlertManagerはエンタープライズWeChatアラームを実現します
1.AlertManagerはエンタープライズWeChatをドッキングします
ALertManagerでサポートされているアラーム方式には、電子メールアラーム、Dingdingアラーム、WeChatアラームがあります。今回は、エンタープライズWeChatアラームが実装されます。
2.エンタープライズWeChat構成
2.1。エンタープライズWeChatを登録する
2.2。警報ロボットを作成する
[アプリケーション管理]で[アプリケーションの作成]をクリックします
2.3。部門を作成する
会社WeChatを登録した後、部門があります
2.4。構成に関する重要な情報を記録する
1.会社ID番号を書き留めます
私の会社では-下部に会社IDがあります
ww48f74fc8ed3a07ba
2.部門ID番号を記録します
部门id为1
3.ロボットIDとシークレットを記録します
AgentId:1000003
Secret:j3ocaGJJM7KejlqzBIJ38b6D6t9QhqlIAh7k4fA1cT0
アプリケーション管理でロボットを見つける
3.プロメテウスを構成します
3.1。統合されたalertmanager
1.修改配置文件
[root@prometheus-server ~]# vim /data/prometheus/prometheus.yml
alerting:
alertmanagers:
- static_configs:
- targets:
- 192.168.81.210:9093
2.加载配置
[root@prometheus-server ~]# curl -XPOST 192.168.81.210:9090/-/reload
3.2。ディスクアラームのアラームルールを作成する
1.添加规则
[root@prometheus-server ~]# vim /data/prometheus/rules/node.yml
groups:
- name: node.rules
rules:
- alert: NodeFilessystemUsage
expr: 100 - (node_filesystem_free_bytes{fstype=~"ext4|xfs",mountpoint="/"} / node_filesystem_size_bytes{fstype=~"ext4|xfs",mountpoint="/"} *100) > 80
for: 1m
labels:
serverity: warning
annotations:
summary: "主机 {
{ $labels.instance }} : {
{ $labels.mountpoint }} 磁盘使用率过高"
description: "{
{ $labels.instance }} : {
{ $labels.mountpoint }} 磁盘使用率超过80% (当前值: {
{ $value }}) "
2.加载配置
[root@prometheus-server ~]# curl -XPOST 192.168.81.210:9090/-/reload
4.WeChatアラームをサポートするようにalertmanagerを構成します
4.1。メイン構成ファイルを変更してWeChatアラームを追加します
プロフィール紹介
receivers:
- name: 'wechat' //定义接收者名称
wechat_configs: //使用微信配置
- corp_id: 'ww48f74fc8ed3a07ba' //填写企业id
to_party: '1' //部门id
agent_id: '1000003' //机器人应用id
api_secret: 'j3ocaGJJM7KejlqzBIJ38b6D6t9QhqlIAh7k4fA1cT0' //机器人api secret值
send_resolved: true
1.修改配置文件
[root@prometheus-server ~]# vim /data/alertmanager/alertmanager.yml
global:
resolve_timeout: 5m
templates: #定义微信告警内容模板
- '/data/alertmanager/wechat.tmpl'
route:
group_by: ['alertname']
group_wait: 10s
group_interval: 10s
repeat_interval: 10m
receiver: 'wechat'
receivers:
- name: 'wechat'
wechat_configs:
- corp_id: 'ww48f74fc8ed3a07ba'
to_party: '1'
agent_id: '1000003'
api_secret: 'j3ocaGJJM7KejlqzBIJ38b6D6t9QhqlIAh7k4fA1cT0'
send_resolved: true
4.2.WeChatアラートコンテンツテンプレートを作成する
[root@prometheus-server ~]# vim /data/alertmanager/wechat.tmpl
{
{ define "wechat.default.message" }}
{
{ range $i, $alert :=.Alerts }}
========监控报警==========
告警状态:{
{ .Status }}
告警级别:{
{ $alert.Labels.severity }}
告警类型:{
{ $alert.Labels.alertname }}
告警应用:{
{ $alert.Annotations.summary }}
告警主机:{
{ $alert.Labels.instance }}
告警详情:{
{ $alert.Annotations.description }}
触发阀值:{
{ $alert.Annotations.value }}
告警时间:{
{ $alert.StartsAt.Format "2006-01-02 15:04:05" }}
========end=============
{
{ end }}
{
{ end }}
5.ディスクアラームをトリガーします
アラームをトリガーするために作成したアラームルールのしきい値を調整し、しきい値を10に変更します
[root@prometheus-server ~]# vim /data/prometheus/rules/node.yml
groups:
- name: node.rules
rules:
- alert: NodeFilessystemUsage
expr: 100 - (node_filesystem_free_bytes{fstype=~"ext4|xfs",mountpoint="/"} / node_filesystem_size_bytes{fstype=~"ext4|xfs",mountpoint="/"} *100) > 10
for: 1m
labels:
serverity: warning
annotations:
summary: "主机 {
{ $labels.instance }} : {
{ $labels.mountpoint }} 磁盘使用率过高"
description: "{
{ $labels.instance }} : {
{ $labels.mountpoint }} 磁盘使用率超过80% (当前值: {
{ $value }}) "
トリガーされ、アラームが送信されました
FIRINGステータスは、問題が発生し、アラームが送信されたことを示します
6.WeChatアラートメッセージを表示する
6.1。問題が発生したときのアラーム
3つのノードノードがあるため、それらはすべて同じアラートメッセージに送信されます
アラームステータスが発生している場合は、問題が発生しており、解決されていないことを意味します。
6.2。問題解決のためのアラーム
アラームステータスが解決されると、問題は解決され、通常の状態に戻ります。
警告メッセージは非常に豊富で、特に詳細です
6.WeChatアラートメッセージを表示する
6.2。問題解決のためのアラーム
アラームステータスが解決されると、問題は解決され、通常の状態に戻ります。
警告メッセージは非常に豊富で、特に詳細です