1、部署监控主机
部署主机监控,需要安装node_exporter
1.1 下载node exporter
wget https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz tar -xf node_exporter-0.18.1.linux-amd64.tar.gz #新建一个目录专门安装各种exporter mkdir -p /export/prometheus_exporter mv node_exporter-0.18.1.linux-amd64 /export/prometheus_exporter/ cd /export/prometheus_exporter/ mv node_exporter-0.18.1.linux-amd64/ node_exporter
1.2 加入linux服务,启动node exporter
直接打开node_exporter的可执行文件即可启动 node export,默认会启动9100端口。建议使用systemctl来启动
# vim /etc/systemd/system/node_exporter.service
[Unit]
Description=node_exporter
After=network.target
[Service]
Restart=on-failure
ExecStart=/export/prometheus_exporter/node_exporter/node_exporter
[Install]
WantedBy=multi-user.target
1.3 加入开机启动
# systemctl enable node_exporter
# systemctl start node_exporter
1.4 配置Prometheus,收集node exporter的数据
可以看到node exporter启动后也就是暴露了9100端口,并没有把数据传到prometheus,我们还需要在prometheus中配置,让prometheus去pull这个接口的数据。
编辑prometheus.yml文件,增加后面4行.
scrape_configs: - job_name: 'prometheus' static_configs: - targets: ['localhost:9090'] #采集node exporter监控数据 - job_name: 'node' static_configs: - targets: ['localhost:9100']
然后重启prometheus,打开prometheus页面查看是不是有对应的数据了。
在prometheus的web界面看到这个节点是up的状态了。
2、部署监控Redis
部署主机监控,需要安装redis_exporter
2.1 下载redis exporter
#使用docker启动redis监控客户端 docker run -d --name redis_exporter -p 9121:9121 oliver006/redis_exporter --restart=always
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
23f8171fb0af oliver006/redis_exporter "/bin/redis_exporter" 3 seconds ago Up 3 seconds
2.2 配置Prometheus.yaml文件
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: ['localhost:9090'] - job_name: node_exporter static_configs: - targets: ['10.39.43.120:9100'] - job_name: 'mysql global status' scrape_interval: 15s static_configs: - targets: - 10.39.43.120:9104 params: collect[]: - global_status - job_name: 'mysql performance' scrape_interval: 1m static_configs: - targets: - '10.39.43.120:9104' params: collect[]: - perf_schema.tableiowaits - perf_schema.indexiowaits - perf_schema.tablelocks - job_name: redis_exporter static_configs: - targets: ['10.39.43.120:9121']