Prometheus
Server端安装 prometheus
/ alertmanager
/ node_expoter
一、安装prometheus server
0.获取软件包(略)、解压复制二进制文件
1 2
| tar -xf ./packages/alertmanager-0.15.3.linux-amd64.tar.gz mv alertmanager-0.15.3.linux-amd64/alertmanager /usr/local/sbin/
|
1.创建运行用户
1
| adduser -M -s /sbin/nologin prometheus
|
2.创建用户所有者目录
1 2 3 4 5 6 7 8 9 10 11 12 13
| mdkir /usr/local/share/prometheus/prometheus_server -p chown -R prometheus:prometheus /usr/local/share/prometheus
mkdir /var/lib/prometheus/data chown -R prometheus:prometheus /var/lib/prometheus/data
mdkir /usr/local/share/prometheus/prometheus_alertmanager
mkdir /var/lib/alertmanager/data -p chown -R prometheus:prometheus /var/lib/alertmanager/data
|
3.创建prometheus server systemd文件
1 2 3 4 5 6 7 8 9 10
| cp ./conf/systemd_conf/prometheus.service /etc/systemd/system/
# 服务操作 systemctl daemon-reload systemctl start prometheus systemctl enable prometheus systemctl status prometheus
# 保证端口以及进程 ps aux | grep prometheus | grep -v grep && ss -tunl | grep 9090 | grep -v grep
|
4.访问:
二、安装prometheus AlertManager
0.获取软件包(略)、解压复制二进制文件
1 2
| tar -xf ./packages/prometheus-2.4.2.linux-amd64.tar.gz mv prometheus-2.4.2.linux-amd64/prometheus /usr/local/sbin/
|
1.创建prometheus alertmanager systemd文件
1 2 3 4 5 6 7 8 9
| cp ./conf/systemd_conf/alertmanager.service /etc/systemd/system/
# 服务操作 systemctl daemon-reload systemctl start alertmanager systemctl enable alertmanager systemctl status alertmanager # 保证端口以及进程 ps aux | grep alertmanager | grep -v grep && ss -tunl | grep 9093 | grep -v grep
|
2.将alertmanager跟prometheus server结合
修改prometheus server配置:
1 2 3 4 5 6
| vim /usr/local/share/prometheus/prometheus_server/prometheus.yml # Alertmanager configuration alerting: alertmanagers: - static_configs: - targets: ['localhost:9093']
|
3.访问:
三、安装Node Exporter收集主机信息
数据收集的任务由不同的 exporter 来完成,如果要收集 linux 主机的信息,可以使用 node exporter。然后由 Prometheus Server 从 node exporter 上拉取信息。
0.获取软件包(略)、解压复制二进制文件
1 2
| tar -xf ./packages/node_exporter-0.17.0-rc.0.linux-amd64.tar.gz mv node_exporter-0.17.0-rc.0.linux-amd64/node_exporter /usr/local/sbin/
|
1.把 node exporter 也配置成通过 systemd 管理, 创建文件 /etc/systemd/system/node-exporter.service
1 2 3 4 5 6 7 8 9 10 11
| cp ./conf/systemd_conf/node_exporter.service /etc/systemd/system/node-exporter.service
systemctl daemon-reload systemctl enable node-exporter systemctl start node-exporter systemctl status node-exporter
ps aux | grep node_exporter | grep -v grep && ss -tunl | grep 9100 | grep -v grep
|
Prometheus Server 可以从不同的 exporter 上拉取数据,对于上面的 node exporter 我们可以利用 Prometheus 的static_configs 来拉取 node exporter 的数据。conf/prometheus_server_conf/prometheus/prometheus.yml
中已经定义好了
1 2 3
| - job_name: 'node' static_configs: - targets: ['66.112.211.12:9100']
|
重启各服务;重启后 prometheus 服务会每隔 15s 从 node exporter 上拉取一次数据。
Prometheus Server 提供了简易的 WebUI 可以进数据查询并展示,它默认监听的端口为 9090。接下来我们进行一次简单的查询来验证本文安装配置的系统。
关于各项指标的规则还需要通过编写rule条目来实现;这里简单实现了wechat跟email的报警配置,具体可看规则配置文件conf/prometheus_server_conf/prometheus/rules/hoststas-alert.rules
以及报警触发配置文件alertmanager_conf/alertmanager.yml
;