postgres_exporter pika_exporter redis_exporter+prometheus+grafana监控
安装postgres_exporter
1) 通过二进制文件安装
- postgres_exporter安装
各个版本的postgres_exporter https://github.com/wrouesnel/postgres_exporter/releases
以linux系统为例,下载编译好的二进制包,解压使用:
$ wget https://github.com/wrouesnel/postgres_exporter/releases/download/v0.5.1/postgres_exporter_v0.5.1_linux-amd64.tar.gz
$ tar -xvf postgres_exporter_v0.5.1_linux-amd64.tar.gz
$ mv postgres_exporter_v0.5.1_linux-amd64 /usr/local/postgres_exporter
- 验证是否安装成功
$ cd /usr/local/postgres_exporter
$ ./postgres_exporter --version
postgres_exporter v0.5.1 (built with go1.11)
- 设定DATA_SOURCE_NAME 环境参数
$ export DATA_SOURCE_NAME="postgresql://DB_USER_NAME:PASSWORD@DB_HOST:DB_PORT/DB_NAME?sslmode=disable"
将上面的DB_USER_NAME:PASSWORD,DB_HOST:DB_PORT改成自己的用户、密码、主机ip及端口,DB_NAME可以用postgresql,也可以写到/etc/profile中,永久生效。
例:
$ export DATA_SOURCE_NAME="postgresql://test:test@127.0.0.1:5432/test?sslmode=disable"
- 创建systemd服务
$ vim /lib/systemd/system/postgres_exporter.service
[Unit]
Description=postgres_exporter
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/postgres_exporter/postgres_exporter
Restart=on-failure
[Install]
WantedBy=multi-user.target
- 启动postgres_exporter
$ systemctl daemon-reload
$ systemctl start postgres_exporter
- 验证是否启动成功
默认监听端口为9187
$ systemctl status postgres_exporter
$ netstat -lnpt|grep 9187
2) 通过docker安装
用二进制文件安装时需要在每个被监控主机上声明变量,会暴露数据库的用户名及密码,不是很安全,所以还可以通过docker在监控端进行安装。
- docker运行
$ docker run -itd --name postgres_exporter -p 9187:9187 -e DATA_SOURCE_NAME="postgresql://test:test@localhost:5432/test?sslmode=disable" wrouesnel/postgres_exporter
- 验证是否启动成功
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cca60b0eb684