Linux 快速搭建 Prometheus
Prometheus 是一套开源的系统监控报警框架。
Prometheus 作为新一代的云原生监控系统,相比传统监控监控系统(Nagios 或者 Zabbix)拥有如下优点
易管理性:Prometheus 核心部分只有一个单独的二进制文件,可直接在本地工作,不依赖于分布式存储
高效性:单一 Prometheus 可以处理数以百万的监控指标;每秒处理数十万的数据点
易于伸缩性:通过使用功能分区(sharing)+ 联邦集群(federation)可以对 Prometheus 进行扩展,形成一个逻辑集群
丰富的看板:多种可视化图表及仪表盘支持
针对容器监控:对 docker,k8s 监控有成熟解决方案
实验环境:CentOS7
第一步:从官网下载 Prometheus 二进制安装包(官网下载速度慢的话可以在清华源上下载)
第二步:解压下载好的 prometheus 二进制包移至 /usr/local/目录下并重命名为 prometheus
第三步:下载 screen 并在 screen 中运行 prometheus(下面红色框中显示 screen 的名字是因为 PS1 中加入了 screen 的变量)
第四步:验证,如果 web 界面访问出错记得关闭防火墙和 SELinux
按 CTRL+A,然后松手按D,会退出当前的 screen,然后查看监听端口和验证 web 界面(Prometheus 的默认监听端口为9090)
使用本机 IP+9090 访问 web 界面(Prometheus 的界面默认没有登录用户名和密码,登录后发现有个告警,原因是因为 web 界面和 Linux 系统的时钟不同步)
时钟同步后,刷新 Prometheus 的 web 界面告警即可消失
第五步:下载并安装 exporter(相当于 zabbix 中的 zabbix-agent,同为采集数据信息的插件),这里以 node_exporter 为例
第六步:验证 exporter,并把 exporter 加入监控
node_exporter 的默认端口为9100,使用本机 IP:port/metrics 访问 web 界面,这些文本文件即为 node_exporter 监测到的数据(#开头的为 key 的介绍)
修改 prometheus.yml 文件,实现将 node_exporter 监控到的数据传给本机
在 yml 文件末尾添加以下参数
重启 Prometheus
也可以制作 service 文件通过 systemd 的方式重启,首先编写脚本并授权(--web.enable-lifecycle 就是打开 web 界面的时候开启热更新配置,--config.file 为 prometheus 的 yml 配置文件路径)
然后编写 service 文件
加载并重启 service 文件
重启后web界面验证(prometheus 和 node_exporter 状态为 UP 即可)
第七步:验证取值,如下图查看 cpu 使用率