日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
Prometheus的搭建部署

一.Prometheus介紹
Prometheus 是最早由 SoundCloud 開(kāi)源的監(jiān)控告警解決方案。并已經(jīng)成長(zhǎng)為繼 Kubernetes 之后,第二個(gè)從 CNCF 畢業(yè)的項(xiàng)目。伴隨著云原生理念的普及和 Kubernetes 等技術(shù)的發(fā)展, Prometheus 在監(jiān)控領(lǐng)域也有了長(zhǎng)足的發(fā)展。其主要組件包括 Prometheus,Alertmanager,Node Exporter,Blackbox Exporter 和 Pushgateway 等。

衛(wèi)濱網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)公司2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專(zhuān)注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。

Prometheus特點(diǎn):

  1. 實(shí)時(shí)監(jiān)控。提供硬件和軟件的運(yùn)行狀態(tài)展示
  2. 告警。符合預(yù)設(shè)告警閾值則通過(guò)多種方式發(fā)送告警信息
  3. 輔助決策。大數(shù)據(jù)監(jiān)控不僅提供實(shí)時(shí)狀態(tài)展現(xiàn),更能幫助故障回溯和預(yù)測(cè)風(fēng)險(xiǎn)

Prometheus的搭建部署

二.Prometheus部署
轉(zhuǎn)載:https://blog.gmem.cc/prometheus-study-note
1.安裝環(huán)境:
server1:centos7.6 主節(jié)點(diǎn) 190.168.3.250
server2:centos7.6 節(jié)點(diǎn)1 190.168.3.251

為您的平臺(tái)下載最新版本的Prometheus,然后解壓縮并運(yùn)行它:

https://prometheus.io/download/

https://prometheus.io/docs/prometheus/latest/getting_started/

2.二進(jìn)制安裝
tar xvfz prometheus-2.15.0.linux-amd64.tar.gz
cd prometheus-2.15.0.linux-amd64
mv prometheus-2.15.0.linux-amd64 /usr/local/prometheus

啟動(dòng)
./prometheus --config.file=prometheus.yml

為了方便,加入到服務(wù)配置文件里
vi /usr/lib/systemd/system/prometheus.service
[Unit]
Description=https://prometheus.io

[Service]
Restart=on-failure
ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml

[Install]
WantedBy=multi-user.target

重啟服務(wù)
systemctl daemon-reload
systemctl start prometheus.service

3.容器安裝
https://prometheus.io/docs/prometheus/latest/installation/
prometheus.yml通過(guò)運(yùn)行以下命令將您從主機(jī)綁定:
docker run -p 9090:9090 -v /tmp/prometheus.yml:/etc/prometheus/prometheus.yml \
prom/prometheus
或者為配置使用額外的卷:
docker run -p 9090:9090 -v /prometheus-data \
prom/prometheus --config.file=/prometheus-data/prometheus.yml

4.訪問(wèn)web
http://190.168.3.250:9090訪問(wèn)自己的狀態(tài)頁(yè)面
可以通過(guò)訪問(wèn)localhost:9090驗(yàn)證Prometheus自身的指標(biāo):190.168.3.250:9090/metrics

三.配置監(jiān)控服務(wù)
1.配置Prometheus監(jiān)控本身
全局配置文件簡(jiǎn)介
有關(guān)配置選項(xiàng)的完整,請(qǐng)參閱:https://prometheus.io/docs/prometheus/latest/configuration/configuration/
Prometheus以scrape_interval規(guī)則周期性從監(jiān)控目標(biāo)上收集數(shù)據(jù),然后將數(shù)據(jù)存儲(chǔ)到本地存儲(chǔ)上。scrape_interval可以設(shè)定全局也可以設(shè)定單個(gè)metrics。
Prometheus以evaluation_interval規(guī)則周期性對(duì)告警規(guī)則做計(jì)算,然后更新告警狀態(tài)。evaluation_interval只有設(shè)定在全局。

global:全局配置
alerting:告警配置
rule_files:告警規(guī)則
scrape_configs:配置數(shù)據(jù)源,稱(chēng)為target,每個(gè)target用job_name命名。又分為靜態(tài)配置和服務(wù)發(fā)現(xiàn)

global:
默認(rèn)抓取周期,可用單位ms、smhdwy #設(shè)置每15s采集數(shù)據(jù)一次,默認(rèn)1分鐘
[ scrape_interval: | default = 1m ]
默認(rèn)抓取超時(shí)
[ scrape_timeout: | default = 10s ]
估算規(guī)則的默認(rèn)周期 # 每15秒計(jì)算一次規(guī)則。默認(rèn)1分鐘
[ evaluation_interval: | default = 1m ]
和外部系統(tǒng)(例如AlertManager)通信時(shí)為時(shí)間序列或者警情(Alert)強(qiáng)制添加的標(biāo)簽列表
external_labels:
[ : ... ]

規(guī)則文件列表
rule_files:
[ - ... ]

抓取配置列表
scrape_configs:
[ - ... ]

Alertmanager相關(guān)配置
alerting:
alert_relabel_configs:
[ - ... ]
alertmanagers:
[ - ... ]

