成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

基于Prometheus和Grafana的監(jiān)控平臺之運維告警

安全 應用安全
通過前面的文章我們搭建好了監(jiān)控環(huán)境并且監(jiān)控了服務器、數(shù)據(jù)庫、應用,運維人員可以實時了解當前被監(jiān)控對象的運行情況,但是他們不可能通過坐在電腦邊上盯著DashBoard來發(fā)現(xiàn)服務器或應用異常。

[[360999]]

本文轉(zhuǎn)載自微信公眾號「JAVA日知錄」,作者單一色調(diào) 。轉(zhuǎn)載本文請聯(lián)系JAVA日知錄公眾號。  

通過前面的文章我們搭建好了監(jiān)控環(huán)境并且監(jiān)控了服務器、數(shù)據(jù)庫、應用,運維人員可以實時了解當前被監(jiān)控對象的運行情況,但是他們不可能通過坐在電腦邊上盯著DashBoard來發(fā)現(xiàn)服務器或應用異常。

這就要求我們需要一個告警功能,當服務器或應用指標異常時發(fā)送告警,通過郵件或者短信的形式告訴運維人員及時處理。

今天我們就來聊聊 基于Prometheus和Grafana的監(jiān)控平臺的異常告警功能。

告警方式Grafana

新版本的Grafana已經(jīng)提供了告警配置,直接在dashboard監(jiān)控panel中設置告警即可,但是我用過后發(fā)現(xiàn)其實并不靈活,不支持變量,而且好多下載的圖表無法使用告警,所以我們不選擇使用Grafana告警,而使用Alertmanager。

Alertmanager

相比于Grafana的圖形化界面,Alertmanager需要依靠配置文件實現(xiàn),配置稍顯繁瑣,但是勝在功能強大靈活。接下來我們就一步一步實現(xiàn)告警通知。

告警類型

Alertmanager告警主要使用以下兩種:

  • 郵件接收器 email_config
  • Webhook接收器 webhook_config,會用post形式向配置的url地址發(fā)送如下格式的參數(shù)。
  1. "version""2"
  2. "status""<resolved|firing>"
  3. "alerts": [{ 
  4.   "labels":  < object > , 
  5.   "annotations":  < object > , 
  6.   "startsAt""<rfc3339>"
  7.   "endsAt""<rfc3339>" 
  8.   }] 

「這次主要使用郵件的方式進行告警。」

實現(xiàn)步驟

  • 下載

