1.exporter
exporter是什么
广义上向prometheus提供监控数据的程序都可以成为一个exporter的,一个exporter的实例称为target, exporter来源主要2个方面,一个是社区提供的,一种是用户自定义的。
常用exporter
官方和一些社区提供好多exproter, 我们可以直接拿过来采集我们的数据。 官方的exporter地址: https://prometheus.io/docs/instrumenting/exporters/
安装node-exporter示例
假如我们想采集服务器(ip:106.14.13.61)的内核硬件以及系统指标等信息,我们就用到exporter的一种:node-exporter。
登录到服务器,执行以下步骤进行安装
- 拉取镜像
docker pull prom/node-exporter
- 启动
docker run -d -p 9100:9100 \
-v "/proc:/host/proc:ro" \
-v "/sys:/host/sys:ro" \
-v "/:/rootfs:ro" \
--net="host" \
prom/node-exporter
- 查看是否启动成功
[root@iZuf60tktze54jh7ucqlcrZ ~]# netstat -anpt
tcp6 0 0 :::9100 :::* LISTEN 2214/node_exporter
访问url:
http://106.14.13.61:9100/metrics
可以看到一些数据
2.prometheus采集数据
新建目录prometheus,编辑配置文件prometheus.yml,指定要监控的对象,这里的106.14.13.61:9100为上文node-exporter暴露出来的地址。
mkdir /opt/prometheus
cd /opt/prometheus/
vim prometheus.yml
global:
scrape_interval: 60s
evaluation_interval: 60s
scrape_configs:
- job_name: prometheus
static_configs:
- targets: ['106.14.13.61:9100']
labels:
instance: prometheus
启动prometheus
docker run -p 9090:9090 -v /opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
访问targets url:
http://192.168.132.131:9090/targets
如果状态没有UP起来,等待一会,就会UP了。至此prometheus遍可以监控node-exporter的信息了。
3.grafana
为什么需要grafana
prometheus统计的是实时的信息,无法存储历史信息,并且界面很丑。
grafana安装
新建空文件夹grafana-storage,用来存储数据
mkdir /opt/grafana-storage
设置权限
chmod 777 -R /opt/grafana-storage
因为grafana用户会在这个目录写入文件,直接设置777,比较简单粗暴!
启动grafana
docker run \
-p 3000:3000 \
--name=grafana \
-v /opt/grafana-storage:/var/lib/grafana \
grafana/grafana
访问url:
http://192.168.132.131:3000
默认会先跳转到登录页面,默认的用户名和密码都是admin
登录之后,它会要求你重置密码。你还可以再输次admin密码!
开始使用
添加数据源
http://192.168.132.131:9090
导入dashboard模板或者输入官方模板ID如9276