遠(yuǎn)程讀寫(xiě)特性相關(guān)的配置
remote_write:
[ - ... ]
remote_read:
[ - ... ]

vi prometheus.yml
下面就是拉取自身服務(wù)采樣點(diǎn)數(shù)據(jù)配置
scrape_configs:
別監(jiān)控指標(biāo),job名稱(chēng)會(huì)增加到拉取到的所有采樣點(diǎn)上,同時(shí)還有一個(gè)instance目標(biāo)服務(wù)的host:port標(biāo)簽也會(huì)增加到采樣點(diǎn)上

  • job_name: 'prometheus'
    覆蓋global的采樣點(diǎn),拉取時(shí)間間隔5s
    scrape_interval: 5s
    static_configs:
    • targets: ['localhost:9090']

最下面,靜態(tài)配置監(jiān)控本機(jī),采集本機(jī)9090端口數(shù)據(jù)

注:每次修改配置完成,用promtool檢測(cè)配置文件是否正確
[root@server1 prometheus]# ./promtool check config prometheus.yml

重啟服務(wù)
可以用kill -hup 進(jìn)程id 自動(dòng)加載新配置文件

查看targets可以看到節(jié)點(diǎn)正常
Prometheus的搭建部署
也可以在這里搜尋收集來(lái)的數(shù)據(jù)
Prometheus的搭建部署

2.配置服務(wù)發(fā)現(xiàn)監(jiān)控linux主機(jī)及相關(guān)服務(wù)
在server2 190.168.3.251上安裝node_exporter
使用文檔:https://prometheus.io/docs/guides/node-exporter/
GitHub:https://github.com/prometheus/node_exporter
exporter列表:https://prometheus.io/docs/instrumenting/exporters/

在server2安裝節(jié)點(diǎn)采集器,MySQL服務(wù),nginx服務(wù)
tar zxf node_exporter-0.17.0.linux-amd64.tar.gz
mv node_exporter-0.17.0.linux-amd64 /usr/local/node_exporter
cd /usr/local/node_exporter/
./node_exporter --help

服務(wù)發(fā)現(xiàn),我們這里使用file_sd_configs,寫(xiě)監(jiān)控配置文件,服務(wù)發(fā)現(xiàn)node節(jié)點(diǎn)
Prometheus的搭建部署

mkdir sd_config創(chuàng)建服務(wù)發(fā)現(xiàn)目錄
Prometheus的搭建部署

寫(xiě)采集地址targets
[root@server1 prometheus]# vi sd_config/node.yml
Prometheus的搭建部署

方便管理服務(wù),將宿主機(jī)節(jié)點(diǎn)監(jiān)控采集node_exporter加入到服務(wù)配置文件里,
Prometheus的搭建部署

如果要監(jiān)控節(jié)點(diǎn)的系統(tǒng)服務(wù),需要在后面添加名單參數(shù)
--collector.systemd.unit-whitelist=".+"  從systemd中循環(huán)正則匹配單元
--collector.systemd.unit-whitelist="(docker|sshd|nginx).service"  白名單,收集目標(biāo)

/usr/bin/node_exporter --collector.systemd --collector.systemd.unit-whitelist=(docker|sshd|nginx).service

在http://190.168.3.250:9090/graph已經(jīng)能看到節(jié)點(diǎn)采集到的宿主機(jī)信息,已經(jīng)可以看到監(jiān)控到了服務(wù),值為1就是服務(wù)正常

Prometheus的搭建部署

補(bǔ)充:
也可以將之前190.168.3.250上監(jiān)控本機(jī)的9090的靜態(tài)采集改成文件服務(wù)發(fā)現(xiàn)的形式
Prometheus的搭建部署

[root@server1 prometheus]# vi sd_config/test.yml ,其中的加上了標(biāo)簽,添加采集地址,可以在targets里使用標(biāo)簽查找
Prometheus的搭建部署
Prometheus的搭建部署

四.使用grafana前端展示數(shù)據(jù)并監(jiān)控docker服務(wù)

1.cAdvisor采集容器信息
使用cAdvisor(Container Advisor)用于收集正在運(yùn)行的容器資源使用和性能信息。
docker run \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:ro \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--volume=/dev/disk/:/dev/disk:ro \
--publish=8080:8080 \
--detach=true \
--name=cadvisor \

http://190.168.3.250:8080/訪問(wèn)web端口,已經(jīng)采集到了容器的數(shù)據(jù)

Prometheus的搭建部署

2.Grafana

https://grafana.com/grafana/download

Grafana是一個(gè)開(kāi)源的度量分析和可視化系統(tǒng),Grafana支持查詢(xún)普羅米修斯。自Grafana 2.5.0(2015-10-28)以來(lái),包含了Prometheus的Grafana數(shù)據(jù)源。

在官網(wǎng)上下載https://grafana.com/grafana/download?platform=docker
我們這里用的是docker版的
docker run -d --name=grafana -p 3000:3000 grafana/grafana

