Prometheus第2篇高级配置举例
范例1:监控多台服务器
概述:
主要用到Prometheus主服务和node_export,Prometheus主服务是必不可少的,第一篇已介绍过安装,其次是node_export,它是一个可选组件,除了node_export还有mysql_export,nginx_export等,范例1主要是讲如何监控服务器,所以我们要用node_export
环境:
两台服务器
node_export 装在需要被监控的服务器上,此处两台服务器都要安装,Prometheus主服务安装一个即可,随便安装在哪个服务器上。
172.17.25.245
172.17.25.122
搭建:
- Step1 下载解压
node_export
tar -zxvf node_exporter-0.15.2.linux-amd64.tar.gz
- Step2 运行
sudo ./node_exporter
或者直接使用docker
sudo docker run -d -p 9100:9100 --restart=always prom/node-exporter:latest
-
Step3 查看启动结果
启动结果 -
Step4 Prometheus主服务器与node_export相关联
修改Prometheus主服务器的配置文件prometheus.yml
添加:
- job_name: 'node'
static_configs:
- targets: ['172.17.25.122:9100']
prometheus.yml
bozhon@bozhon:~$ cat docker/volumes/prometheus/prometheus.yml
# my global config
global:
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
# scrape_timeout is set to the global default (10s).
# Alertmanager configuration
alerting:
alertmanagers:
- static_configs:
- targets:
# - alertmanager:9093
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
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'
static_configs:
- targets: ['172.17.25.122:9100']
-
Step5 查看结果
结果
范例2:使用Grafana展现监控数据
前言:
Grafana是一个可视化面板(Dashboard),有着非常漂亮的图表和布局展示,功能齐全的度量仪表盘和图形编辑器
其实Prometheus自带的UI界面也不错,但是Grafana更加的美观炫酷,,它从2.5.0版开始直接支持Prometheus的数据。所以我们可以选择Grafana来做我们的监控UI
配置步骤:
- Step1 安装启动Grafana
使用docker运行: sudo docker run -d --name grafana --restart=always -p 3000:3000 grafana/grafana
- Step2 配置数据源
输入默认的admin/admin登录grafana。选择左侧的Data Sources,然后点击上面的Add new按钮,便可以把prometheus作为数据源导入
参数参考下图 (一般情况下端口是9090,不过这个端口被我其他的服务占用了,所以当时配置的是7070)
数据源配置
-
Step2 验证数据库连接,点击左下角 save&test
验证连接 -
Step3 添加图表
Dashboards -> New -> graph
添加graph -
Step4 编辑图表
点击1处的panel title 再点击2处的edit 会出现3处的编辑区
在4处写要查询的语句,点击5查看即可
编辑图表 -
Step5 结果展示
本示例中填写的查询语句是node_memory_Active
查询的是节点的内存情况,展示结果如下图所示,我们看到有2条线,这两条线就是下一篇会针对查询语句做一个总结
结果展示