從GitHub上下載最新版本的Alertmanager,將其上傳解壓到服務器上。tar -zxvf alertmanager-0.19.0.linux-amd64.tar.gz

  • 配置Alertmanager
  1. vi alertmanager.yml 
  2. global
  3.   resolve_timeout: 5m 
  4.   smtp_smarthost: 'mail.163.com:25' #郵箱發(fā)送端口 
  5.   smtp_from: 'xxx@163.com' 
  6.   smtp_auth_username: 'xxx@163.com' #郵箱賬號 
  7.   smtp_auth_password: 'xxxxxx' #郵箱密碼 
  8.   smtp_require_tls: false 
  9. route: 
  10.   group_by: ['alertname'
  11.   group_wait: 10s  # 最初即第一次等待多久時間發(fā)送一組警報的通知 
  12.   group_interval: 10s # 在發(fā)送新警報前的等待時間 
  13.   repeat_interval: 1h # 發(fā)送重復警報的周期 對于email配置中,此項不可以設置過低,否則將會由于郵件發(fā)送太多頻繁,被smtp服務器拒絕 
  14.   receiver: 'email' 
  15. receivers: 
  16.   - name'email' 
  17.     email_configs: 
  18.     - to'xxx@xxx.com' 

修改完成后可以使用 ./amtool check-config alertmanager.yml校驗文件是否正確。

校驗正確后啟動alertmanager。nohup ./alertmanager &。(第一次啟動可以不使用nohup靜默啟動,方便后面查看日志)

我們只定義了一個路由,那就意味著所有由Prometheus產(chǎn)生的告警在發(fā)送到Alertmanager之后都會通過名為 email的receiver接收。實際上,對于不同級別的告警,會有不同的處理方式,因此在route中,我們還可以定義更多的子Route。具體配置規(guī)則大家可以去百度進一步了解。

配置Prometheus

  • 在Prometheus安裝目錄下建立rules文件夾,放置所有的告警規(guī)則文件。
  1. alerting: 
  2.   alertmanagers: 
  3.   - static_configs: 
  4.     - targets: ['192.168.249.131:9093'
  5.  
  6. rule_files: 
  7.   - rules/*.yml 

在rules文件夾下建立告警規(guī)則文件 service_down.yml,當服務器下線時發(fā)送郵件。

  1. groups: 
  2.  - name: ServiceStatus 
  3.    rules: 
  4.      - alert: ServiceStatusAlert 
  5.        expr: up == 0   
  6.        for: 2m  
  7.        labels: 
  8.          team: node 
  9.        annotations: 
  10.          summary: "Instance {{ $labels.instance }} has bean down" 
  11.          description: "{{ $labels.instance }} of job {{ $labels.job }} has been down for more than 2 minutes." 
  12.          value: "{{ $value }}" 

「配置詳解」

alert:告警規(guī)則的名稱。

expr:基于PromQL表達式告警觸發(fā)條件,用于計算是否有時間序列滿足該條件。

for:評估等待時間,可選參數(shù)。用于表示只有當觸發(fā)條件持續(xù)一段時間后才發(fā)送告警。在等待期間新產(chǎn)生告警的狀態(tài)為PENDING,等待期后為FIRING。

labels:自定義標簽,允許用戶指定要附加到告警上的一組附加標簽。

annotations:用于指定一組附加信息,比如用于描述告警詳細信息的文字等,annotations的內(nèi)容在告警產(chǎn)生時會一同作為參數(shù)發(fā)送到Alertmanager。

配置完成后重啟Prometheus,訪問Prometheus查看告警配置。

  • 測試

關(guān)閉node_exporter,過2分鐘就可以收到告警郵件啦,截圖如下:Alertmanager的告警內(nèi)容支持使用模板配置,可以使用好看的模板進行渲染,感興趣的可以試試!

The More

node exporter的一些計算語句

  • CPU使用率(單位為percent)
  1. (avg by (instance) (irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) 
  • 內(nèi)存已使用(單位為bytes)
  1. node_memory_MemTotal_bytes - node_memory_MemFree_bytes - node_memory_Cached_bytes - node_memory_Buffers_bytes - node_memory_Slab_bytes 
  • 內(nèi)存使用量(單位為bytes/sec)
  1. node_memory_MemTotal_bytes - node_memory_MemFree_bytes - node_memory_Cached_bytes - node_memory_Buffers_bytes - node_memory_Slab_bytes 
  • 內(nèi)存使用率(單位為percent)
  1. ((node_memory_MemTotal_bytes - node_memory_MemFree_bytes - node_memory_Cached_bytes - node_memory_Buffers_bytes - node_memory_Slab_bytes)/node_memory_MemTotal_bytes) * 100 
  • server1的內(nèi)存使用率(單位為percent)
  1. ((node_memory_MemTotal_bytes{instance="server1"} - node_memory_MemAvailable_bytes{instance="server1"})/node_memory_MemTotal_bytes{instance="server1"}) * 100 
  • server2的磁盤使用率(單位為percent)

 

  1. ((node_filesystem_size_bytes{fstype=~"xfs|ext4",instance="server2"} - node_filesystem_free_bytes{fstype=~"xfs|ext4",instance="server2"}) / node_filesystem_size_bytes{fstype=~"xfs|ext4",instance="server2"}) * 100 
  • uptime時間(單位為seconds)
  1. time() - node_boot_time 
  • server1的uptime時間(單位為seconds)
  1. time() - node_boot_time_seconds{instance="server1"
  • 網(wǎng)絡流出量(單位為bytes/sec)
  1. irate(node_network_transmit_bytes_total{device!~"lo|bond[0-9]|cbr[0-9]|veth.*"}[5m]) > 0 
  • server1的網(wǎng)絡流出量(單位為bytes/sec)
  1. irate(node_network_transmit_bytes_total{instance="server1", device!~"lo|bond[0-9]|cbr[0-9]|veth.*"}[5m]) > 0 
  • 網(wǎng)絡流入量(單位為bytes/sec)
  1. irate(node_network_receive_bytes_total{device!~"lo|bond[0-9]|cbr[0-9]|veth.*"}[5m]) > 0 
  • server1的網(wǎng)絡流入量(單位為bytes/sec)
  1. irate(node_network_receive_bytes_total{instance="server1", device!~"lo|bond[0-9]|cbr[0-9]|veth.*"}[5m]) > 0 
  • 磁盤讀取速度(單位為bytes/sec)
  1. irate(node_disk_read_bytes_total{device=~"sd.*"}[5m]) 

 

責任編輯:武曉燕 來源: AVA日知錄
相關(guān)推薦

2023-10-11 09:58:07

2020-12-30 08:09:46

運維Prometheus 監(jiān)控

2020-12-29 10:45:22

運維Prometheus-監(jiān)控

2023-12-28 18:40:42

2020-12-28 10:13:32

運維Prometheus監(jiān)控

2020-11-20 08:15:40

Grafana + P

2022-07-29 21:23:54

Grafana微服務

2021-07-07 05:46:46

運維監(jiān)控Prometheus

2019-03-19 08:41:38

Linux運維變更

2020-12-17 09:25:46

運維Prometheus監(jiān)控

2021-07-01 11:29:45

KubernetesGrafana監(jiān)控

2022-02-23 08:00:00

開發(fā)DevOps技術(shù)

2023-12-27 18:05:13

2023-04-26 00:01:04

2022-07-11 13:43:51

Prometheus監(jiān)控

2020-06-30 08:08:25

k8s監(jiān)控

2021-06-21 08:59:55

監(jiān)控Netflix優(yōu)化

2021-06-21 08:30:14

Netflix監(jiān)控系統(tǒng)微服務

2014-07-22 10:06:43

運維監(jiān)控虛擬化

2019-03-15 10:13:10

運維云計算運營
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲国产一区二区三区 | 黑色丝袜三级在线播放 | 欧美一区二区三区视频 | 亚洲人成人一区二区在线观看 | 一区二区三区av | 中文字幕高清av | 韩国av网站在线观看 | www九色| 欧美一区二区三区日韩 | 一区二区免费 | 亚洲黄色在线 | 另类专区成人 | 91麻豆精品国产91久久久更新资源速度超快 | 九九热在线免费观看 | 一级国产精品一级国产精品片 | 免费午夜视频 | 色综合99| 六月婷婷久久 | 国产欧美在线观看 | 精品视频一区二区三区在线观看 | 黄色大片免费网站 | 蜜桃精品噜噜噜成人av | 美日韩免费 | 亚洲在线免费观看 | 在线一区视频 | 久久久青草婷婷精品综合日韩 | 大香在线伊779 | 特级丰满少妇一级aaaa爱毛片 | 特级黄一级播放 | 亚洲va在线va天堂va狼色在线 | 成人一区二区在线 | 网站黄色av | 麻豆av一区二区三区久久 | 日韩精品 | 久久精品久久久 | 97色在线视频 | 91在线一区二区三区 | 亚洲国产精品一区二区第一页 | 久久久久久国产一区二区三区 | 成人av免费| 韩国精品在线观看 |