跑起來(lái)后,190.168.3.250:3000訪問(wèn)web接口
密碼賬號(hào)都是admin,第一次登陸需要修改密碼
添加數(shù)據(jù)源
Prometheus的搭建部署
Prometheus的搭建部署
已經(jīng)有一個(gè)Prometheus數(shù)據(jù)源
Prometheus的搭建部署

3.添加監(jiān)控宿主機(jī)模板
Prometheus的搭建部署

輸入9276,導(dǎo)入
Prometheus的搭建部署
修改名字和數(shù)據(jù)庫(kù)
Prometheus的搭建部署
完成,查看最后模板效果
Prometheus的搭建部署

4.查看docker監(jiān)控
添加新job,修改采集配置文件prometheus.yml
[root@server1 prometheus]# vi prometheus.yml
Prometheus的搭建部署
檢查配置文件后,重啟主服務(wù)  ./promtool check config prometheus.yml

同樣方法在Grafana下載模板,導(dǎo)入193
也可以在https://grafana.com/dashboards/下載別的模板
Prometheus的搭建部署

五.監(jiān)控mysql服務(wù)

mysql_exporter:用于收集MySQL性能信息。

下載https://github.com/prometheus/mysqld_exporter
監(jiān)控模板https://grafana.com/dashboards/7362

我們?cè)趕erver2 190.168.3.251上配置,需要下載mysqld_exporter數(shù)據(jù)庫(kù)采集和安裝mariadb

登錄mysql為exporter創(chuàng)建賬號(hào),以便可以采集數(shù)據(jù):
mysql> CREATE USER 'exporter'@'localhost' IDENTIFIED BY '123456';
mysql> GRANT PROCESS, REPLICATION CLIENT, SELECT ON . TO 'exporter'@'localhost';

vi .my.cnf ,添加用戶(hù)隱藏的數(shù)據(jù)庫(kù)賬號(hào),prometheus監(jiān)控mysql需要用這個(gè)賬號(hào)采集
Prometheus的搭建部署

Prometheus的搭建部署

在server1 190.168.3.250修改采集配置文件
[root@server1 prometheus]# vi prometheus.yml
Prometheus的搭建部署

檢查配置文件并重啟服務(wù),systemctl restart prometheus.service

[root@server2 mysql_exporter]# ./mysqld_exporter --config.my-cnf=.my.cnf
Prometheus的搭建部署

數(shù)據(jù)庫(kù)信息已經(jīng)采集到了
http://190.168.3.251:9104/metrics
Prometheus的搭建部署

導(dǎo)入模板后7362后
Prometheus的搭建部署

六.郵件告警
1.告警介紹
在Prometheus平臺(tái)中,警報(bào)由獨(dú)立的組件Alertmanager處理。通常情況下,我們首先告訴Prometheus Alertmanager所在的位置,然后在Prometheus配置中創(chuàng)建警報(bào)規(guī)則,最后配置Alertmanager來(lái)處理警報(bào)并發(fā)送給接收者(郵件,webhook、slack等)。

地址1:https://prometheus.io/download/
地址2:https://github.com/prometheus/alertmanager/releases
設(shè)置告警和通知的主要步驟如下:
第一步   部署Alertmanager
第二步     配置Prometheus與Alertmanager通信
第三步     在Prometheus中創(chuàng)建告警規(guī)則
Prometheus的搭建部署

2.配置Prometheus與Alertmanager通信
Prometheus的搭建部署
需要在官網(wǎng)下載以上的報(bào)警包

修改告警媒介,使用郵箱發(fā)送
[root@server1 alertmanager-0.16.0.linux-amd64]# vi alertmanager.yml
Prometheus的搭建部署
注意:上面的驗(yàn)證密碼不是郵箱密碼,是授權(quán)碼
Prometheus的搭建部署

修改完檢查配置文件alertmanager.yml是否正確,然后重啟服務(wù)
./alertmanager --config.file alertmanager.yml
systemctl restart prometheus.service

修改prometheus連接告警模塊,并設(shè)定告警規(guī)則
[root@server1 prometheus]# vi prometheus.yml
Prometheus的搭建部署

[root@server1 prometheus]# vi rules/test.yml
參照官網(wǎng)告警上寫(xiě)的
Prometheus的搭建部署

groups:

  • name: example   # 報(bào)警規(guī)則組名稱(chēng)
    rules:
    • alert: InstanceDown
      expr: up == 0
      for: 1m  #持續(xù)時(shí)間 , 表示持續(xù)一分鐘獲取不到信息,則觸發(fā)報(bào)警
      labels:
      severity: page  # 自定義標(biāo)簽
      annotations:
      summary: "Instance {{ $labels.instance }} down" # 自定義摘要
      description: "{{ $labels.instance }} of job {{ $labels.job }} has been down for more than 5 minutes." # 自定義具體描述

 3.測(cè)試郵箱告警      
我們把server2 上的mysql監(jiān)控關(guān)閉,測(cè)試告警
http://190.168.3.250:9090/alerts,已經(jīng)觸發(fā)
Prometheus的搭建部署

我們看郵箱,收到報(bào)警
Prometheus的搭建部署


文章題目:Prometheus的搭建部署
本文地址:http://www.dlmjj.cn/article/pijgse.html