中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

監控利器-Prometheus安裝與部署+實現郵箱報警

發布時間:2020-04-08 10:34:04 來源:網絡 閱讀:1308 作者:wx5b9c94b17c62a 欄目:云計算

Prometheus(普羅米修斯)監控

環境準備:

三臺docker主機(centos7):
docker01:172.16.1.30
部署服務:Prometheus server,Grafana,Node Exporter,cAdvrisor
docker02:172.16.1.31
部署服務:Node Exporter,cAdvrisor
docker03:172.16.1.32
部署服務:Node Exporter,cAdvrisor

注意:因為是測試環境,所以暫時關閉防火墻,禁用selinux,如果是對外網發布的服務器,不可以關閉防火墻,可以設置firewalld及iptables規則。


  • Prometheus server:普羅米修斯的主服務器,監聽端口:9090
  • Node Exporter:收集Host硬件和操作系統的信息,監聽端口:9100
  • vAdvrisor:負責收集Host上運行的container信息,監聽端口:8080
  • Grafana:用來展示普羅米修斯監控操作界面。

項目操作:

1,部署Node Export(收集dockerhost信息)
#三臺dockerhost都需要依次部署:

(1)下載鏡像prom/node-exporter鏡像:
[root@sqm-docker02 ~]# docker pull prom/node-exporter
(2)運行Node Exporter容器(掛載系統目錄)
[root@sqm-docker02 ~]#  docker run -d -p 9100:9100 -v /proc:/host/proc -v /sys:/host/sys -v /:/rootfs --net=host prom/node-exporter --path.procfs /host/proc --path.sysfs /host/sys --collector.filesystem.ignored-mount-points "^/(sys|proc|dev|host|etc)($|/)"

監控利器-Prometheus安裝與部署+實現郵箱報警

  • 參數--net=host:這樣Prometheus server可以直接與Node Exporter通信

#查看容器是否正常運行:
監控利器-Prometheus安裝與部署+實現郵箱報警

三臺都部署完成后,登錄web網頁進入驗證:
輸入URL(三臺主機的都可以):http://172.16.1.30:9100/
監控利器-Prometheus安裝與部署+實現郵箱報警
監控利器-Prometheus安裝與部署+實現郵箱報警

進來以后,可以看到信息全是代碼,非常的不友好,因為我們還沒有部署圖形化(Grafana)。


2,部署cAdvisor(收集container信息)
#依次在三臺dockerhost上分別部署

(1)下載google/cadvisor鏡像
[root@sqm-docker01 ~]# docker pull google/cadvisor
(2)運行cAdvisor鏡像:
[root@sqm-docker01 ~]# docker run -v /:/rootfs:ro -v /var/run:/var/run:rw -v /sys:/sys:ro -v /var/lib/docker:/var/lib/docker:ro -p 8080:8080 --detach=true --name=cadvisor --net=host google/cadvisor

監控利器-Prometheus安裝與部署+實現郵箱報警

//查看容器是否正常運行:
監控利器-Prometheus安裝與部署+實現郵箱報警

登陸web網頁驗證:
URL:http://172.16.1.30:8080
監控利器-Prometheus安裝與部署+實現郵箱報警
監控利器-Prometheus安裝與部署+實現郵箱報警
可以檢測到dockerhost的各種信息。


3,部署Prometheus server:(普羅米修斯的主服務)
只部署在docker01上:

(1)下載Prometheus鏡像:
[root@sqm-docker01 ~]# docker pull prom/prometheus
(2)獲取普羅米修斯的配置文件,先運行一個基于普羅米修斯的鏡像:
[root@sqm-docker01 ~]# docker run -d -p 9090:9090 --name  prometheus --net=host prom/prometheus
(3)拷貝prometheus容器內配置文件到當前目錄下:
[root@sqm-docker01 ~]#  docker cp prometheus:/etc/prometheus/prometheus.yml /root/
修改該.yml文件:
[root@sqm-docker01 ~]# vim prometheus.yml 

添加本機和另外兩臺docker主機上服務的監控地址:端口

監控利器-Prometheus安裝與部署+實現郵箱報警

(4)刪除剛剛創建的Prometheus容器(只為拷貝配置文件)

[root@sqm-docker01 ~]# docker stop prometheus 
[root@sqm-docker01 ~]# docker rm prometheus 
(5)運行一個Prometheus容器:
[root@sqm-docker01 ~]# docker run -d -p 9090:9090 -v /root/prometheus.yml:/etc/prometheus/prometheus.yml --name prometheus --net=host prom/prometheus

//查看容器是否正常運行:
監控利器-Prometheus安裝與部署+實現郵箱報警

登陸Prometheus web頁面:
URL:http://172.16.1.30:9090
監控利器-Prometheus安裝與部署+實現郵箱報警
監控利器-Prometheus安裝與部署+實現郵箱報警

