十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
Prometheus 是完全開源的系統(tǒng)監(jiān)控和告警工具包,它受 Google 內(nèi)部的 BorgMon 監(jiān)控系統(tǒng)啟發(fā),由前Google 工程師從 2012 年開始在 SoundCloud 以開源軟件的形式進(jìn)行研發(fā),自此以后,許多公司和組織都采用了Prometheus 作為監(jiān)控告警工具。Prometheus 的開發(fā)者和用戶社區(qū)非?;钴S,它現(xiàn)在是一個獨立的開源項目,可以獨立于任何公司進(jìn)行維護(hù)。

自2012年推出以來,許多公司和組織都采用了Prometheus,該項目擁有非?;钴S的開發(fā)者和用戶社區(qū)。它現(xiàn)在是一個獨立的開源項目,獨立于任何公司進(jìn)行維護(hù)。為了強調(diào)這一點,并明確項目的治理結(jié)構(gòu),Prometheus 于 2016 年加入 云原生計算基金會,成為繼Kubernetes之后的第二個托管項目。
Prometheus的主要特點是:
下圖說明了 Prometheus 的架構(gòu)及其一些生態(tài)系統(tǒng)組件:
開啟內(nèi)核路由轉(zhuǎn)發(fā)。
echo -e "net.ipv4.ip_forward = 1\nnet.ipv4.conf.default.rp_filter = 0 \nnet.ipv4.conf.all.rp_filter = 0" >> /etc/sysctl.conf sysctl -p
創(chuàng)建配置文件。
vim prometheus.yml
# my global config
global:
scrape_interval: 15s # 采集被監(jiān)控段指標(biāo)的一個周期
evaluation_interval: 15s # 告警評估的一個周期
# 告警的配置文件
alerting:
alertmanagers:
- static_configs:
- targets:
# - alertmanager:9093
# 告警規(guī)則配置
rule_files:
# - "first_rules.yml"
# 被監(jiān)控端的配置,目前只有一個節(jié)點,就是prometheus本身
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
啟動鏡像,將主配置文件掛載到容器內(nèi)。
docker run -d -p 9090:9090 \
--name prometheus \
--restart on-failure \
-v /data/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \
prom/prometheus
執(zhí)行后需要下載鏡像文件,需要等待一會。
完全啟動后可以,訪問Prometheus自帶的UI:http://xx.xx.xx.xx:9090/。
自帶的WEB UI比較簡單,后面會說到功能比較全面dashboard grafana。
cAdvisor 是 Google 開源的容器監(jiān)控工具,它可以收集容器的資源使用情況、網(wǎng)絡(luò)流量、文件系統(tǒng)使用情況等指標(biāo)數(shù)據(jù)。cAdvisor 可以部署在 Kubernetes 集群中的每個節(jié)點上,以收集集群中所有容器的監(jiān)控數(shù)據(jù)。
cAdvisor 部署的目的如下:
cAdvisor 是 Kubernetes 集群中必不可少的監(jiān)控工具,它可以幫助我們更好地了解和管理容器。
下面介紹docker部署cAdvisor:
docker run -d \
--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 \
google/cadvisor:latest
訪問該地址,就能看到實時采集到的數(shù)據(jù):http://xx.xx.xx.xx:8080/containers/。
http://xx.xx.xx.xx:8080/metrics/ 就是cAdvisor提供的數(shù)據(jù)接口。
然后修改prometheus.yml。
vim /data/prometheus/prometheus.yml
修改prometheus的配置文件,復(fù)制一個job文件,job_name 指名稱,targets為cAdvisor服務(wù)器地址ip和端口。
# global config
global:
scrape_interval: 15s # 采集被監(jiān)控段指標(biāo)的一個周期
evaluation_interval: 15s # 告警評估的一個周期
# 告警的配置文件
alerting:
alertmanagers:
- static_configs:
- targets:
# 告警規(guī)則配置
rule_files:
# - "first_rules.yml"
# 被監(jiān)控端的配置,目前只有一個節(jié)點,就是prometheus本身
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
- job_name: 'prometheus docker'
static_configs:
- targets: ['10.9.2.50:8080']
修改完成重啟prometheus。
docker restart prometheus
http://xx.xx.xx.xx:9090/targets 可以看到監(jiān)控指標(biāo)說明獲取數(shù)據(jù)成功。
Grafana 是一個開源的監(jiān)控和可視化工具,它可以連接到各種數(shù)據(jù)源,并以圖表、儀表盤和報表的形式展示數(shù)據(jù)。Grafana 可以用于監(jiān)控任何類型的系統(tǒng),包括 Kubernetes 集群、Web 應(yīng)用程序、IoT 設(shè)備等。
下面是docker方式部署grafana。
docker run -d --name=grafana -p 3000:3000 grafana/grafana
執(zhí)行后,下載鏡像并啟動。http://xx.xx.xx.xx:3000,默認(rèn)用戶名/密碼:admin/admin。
選擇 "Add your first data source"。
進(jìn)入后選擇Prometheus。
填寫相關(guān)信息。
添加Prometheus模板。
輸入id號,193。
下拉,選擇Prometheus,然后Import。
成功展示來由Prometheus數(shù)據(jù)。
標(biāo)題名稱:無痛入門Prometheus:一個強大的開源監(jiān)控和告警系統(tǒng),安裝使用
文章轉(zhuǎn)載:http://www.jiaotiyi.com/article/dpdsjgp.html