prometheus监控软件的使用
目錄
知識點1:為什么需要監控?
一些常見的監控軟件:
知識點2:prometheus 架構圖?
prometheus的組件
prometheus獲取數據的方式:
知識點3:使用容器起一個prometheus
查看prometheus web端
?訪問prometheus(localhost:9090/metrics)?
知識點4:源碼安裝prometheus
1、上傳下載的源碼包到linux機器
?2、解壓源碼包,并重命名
?3、修改PATH變量
?4、啟動prometheus程序
?5、測試訪問(默認是采集自己機器的數據)
?知識點5:采集不同機器的數據
1、上傳node_exporter軟件,解壓,并且重命令?
2、修改PATH變量
3、執行node_exporter 代理程序
4、在prometheus服務器上面添加抓取數據的配置,添加node節點服務器,將抓取的數據存儲到時序數據庫里面
?5、修改了配置文件以后刷新prometheus服務
6、查看prometheus服務器上面?
?知識點6:grafana 可視化監控指標展示工具
?1、下載grafana,上傳到linux服務器
?2、啟動grafana服務(service grafana-server start)
3、在瀏覽器訪問,登陸
?4、添加數據源
?知識點7:grafana使用模板
?編輯獲取prometheus數據的流程
知識點7:使用prometheus監控容器
1、首先安裝好compose容器編排工具
?2、新建prometheus.yml文件
3、新建docker-compose.yml文件
?4、上傳cadvisor.tar鏡像文件,然后導入
?5、啟動docker compose容器
6、訪問cAdvisor?
?7、訪問prometheus
知識點8:通過容器啟動grafana
知識點1:為什么需要監控?
運維工作離不開監控?
工具或者軟件去幫助我們7*24監控我們的服務器和軟件,是否還在正常的工作。如果不工作,馬上告警(短信,電話,微信,釘釘),及時處理。
監控的價值: 防范事故與未然,減少事故帶來的損失。
及時的發現問題,提醒工程師盡快的去解決問題,減少公司的損失
? ? ? ? ? ? 提升了產品的品質,增強了用戶的信任
一些常見的監控軟件:
1、cacti 仙人掌:出圖比較好
2、nagios 監控腳本特別多
3、zabbix 集合cacti + nagios 的優點,企業里面用的很多
4、openfalcon? 小米公司開源的監控軟件
5、prometheus:開源的監控軟件?
#############################################################################
知識點2:prometheus 架構圖?
prometheus的組件
1、tsdb:時序數據庫
2、http server? web服務
3、pushgateway 中間件
4、alertmanager 告警的軟件
5、exporter 收集數據,采集數據,?
prometheus獲取數據的方式:
1、pull server? --》pull --》client? 主動的獲取數據,避免大并發
2、push client --》push --》server? client 主動送數據過來,數據會非常新,會出現大量的數據同時push過來?
#############################################################################
知識點3:使用容器起一個prometheus
[root@docker1 ~]# docker run -d -p 9090:9090 --name sc-prom-1 prom/prometheus 78c98ae2bbbb01ee70a9aa70755b463d21214bcac333221d06afc740b0567ecd [root@docker1 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 78c98ae2bbbb prom/prometheus "/bin/prometheus --c…" 6 seconds ago Up 5 seconds 0.0.0.0:9090->9090/tcp, :::9090->9090/tcp sc-prom-1 ff30f9bc303c wordpress:latest "docker-entrypoint.s…" 37 hours ago Up About a minute 0.0.0.0:80->80/tcp, :::80->80/tcp my_wordpress-wordpress-1 c89b08470516 mariadb:10.6.4-focal "docker-entrypoint.s…" 37 hours ago Up About a minute 3306/tcp, 33060/tcp my_wordpress-db-1查看prometheus web端
?默認是采集本機的數據
grafana 是非常專業的出圖軟件: 專門從別的數據庫里抽取數據,然后通過圖形展示工具,顯示出來
#############################################################################
?訪問prometheus(localhost:9090/metrics)?
?#############################################################################
知識點4:源碼安裝prometheus
1、上傳下載的源碼包到linux機器
準備兩臺linux服務器
一臺為prometheus服務器
[root@prometheus ~]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 00:0c:29:a8:02:38 brd ff:ff:ff:ff:ff:ffinet 192.168.44.160/24 brd 192.168.44.255 scope global noprefixroute ens33valid_lft forever preferred_lft foreverinet6 fe80::20c:29ff:fea8:238/64 scope link valid_lft forever preferred_lft forever一臺為node節點服務器
[root@node_exporter ~]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 00:0c:29:37:b5:82 brd ff:ff:ff:ff:ff:ffinet 192.168.44.140/24 brd 192.168.44.255 scope global noprefixroute ens33valid_lft forever preferred_lft foreverinet6 fe80::20c:29ff:fe37:b582/64 scope link valid_lft forever preferred_lft forever?在prometheus服務器上面新建一個目錄,并把prometheus源碼包上傳到這個目錄下面
?2、解壓源碼包,并重命名
?3、修改PATH變量
永久修改可以在家目錄下面的.bashrc里面添加PATH變量
[root@prometheus prometheus]# vim /root/.bashrc PATH=/prometheus/prometheus:$PATH?4、啟動prometheus程序
nohup :屏蔽hup信號, &將程序放到后臺運行
--config.file=prometheus.yml? 指定prometheus配置文件
[root@prometheus prometheus]# nohup ./prometheus --config.file=prometheus.yml & [1] 1773 [root@prometheus prometheus]# nohup: 忽略輸入并把輸出追加到"nohup.out"[root@prometheus prometheus]# [root@prometheus prometheus]# jobs [1]+ 運行中 nohup ./prometheus --config.file=prometheus.yml &?5、測試訪問(默認是采集自己機器的數據)
#############################################################################?
?知識點5:采集不同機器的數據
首先要在node節點機器上面安裝node_exporter軟件
上傳node_exporter軟件到節點機器上
1、上傳node_exporter軟件,解壓,并且重命令?
[root@node_exporter /]# mkdir node_exporter [root@node_exporter /]# cd node_exporter/ [root@node_exporter node_exporter]# ls node_exporter-1.4.0-rc.0.linux-amd64.tar.gz [root@node_exporter node_exporter]# tar xf node_exporter-1.4.0-rc.0.linux-amd64.tar.gz [root@node_exporter node_exporter]# ls node_exporter-1.4.0-rc.0.linux-amd64 node_exporter-1.4.0-rc.0.linux-amd64.tar.gz [root@node_exporter node_exporter]# mv node_exporter-1.4.0-rc.0.linux-amd64 node_exporter [root@node_exporter node_exporter]# ls node_exporter node_exporter-1.4.0-rc.0.linux-amd64.tar.gz [root@node_exporter node_exporter]#2、修改PATH變量
[root@node_exporter node_exporter]# vim /root/.bashrc PATH=/node_exporter/:$PATH3、執行node_exporter 代理程序
[root@node_exporter node_exporter]# cd node_exporter [root@node_exporter node_exporter]# ls LICENSE node_exporter NOTICE [root@node_exporter node_exporter]# nohup ./node_exporter --web.listen-address 0.0.0.0:8080 & [1] 21107 [root@node_exporter node_exporter]# nohup: 忽略輸入并把輸出追加到"nohup.out"測試訪問node_exporter程序運行情況
4、在prometheus服務器上面添加抓取數據的配置,添加node節點服務器,將抓取的數據存儲到時序數據庫里面
修改prometheus.yml配置文件,添加node節點信息
?5、修改了配置文件以后刷新prometheus服務
[root@prometheus prometheus]# ps aux|grep prometheus root 1773 0.0 5.5 782340 55088 pts/1 Sl 17:10 0:01 ./prometheus --config.file=prometheus.yml root 1831 0.0 0.0 112824 992 pts/1 R+ 17:50 0:00 grep --color=auto prometheus [root@prometheus prometheus]# kill -9 1773 [root@prometheus prometheus]# ps aux|grep prometheus root 1833 0.0 0.0 112824 988 pts/1 R+ 17:51 0:00 grep --color=auto prometheus [1]+ 已殺死 nohup ./prometheus --config.file=prometheus.yml [root@prometheus prometheus]# nohup ./prometheus --config.file=prometheus.yml & [1] 1834 [root@prometheus prometheus]# nohup: 忽略輸入并把輸出追加到"nohup.out"[root@prometheus prometheus]#6、查看prometheus服務器上面?
?
?
?
###############################################################################?
?知識點6:grafana 可視化監控指標展示工具
概述--? 美觀、強大的可視化監控指標展示工具
grafana 是一款采用 go 語言編寫的開源應用,主要用于大規模指標數據的可視化展現,是網絡架構和應用分析中最流行的時序數據展示工具,目前已經支持絕大部分常用的時序數據庫?
?1、下載grafana,上傳到linux服務器
官方是使用 wget來下載,但是這樣速度太慢,所以選擇直接將下載好的軟件包傳到linux服務器,然后使用yum安裝?
[root@prometheus /]# mkdir /grafana [root@prometheus /]# cd grafana/ [root@prometheus grafana]# ls grafana-enterprise-8.4.5-1.x86_64.rpm [root@prometheus grafana]# yum install grafana-enterprise-8.4.5-1.x86_64.rpm?2、啟動grafana服務(service grafana-server start)
[root@prometheus grafana]# service grafana-server start Starting grafana-server (via systemctl): [ 確定 ]查看端口
[root@prometheus grafana]# netstat -anplut | grep grafana tcp6 0 0 :::3000 :::* LISTEN 2165/grafana-server3、在瀏覽器訪問,登陸
第一次登陸默認用戶名admin,密碼也是admin
登陸后會要求重置密碼?
登陸成功頁面:
?4、添加數據源
?
創建一個新的平板?(panel)
示例:開啟cpu監控圖?
?
?可以添加多個平板來監控多個性能
?知識點7:grafana使用模板
?導入別人已經寫好了的grafana顯示模板
獲取prometheus數據的流程
?
#############################################################################?
知識點7:使用prometheus監控容器
?需要一臺docker宿主機,使用docker容器來安裝prometheus
1、首先安裝好compose容器編排工具
[root@docker1 ~]# docker compose version Docker Compose version v2.7.0?2、新建prometheus.yml文件
[root@docker1 prom_docker]# vim prometheus.yml [root@docker1 prom_docker]# cat prometheus.yml scrape_configs: - job_name: cadvisorscrape_interval: 5sstatic_configs:- targets:- cadvisor:80803、新建docker-compose.yml文件
version: '3.2' services:prometheus:image: prom/prometheus:latestcontainer_name: prometheusports:- 9090:9090command:- --config.file=/etc/prometheus/prometheus.ymlvolumes:- ./prometheus.yml:/etc/prometheus/prometheus.yml:rodepends_on:- cadvisorcadvisor:image: gcr.io/cadvisor/cadvisor:latestcontainer_name: cadvisorports:- 8080:8080volumes:- /:/rootfs:ro- /var/run:/var/run:rw- /sys:/sys:ro- /var/lib/docker/:/var/lib/docker:rodepends_on:- redisredis:image: redis:latestcontainer_name: redisports:- 6379:6379?4、上傳cadvisor.tar鏡像文件,然后導入
?5、啟動docker compose容器
?docker ps查看要起的容器都有沒有起來
[root@docker1 prom_docker]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f57a714dfc4f prom/prometheus:latest "/bin/prometheus --c…" 7 seconds ago Up 5 seconds 0.0.0.0:9090->9090/tcp, :::9090->9090/tcp prometheus c13d7f40485f gcr.io/cadvisor/cadvisor:latest "/usr/bin/cadvisor -…" 7 seconds ago Up 6 seconds (health: starting) 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp cadvisor 5912de449c1b redis:latest "docker-entrypoint.s…" 7 seconds ago Up 6 seconds 0.0.0.0:6379->6379/tcp, :::6379->6379/tcp redis6、訪問cAdvisor?
?
?7、訪問prometheus
#############################################################################?
知識點8:通過容器啟動grafana
[root@docker1 prom_docker]# docker run -d -p 3001:3000 --name sc-grafana-1 grafana/grafana Unable to find image 'grafana/grafana:latest' locally latest: Pulling from grafana/grafana 9621f1afde84: Pull complete aba763cacd71: Pull complete d588f11a2a4a: Pull complete 6b06ae62306b: Pull complete 5f08e1bd5268: Pull complete e4bb29e6519a: Pull complete e38f4bb1b844: Pull complete d6ab276483db: Pull complete af0fb383295b: Pull complete Digest: sha256:3fe0cb0a7994a1b720f5d597e2043ee00ad2a5892e1a9280d895b5365fb55777 Status: Downloaded newer image for grafana/grafana:latest 80041e78b1a6bbd60689122e3d6eb6d55d34799ba4d98d0db2cf6624ccee2c48測試訪問:
?
?
總結
以上是生活随笔為你收集整理的prometheus监控软件的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 泡面健康煮法 [Health Tips]
- 下一篇: RA-CNN