原理
node_exporter:它的作用主要是收集性能测试的数据,如cpu、内存磁盘网络等信息,然后将数据保存到prometheus,相当于将数据存入到数据库中;想要监控不同的内容,就使用不同的exporter,比如mysqld_exporter
Prometheus:虽然说是监控平台,但是实际上是一套数据库,用于做数据存储,不能做展示,因此我们需要用到Grafana组件
Grafana:主要用于数据展示,并且可以做到定时读取数据
总结:
- node_exporter是采集器,负责将采集的数据存储到prometheus数据库,然后grafana取promethues数据库的数据进行展示,放被测服务器,默认端口9100
- Grafana + Prometheus:为避免影响性能尽量方非被测服务器上,Grafana 默认端口3000,Prometheus默认端口9090
搭建
部署前的准备:
关闭linux机器的防火墙:systemctl stop firewalld
保证所有linux机器时间是准确的,执行date命令检查;如果不准,可以使用ntp命令同步网络时间
1、node_exporter:
node_exporter包上传到被测服务器上,进入解压后的文件夹,进入安装目录下启动命令:./node_exporter
启动效果如下:
http://YouExporter_IP:9100/metrics这个能访问,说明node_exporter是正常的,网络也是可以被访问的:
2、Prometheus:
2.1 把prometheus的包,放到非被测服务器上,解压后,进入解压后的文件夹,执行prometheus:./prometheus
通过日志,我们发现 prometheus.yml 是它的配置文件:
2.2 exporter与 prometheus进行关联(数据联通)
打开Prometheus.yaml配置文件,在文件的末尾增加监测的ip和端口,需要监测多个服务器时使用逗号隔开,这里追加node_exporter的ip端口,如下图
修改prometheus.yml:vi prometheus.yml
yml文件的两个特别重要的语法: 缩进(对齐)、 key的冒号后面,有一个空格;
在prometheus.yml文件后面加入以下内容:
- # job_name 可以自定义
- job_name: ‘node_exporter’
- static_configs:
- targets: [‘192.168.2.131:9100’,‘nodeexporter_IP:9100’]
然后,保存,退出;【注意换成自己的IP】
杀掉启动的进程,重新启动命令生效:./prometheus
启动应用查看是否监控成功:通过浏览器访问http://prometheus_IP:9090
3、Grafana:
展示收集的数据,官网下载
启动命令:systemctl start grafana-server.service
接下来Grafana添加Prometheus数据
浏览器访问 http://your ip:3000/graph 进入grafana界面,默认登录用户名密码都为admin,登录后界面如下:
配置Grafana从Prometheus拉取监控数据
配置prometheus数据源,点击 DATA SOURCES 去配置数据源,如下
添加数据源的页面有很多可选数据源,我们选择prometheus
配置prometheus的url测试保存
新增一个监控模板,步骤如下:
进入grafana官网 https://grafana.com/
从菜单栏Grafana中选择Dashboards,进入dashboards模板页面,复制ID,这里用的是8919,在grafana上import 监听模块,如图所示:
导入后即可看到当前服务器监控面板信息
标签:node,exporter,Prometheus,grafana,prometheus,Grafana From: https://www.cnblogs.com/cm21/p/18259029