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.target
1$ sudo systemctl enable prometheus
2$ sudo systemctl start prometheus

Prometheus 默认暴露在 9090 端口,访问可以看到其自带的 UI 界面:

prometheus-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 数据源:

grafana-add-data-source

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