確保監控到剛剛配置文件中添加三臺dockerhost的主機及端口,并且狀態為up。


4,部署Grafana:(提供友好的圖形化界面)
在Prometheus server上進行部署:

(1)下載Grafana鏡像:
[root@sqm-docker01 ~]# docker pull grafana/grafana

監控利器-Prometheus安裝與部署+實現郵箱報警

(2)運行Grafana:(設置登陸密碼為123.com)
[root@sqm-docker01 ~]# mkdir grafana-storage
[root@sqm-docker01 ~]# chmod 777 -R grafana-storage/
[root@sqm-docker01 ~]# docker run -d -p 3000:3000 --name grafana -v /root/grafana-storage:/var/lib/grafana -e "GF_SECURITY_ADMIN_PASSWORD=123.com" grafana/grafana

監控利器-Prometheus安裝與部署+實現郵箱報警
如果出現以上報錯,需要重新加載進程,并且重啟docker服務。
監控利器-Prometheus安裝與部署+實現郵箱報警
確保容器已經運行:
監控利器-Prometheus安裝與部署+實現郵箱報警
訪問web界面(圖形化):
URL:http://172.16.1.30:3000
默認用戶名:admin 密碼:123.com
監控利器-Prometheus安裝與部署+實現郵箱報警
登陸界面如下:
監控利器-Prometheus安裝與部署+實現郵箱報警

(3)接下來我們在圖形化web界面上進行部署:
點擊首頁上名稱為“add data source”圖標---------->選擇“Prometheus”點擊進入到以下界面
監控利器-Prometheus安裝與部署+實現郵箱報警
監控利器-Prometheus安裝與部署+實現郵箱報警

設置成功后,接下來進入Grafana的官網: https://grafana.com/
下載監控模板
監控利器-Prometheus安裝與部署+實現郵箱報警
監控利器-Prometheus安裝與部署+實現郵箱報警
監控利器-Prometheus安裝與部署+實現郵箱報警
監控利器-Prometheus安裝與部署+實現郵箱報警
監控利器-Prometheus安裝與部署+實現郵箱報警
下載成功后,回到Grafana管理的圖形化界面。
點擊導入剛剛下載的josn文件:

監控利器-Prometheus安裝與部署+實現郵箱報警
監控利器-Prometheus安裝與部署+實現郵箱報警
監控利器-Prometheus安裝與部署+實現郵箱報警
導入成功后,可以看到以下監控界面:
監控利器-Prometheus安裝與部署+實現郵箱報警
當然你也可以導入其他模板,可以在剛才的官網上下載其他模板。
監控利器-Prometheus安裝與部署+實現郵箱報警


3,實現Prometheus郵箱報警:

肯定是在Prometheus server進行部署啦

(1)下載Alertmanager告警鏡像
[root@sqm-docker01 ~]# docker pull prom/alertmanager

監控利器-Prometheus安裝與部署+實現郵箱報警

(2)運行alertmanager:
[root@sqm-docker01 ~]#  docker run --name alertmanager -d -p 9093:9093 prom/alertmanager

測試能否訪問web界面:
URL:http://172.16.1.30:9093/
監控利器-Prometheus安裝與部署+實現郵箱報警
(3)拷貝它配置文件:
如果不知道它的配置文件路徑,則需要進入容器進行查看:
監控利器-Prometheus安裝與部署+實現郵箱報警
[root@sqm-docker01 ~]# docker cp alertmanager:/etc/alertmanager/alertmanager.yml /root/

刪除剛剛創建的容器:(只為了拷貝配置文件)

[root@sqm-docker01 ~]# docker stop alertmanager 
[root@sqm-docker01 ~]# docker rm alertmanager
修改該.yml配置文件:
[root@sqm-docker01 ~]# vim alertmanager.yml 

設置實現報警的郵箱信息:
監控利器-Prometheus安裝與部署+實現郵箱報警

注意:上面定義的smtp郵件協議,qq郵箱是465,如果填寫的是其他郵箱,則需要填寫相對應的smtp端口號。

  • 配置項解釋:
  • global: 全局配置。報警策略,報警渠道等。
  • route: 分發策略。
  • receivers: 接收者。
  • inhibit_rules: 抑制策略。當存與另一組匹配的警報,抑制規則將禁止與一組匹配的警報。
(4)重新運行容器:
[root@sqm-docker01 ~]# docker run -d --name alertmanager  -p 9093:9093  -v /root/alertmanager.yml:/etc/alertmanager/alertmanager.yml prom/alertmanager

//確保容器正常運行:
監控利器-Prometheus安裝與部署+實現郵箱報警

(5)設置Alertmanager報警規則:
[root@sqm-docker01 ~]# mkdir -p prometheus/rules
[root@sqm-docker01 ~]# cd prometheus/rules/
編寫規則文件:
[root@sqm-docker01 rules]# vim node-up.rules 

監控利器-Prometheus安裝與部署+實現郵箱報警

