Prometheus And Grafana 1
Page content
0. Intro
监控是运维人员的基本要求,需要对自己管理的服务器资源运行状况了如指掌,发生故障时要能及时处理。
有关监控,这里有一篇文章 Metrics, tracing, and logging 介绍了不同维度监控的关系、作用,理解了这一层之后,针对实际管理服务器需要,选择了 Prometheus + Grafana 来搭建监控系统。
1. 安装 Prometheus
从官网下载二进制包:
1$ export VERSION=2.14.0
2$ curl -LO https://github.com/prometheus/prometheus/releases/download/v$VERSION/prometheus-$VERSION.linux-amd64.tar.gz
3$ tar -zxf prometheus-$VERSION.linux-amd64.tar.gz在某处建立新的文件夹,用于存储运行时的配置、数据库:
1$ cd /data
2$ mkdir -p prometheus/data查看解压后的目录,其中可执行文件 prometheus,和配置文件 prometheus.yml 是我们需要用的。
1$ cd prometheus-$VERSION.linux-amd64
2$ ls
3console_libraries/ consoles/ LICENSE NOTICE prometheus* prometheus.yml promtool* tsdb*
4$ cp prometheus /usr/bin/prometheus
5$ cp prometheus.yml /data/prometheus/prometheus.yml将 prometheus 注册为系统服务:
1$ sudo vim /usr/lib/systemd/system/prometheus.service 1[Unit]
2Description=Prometheus
3After=network.target
4
5[Service]
6ExecStart=/usr/bin/prometheus --config.file=/data/prometheus/prometheus.yml --storage.tsdb.retention.time=30d --storage.tsdb.path=/data/prometheus/data
7User=root
8
9[Install]
10WantedBy=multi-user.target1$ sudo systemctl enable prometheus
2$ sudo systemctl start prometheusPrometheus 默认暴露在 9090 端口,访问可以看到其自带的 UI 界面:

这个 UI 并不是很好用,我们用 Grafana 替代。
2. 安装 Grafana
Grafana 没有多少要配置的,所以用 docker 部署:
1$ docker run -d \
2 -p 3000:3000 \
3 --name grafana \
4 --restart always \
5 -v /grafana:/var/lib/grafana \
6 grafana/grafana:latest打开 3000 端口,在 Grafana 中选择 Configuration -> Data Sources,添加 Prometheus 数据源:

现在添加 Dashboard 也没有意义,下一篇介绍有哪些指标值得监控。