服务器及相关组件监控
基础环境安装部署
Prometheus安装部署
Prometheus
官方有对应的docker镜像,通过docker镜像进行部署,不仅部署起来方便,还会使系统整体上更加整洁,便于后期的维护。直接拉去对应的镜像,并将其封装打包用docker-compose
进行维护即可。具体操作如下:
-
官网获取最新Prometheus相关版本,访问Prometheus官网,点击跳转到docker界面获取下载链接
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
进入界面,得到当前最新版本镜像,如下图:
-
服务器直接拉去该镜像即可
docker pull prom/prometheus:v2.47.2
- 创建Prometheus应用目录和相关配置文件
mkdir prometheus
cd prometheus
touch docker-compose.yml prometheus.yml
mkdir -m 777 prometheus_data
docker-compose.yml
文件内容如下:
version: '2.4'
services:
prometheus:
image: prom/prometheus:v2.47.2
container_name: prometheus
hostname: prometheus
restart: always
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
- ./prometheus_data:/prometheus
ports:
- "9090:9090"
cpus: 4
prometheus.yml
文件内容如下:
global:
scrape_interval: 1m
evaluation_interval: 1m
alerting:
alertmanagers:
- static_configs:
- targets:
#- 255.255.255.255:9093
rule_files:
- "rules/*.yml"
scrape_configs:
#监控Prometheus自身
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
- 启动应用并验证
docker-compose up -d
浏览器访问服务器9090
端口若页面可以正常加载,表明安装成功
- 停止应用并封装
docker-compose down
docker save prom/prometheus:v2.47.2 | gzip > prometheus.image.tgz
封装完成后,直接将整个Prometheus目录拷贝到生产环境启动即可。
alertmanager安装部署
同样的方法,从docker界面点击可以看到alertmanager最新的版本镜像
直接拉取最新镜像即可实现
docker pull prom/alertmanager:v0.26.0
创建alertmanager.yml
文件,内容设置告警模式为webhook
并指定告警url,内容如下:
global:
resolve_timeout: 5m
route:
group_by: ['alertname']
group_wait: 10s
group_interval: 10s
repeat_interval: 1h
receiver: 'webhook'
receivers:
- name: 'webhook'
webhook_configs:
- url: 'http://<告警url>'
inhibit_rules:
- source_match:
severity: 'critical'
target_match:
severity: 'warning'
equal: ['alertname', 'dev', 'instance']
修改docker-compose.yml
文件,添加alertmanager
应用启动信息,具体如下:
version: '2.4'
services:
prometheus:
image: prom/prometheus:v2.47.2
container_name: prometheus
hostname: prometheus
restart: always
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
- ./prometheus_data:/prometheus
ports:
- "9090:9090"
cpus: 4
alertmanager:
image: prom/alertmanager:v0.26.0
container_name: prom_alertmanager
hostname: alertmanager
restart: always
depends_on:
- prometheus
ports:
- "9093:9093"
volumes:
- ./alertmanager.yml:/etc/alertmanager/alertmanager.yml
- ./alertmanager:/alertmanager
启动应用
docker-compose down && docker-compose up -d
浏览器访问alertmanager
应用首页
grafana安装部署
grafana组件作为可视化工具,提供了丰富的可视化界面,同时还有丰富的开源社区,可以下载到很多优质的可视化panel,极大的方便了系统运维人员。
为方便后期运维,grafana的安装方法同样采用docker进行安装,具体步骤如下:
- 获取最新镜像并拉取,访问docker官方仓库,搜索grafana,复制最新镜像并从服务器上拉取
拉取镜像 ```shell docker pull grafana/grafana:10.2.0 ``` 
- 创建应用目录并配置应用启动文件
mkdir grafana
cd grafana
mkdir data
touch docker-compose.yml
docker-compose.yml
文件内容如下:
version: '3'
services:
app:
image: "grafana/grafana:10.2.0"
user: "root"
network_mode: "host"
restart: always
volumes:
- ./data:/var/lib/grafana
- 启动应用并访问首页
docker-compose up -d
- 将Prometheus数据源导入grafana
- 导入相关监控模板
至此,服务器组件监控的基础环境搭建完成。
服务器监控
服务器监控需要安装部署node-exporter
组件,可以直接本地部署,也可以通过容器进行部署,推荐使用容器进行部署。
-
从官网上下载
node-exporter
应用的镜像包,直接通过docker-compose
进行启动。
-
创建应用并配置
docker-compose.yml
启动文件
-
拉取镜像并启动应用
拉取镜像
docker-compose pull
拉取镜像前,需要quay.io
添加到docker服务器的配置文件的insecure-registries
参数中,否则会拉取失败
启动应用
docker-compose up -d
- 配置Prometheus采集策略,修改
prometheus.yml
文件,将对应node的api端口添加到配置文件中并重启应用
其他组件的监控可以与服务器监控类型
可以到prometheus
官网下载并配置对应exporter
组件,将其配置到Prometheus的采集列表中(修改prometheus.yml
文件),配置Prometheus告警阈值rules(添加prometheus_rules文件)后方可实现对相关组件的监控。