以上是自己自定義編寫的,當然也可以登陸Prometheus官網,搜索規則模板進行編寫:
監控利器-Prometheus安裝與部署+實現郵箱報警
監控利器-Prometheus安裝與部署+實現郵箱報警

//接下來修改普羅米修斯配置文件:
[root@sqm-docker01 ~]# vim prometheus.yml

監控利器-Prometheus安裝與部署+實現郵箱報警

刪除剛剛運行的普羅米修斯容器:
[root@sqm-docker01 ~]# docker stop prometheus 
prometheus
[root@sqm-docker01 ~]# docker rm prometheus 
prometheus
//需要重新運行容器,將規則目錄掛載到容器中:
[root@sqm-docker01 ~]# docker run -d -p 9090:9090 -v /root/prometheus.yml:/etc/prometheus/prometheus.yml -v /root/prometheus/rules:/usr/local/prometheus/rules --name prometheus --net=host prom/prometheus

確保容器正常運行后,登陸網頁進行查看:
監控利器-Prometheus安裝與部署+實現郵箱報警
確保能夠看到剛才編寫的規則。


(6)測試郵箱報警:
接下來模擬其中一臺主機上的某個服務宕機掉,驗證qq郵箱是否能夠收到郵件:

[root@sqm-docker01 ~]# docker stop cadvisor 
cadvisor

登陸Prometheus界面可以看到該服務down:
監控利器-Prometheus安裝與部署+實現郵箱報警
監控利器-Prometheus安裝與部署+實現郵箱報警
當服務宕機后,郵箱收到該報警郵件,提示為“FIRING”


如果當你的服務又恢復了正常運行,依然后觸發報警規則,會給你發送郵件,提示容器已修復“RESOLVED”(如下圖)
監控利器-Prometheus安裝與部署+實現郵箱報警

(7)搭建報警信息模板:

[root@sqm-docker01 ~]# mkdir alertmanager-tmpl
[root@sqm-docker01 ~]# cd alertmanager-tmpl/
[root@sqm-docker01 alertmanager-tmpl]# vim email.tmpl

編寫模板腳本:(填寫報警的qq郵箱)
{{ define "email.from" }}1234567890@qq.com{{ end }}
{{ define "email.to" }}1234567890@qq.com{{ end }}
{{ define "email.to.html" }}
{{ range .Alerts }}
=========start==========<br>
告警程序: prometheus_alert<br>
告警級別: {{ .Labels.severity }} 級<br>
告警類型: {{ .Labels.alertname }}<br>
故障主機: {{ .Labels.instance }}<br>
告警主題: {{ .Annotations.summary }}<br>
觸發時間: {{ .StartsAt.Format "2019-08-04 16:58:15" }} <br>
=========end==========<br>
{{ end }}
{{ end }}

//修改alertmanager配置文件:
[root@sqm-docker01 ~]# vim alertmanager.yml

#注意縮進:
監控利器-Prometheus安裝與部署+實現郵箱報警
監控利器-Prometheus安裝與部署+實現郵箱報警

//刪除原來的容器:
[root@sqm-docker01 ~]# docker stop alertmanager 
 [root@sqm-docker01 ~]# docker rm alertmanager
//重新運行容器(重新掛載文件)
[root@sqm-docker01 ~]# docker run -d --name alertmanager -p 9093:9093 -v /root/alertmanager.yml:/etc/alertmanager/alertmanager.yml -v /root/prometheus/alertmanager-tmpl:/etc/alertmanager-tmpl prom/alertmanager

確保容器已正常運行:
監控利器-Prometheus安裝與部署+實現郵箱報警

接下來停掉一個容器,模擬宕機:
監控利器-Prometheus安裝與部署+實現郵箱報警
狀態為down:
監控利器-Prometheus安裝與部署+實現郵箱報警

//qq郵箱收到報警郵件:
監控利器-Prometheus安裝與部署+實現郵箱報警
//同樣的,如果當你的服務恢復了正常運行后,也會發送報警郵件:
監控利器-Prometheus安裝與部署+實現郵箱報警
至此普羅米修斯監控部署完畢,并且成功實現郵箱報警。。。

———————— 本文至此結束,感謝閱讀 ————————

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

讷河市| 双城市| 克拉玛依市| 宝坻区| 浙江省| 全南县| 霍林郭勒市| 乌兰察布市| 西丰县| 彰化县| 罗源县| 黔西| 湖口县| 侯马市| 浦县| 灵武市| 嘉荫县| 濉溪县| 小金县| 凤山市| 且末县| 吴忠市| 霍城县| 弥渡县| 鸡泽县| 阳泉市| 获嘉县| 新津县| 商水县| 海安县| 云和县| 翼城县| 泾源县| 彭泽县| 隆化县| 屏边| 冷水江市| 万年县| 白沙| 伊金霍洛旗| 铜川市|