Prometheus

本文详细介绍了Prometheus,一个开源的监控和警报工具,其作为时序数据库的功能,以及如何与Zabbix、Grafana等配合使用。重点讲解了Prometheus的架构、数据收集、配置管理和可视化,包括node_exporter和mysql_exporter的部署与监控。
摘要由CSDN通过智能技术生成
Prometheus是一个开源系统监控和警报工具包,最初由SoundCloud构件。Prometheus既是一款监控软件,也是一个时序数据库,将其指标收集并存储为时间序列数据,即指标信息与记录时的时间戳以及称为标签的可选键值对一起存储。主要用在容器监控方面,也可以用于常规的主机监控。使用Google公司开发的go语言编写。Prometheus是一个框架,可以与其他组件完美结合。
在zabbix中是由一个Agent来管理收集数据,而Prometheus由多个exporter来收集相应的数据。
Prometheus数据存储会存储到自己的数据库中。
Prometheus自己能够呈现HTTP页面,可以使用Grafana第三方工具来显示数据
prometheus:192.168.88.10
node1:192.168.88.11
安装Prometheus
移动到/usr/local目录下,console为控制台的数据,LICENSE、NOTICE为说明文件,prometheus:为运行程序,prometool:检查工具等,tsdb:为自带的数据库,prometheus.yml:为配置文件。
编辑配置文件
配置文件中包含三个配置模块:global、rule_files和scrape_configs。
global模块控制Prometheus服务器的全局配置,有两个选择,第一个scrape_interval控制Prometheus抓取目标的频率,可以为单个目标覆盖它,在这种情况下,全局设置是每 15 秒抓取一次。第二个evaluation_interval选项控制 Prometheus 评估规则的频率。Prometheus 使用规则来创建新的时间序列并生成警报。
rule_files块指定我们希望 Prometheus 服务器加载的任何规则的位置。现在我们还没有规则。
scrape_configs控制 Prometheus 监控的资源。由于 Prometheus 还将有关自身的数据公开为 HTTP 端点,因此它可以抓取和监控自身的健康状况。在默认配置中,有一个名为prometheus的作业,用于抓取 Prometheus 服务器公开的时间序列数据。该作业包含一个单一的、静态配置的目标,即localhost的9090端口。Prometheus期望度量在/metrics路径上的目标上可用,所以这个默认作业是通过 URL 抓取的: http://localhost:9090/metrics
也可以换成192.168.88.10的9090端口
查看时间是否正确
使用timedatectl set-timezone Asia/Shanghai命令来修改时区。date -s:来修改时间
查看语法/usr/local/prometheus/promtool check config /usr/local/prometheus/prometheus.yml
使用systemctl命令来控制服务
--config.file=/usr/local/prometheus/prometheus.yml:为配置文件的路径
--storage.tsdb.path=/usr/local/prometheus/data/:为数据库存放目录,没有data目录会自动创建
开启服务
关闭防火墙。访问服务
状态为up表示成功配置服务
查看Prometheus服务消耗的内存
点击graph为图形页面
该时间为0时区的时间,北京时间为8分区,需要再加上8小时为北京时间。
添加被控端
监控方式:
拉取:pull,监控端联系被控端采集数据。
推送:push,被监控端主动把数据发给监控端,在Prometheus中push的方式需要额外的组件pushgateway
被监控端根据自身运行的服务,可以运行不同的exporter(被监控端安装的、可以与Prometheus通信,实现数据传递的软件)
部署通用的监控exporter
node-exporter用于监控硬件和系统的常用指标。
exporter运行与被监控端,以服务的形式存在,每个exporter所使用的端口号都不一样。
在node1上部署node_exporter。
配置systemctl命令
启动服务
在Prometheus服务上添加监控节点,默认端口为9100
重启服务
查看浏览器,监控成功
如查看node1的CPU负载
使用 grafana可视化工具:grafana是一款开源的、跨平台的、基于web的可视化工具。
展示方式:客户端图表、面板插件。
数据源可以来自于各种源,如Prometheus
部署grafana
使用浏览器访问grafana页面,grafana默认端口为3000,第一次登录用户名和密码都是admin
第一次登录需要修改密码
grafana不存储数据,只是数据的搬运工,需要和Prometheus对接。
选择Prometheus
添加网址
选择查看Prometheus的仪表盘
点击该仪表盘
该页面数据为Prometheus软件本身的信息
选择呈现node1数据的仪表盘,grafana模板下载: grafana.com
选择导入用于查看node_exporter监控节点的的仪表盘
选择Prometheus数据源,导入该仪表盘
监控MariaDB数据库。在node1节点上安装数据库
启动数据库 
在node1上安装mysql_exporter
mysql_exporter需要访问数据库,所以需要在数据库中为exporter创建授权用户
配置mysql_exporter,将mysql_exporter软件包传递给node1
编写用于连接mysql服务的配置文件
编辑使用systemctl命令
启动服务
编辑Prometheus服务的配置文件,默认监控mysql的监控节点为9104
重启服务
查看Prometheus服务的web页面
在grafana页面上导入用于查看mysql数据库的仪表盘
  • 18
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值