前言
环境:centos7.9 grafana 8.3
node_exporter和pushgateway的介绍
采集客户端数据通常由2种做法,一种是在目标主机上安装node_exporter
,Prometheus Server
会周期性的去目标主机上pull拉取数据;另外一种是在目标主机上编写采集脚本,将数据推送给pushgateway
,pushgateway
将数据推送给Prometheus Server
。
node_exporter
和DB_exporter
即可满足大部分中小型企业的,其他种类的数据可以使用pushgateway
来采集。
exporter有很多种类型,比如node-exporter是采集宿主机数据指标的,redis-exporter是采集redis数据指标的,mysql-exporter是采集mysql数据指标的。
Prometheus安装node_exporter
#下载地址
wget https://github.com/prometheus/node_exporter/releases/download/v1.4.0/node_exporter-1.4.0.linux-amd64.tar.gz
#安装
tar -xvf node_exporter-1.4.0.linux-amd64.tar.gz -C /usr/local/
cd /usr/local/
ll
./node_exporter --help
#启动node_exporter
nohup ./node_exporter &
#端口正常启动
lsof -i:9100
查看node_exporter 是否正常采集到了数据
#如下所示,node_exporter已经采集到了很多key-value类型的数据,这些数据就可以在Prometheus server抓取到了
[root@master node_exporter-1.4.0.linux-amd64]# curl -s 192.168.118.132:9100/metrics | head
go_gc_duration_seconds{quantile="0"} 1.9831e-05
go_gc_duration_seconds{quantile="0.25"} 3.8726e-05
go_gc_duration_seconds{quantile="0.5"} 5.731e-05
配置prometheus server 抓取exporter数据
如上所示,我们在目标主机上安装了node_exporter
,node_exporter
已经采集了很多key-value类型的数据,这是就需要配置Prometheus server
周期性的去pull拉取目标主机上的node_exporter
采集到的数据了,简单来说,就是在Prometheus 种配置一个job任务。
#进入Prometheus server服务器,进入安装目录
cd /usr/local/prometheus-2.5.0.linux-amd64
vim prometheus.yml #编辑Prometheus的配置文件
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: 'prometheus'
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ['192.168.118.129:9100']
- job_name: 'node1' #添加一个job,名字自定义
static_configs:
- targets: ['192.168.118.132:9100'] #设置目标主机的node_exporter的ip+端口
#重启prometheus
nohup ./prometheus &
查看Prometheus server是否抓取到数据
打开prometheus
的web页面,http://192.168.118.129:9090/
,输入下面的查询,有数据则说明Prometheus server已经pull 拉取到了目标主机的node_exporter采集的数据,或者查看targets是否正常。
node_load1{instance="192.168.118.132:9100",job="node1"}