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:$PATH4、启动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.rpm2、启动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.02、新建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:63794、上传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