Prometheus-监控-报警-运维文档
Prometheus-监控-报警-运维文档
2019/09/25 Chenxin
参考资料
https://prometheus.io/ 官网
https://prometheus.io/docs/prometheus/latest/getting_started/ 官网文档
https://github.com/prometheus Git仓库
https://github.com/prometheus/node_exporter 代理端
本文档形成缘由:因Grafana需要此数据源,故需要prometheus收集数据.
简介
Prometheus是一个开源的服务监控系统,它通过HTTP协议从远程的机器收集数据并存储在本地的时序数据库上。
特点:
多维数据模型(时序列数据由metric名和一组key/value组成).
在多维度上灵活的查询语言(PromQl).
不依赖分布式存储,单主节点工作.
通过基于HTTP的pull方式采集时序数据.
可以通过push gateway进行时序列数据推送(pushing).
可以通过服务发现或者静态配置去获取要采集的目标服务器.
多种可视化图表及仪表盘支持.
Prometheus通过安装在远程机器上的exporter来收集监控数据,后面我们将使用到node_exporter收集系统数据.
具体架构图请参考官网.
Server-A和B,分别安装exporter收集器,并监听9100端口.Prometheus通过HTTP协议收集数据并记录在本地.Grafana访问Prometheus的9000端口获取数据并展示到前端.
Prometheus服务端安装部署,启停
node_exporter代理端: 10.0.0.10:9100 (先安装,请参考下文)
Prometheus服务器端: 10.0.0.19:9090 (后安装)
下载地址
https://prometheus.io/download/
cd /opt/
wget https://github.com/prometheus/prometheus/releases/download/v2.12.0/prometheus-2.12.0.linux-amd64.tar.gz
tar xzvf prometheus-2.12.0.linux-amd64.tar.gz
mv prometheus-2.12.0.linux-amd64 /usr/local/prometheus
cd /usr/local/prometheus/
vim prometheus.yml
添加
- job_name: wuweiwei-test-srv
static_configs:
- targets: ['10.0.0.10:9100']
labels:
instance: sys1
/etc/profile -> export PATH='/usr/local/prometheus':$PATH
source /etc/profile
启动
prometheus --config.file="/usr/local/prometheus/prometheus.yml" >/usr/local/prometheus/prometheus-nohup.out 2>&1 &
node_exporter代理端安装部署
第三方 EXPORTERS AND INTEGRATIONS列表(各种exporter可以下载)
https://prometheus.io/docs/instrumenting/exporters/
安装官方'服务器监测'node_exporter代理
cd /opt/
wget https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz
tar xzvf node_exporter-0.18.1.linux-amd64.tar.gz
mv node_exporter-0.18.1.linux-amd64 /usr/local/node_exporter
tail /etc/profile -> export PATH='/usr/local/node_exporter':$PATH
source /etc/profile
node_exporter > /usr/local/node_exporter/node_exporter-nohup.out 2>&1 &
控制台
http://47.90.122.110:9090/targets
确认是否都已经为"up"状态.
文件结构与配置文件
prometheus服务端: /usr/local/prometheus/prometheus.yml 可手动添加监控节点
exporter代理端: /usr/local/node_exporter 无需配置
权限与用户
略
报警
略
备份与恢复
主要备份配置文件即可. /usr/local/prometheus/prometheus.yml