从零搭建Prometheus+Grafana监控报警系统

大家好 , 我是方木
Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB) 。Prometheus使用Go语言开发 , 是google BorgMon监控系统的开源版本 , 整套系统由监控服务、告警服务、时序数据库等几个部分 , 及周边生态的各种指标收集器(Exporter)组成 , 是在当下主流的云原生监控告警系统 。
Grafana是用于可视化大型测量数据的开源程序 , 它提供了强大和优雅的方式去创建、共享、浏览数据 。Dashboard中显示了你不同metric数据源中的数据 。
今天 , 我们就来看下怎么从零将Prometheus结合Grafana部署起来
一、部署prometheus监控服务器:

  1. 安装监控服务器
  2. 修改配置文件
  3. 编写service文件 , 管理服务
  4. 查看监控数据
1、环境准备:
实验需要2台虚拟机 , 主机信息下表所示:所有主机系统均为centos7 , 需要提前配置IP、主机名、系统YUM源;(网卡名称仅供参考 , 不能照抄)
从零搭建Prometheus+Grafana监控报警系统

文章插图
 
实验拓扑如下图所示:
从零搭建Prometheus+Grafana监控报警系统

文章插图
 
2、安装步骤
步骤如下:
步骤一:安装监控软件(192.168.4.10主机操作)
1)安装软件:
tar -xf prometheus-2.17.2.linux-386.tar.gzlsmv prometheus-2.17.2.linux-386 /usr/local/prometheusls /usr/local/prometheus/2)修改prometheus配置文件 , 修改最后一行 , 将IP地址改为本机IP
vim /usr/local/prometheus/prometheus.ymlstatic_configs:- targets: ['192.168.4.10:9090']检查配置配置文件是否有语法错误
/usr/local/prometheus/promtool check config /usr/local/prometheus/prometheus.yml3)编写服务service文件 , 使用systemd管理服务
vim /usr/lib/systemd/system/prometheus.service[Unit]Description=Prometheus Monitoring SystemDocumentation=Prometheus Monitoring System[Service]ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml[Install]WantedBy=multi-user.target设置服务器开机自启动服务 , 并立刻启动该服务
systemctlenable prometheus.service --now4)设置防火墙、SELinux(如果已经关闭则可以忽略此步骤)
firewall-cmd --set-default-zone=trustedsetenforce 0sed -i '/SELINUX/s/enforcing/permissive/' /etc/selinux/config步骤二:查看监控控制台
1)查看监控主机、监控数据 。
使用浏览器firefox或者google-chrome访问http://192.168.4.10:9090 。查看监控主机 , 点击"Status" -- "Targets" 查看主机 , 效果如图所示:
从零搭建Prometheus+Grafana监控报警系统

文章插图
 
查看具体监控数据 , 点击"Graph" , 选择监控数据 , 如go_memstats_alloc_bytes , 点击《Execute》效果如图所示:
从零搭建Prometheus+Grafana监控报警系统

文章插图
 
查看监控数据对应的监控图形 , 效果如图所示:
从零搭建Prometheus+Grafana监控报警系统

文章插图
 
二、配置Prometheus被监控端主机
  1. 安装被监控端软件
  2. 编写service文件
  3. 修改监控服务器配置文件
  4. 查看监控数据
步骤如下:
步骤一:部署被控制端export
1)安装软件(192.168.4.11主机操作)
tar -xf node_exporter-1.0.0-rc.0.linux-amd64.tar.gzlsmv node_exporter-1.0.0-rc.0.linux-amd64 /usr/local/node_exporterls /usr/local/node_exporter2)编写服务service文件(192.168.4.11主机操作)
vim /usr/lib/systemd/system/node_exporter.service[Unit]Description=node_exporterAfter=network.target[Service]Type=simpleExecStart=/usr/local/node_exporter/node_exporter[Install]WantedBy=multi-user.targetsystemctlenable node_exporter –now3)设置防火墙、SELinux(如果已经关闭则可以忽略此步骤)
firewall-cmd --set-default-zone=trustedsetenforce 0sed -i '/SELINUX/s/enforcing/permissive/' /etc/selinux/config4)修改监控服务器配置文件(192.168.4.10主机操作) 。
参考配置文件最后的模板 , 在文件末尾添加3行新内容 , 具体内容如下:


推荐阅读