监控利器-prometheus安装与部署+实现邮箱报警
作为网站站长,我们经常需要监控网站的性能和运行状态。为了实现这一目的,通常需要使用一些监控工具。其中,prometheus是一款功能强大的监控利器,可以监控许多不同类型的系统和服务,并提供灵活的警报通知方式。在本文中,将介绍prometheus的安装、部署和实现邮箱报警的过程。
安装与部署
安装prometheus
在开始安装prometheus之前,确保您已经安装了Docker和Docker-compose。
1.创建一个新的目录并切换到该目录下
shell
mkdir prometheus && cd prometheus
2.创建一个新的docker-compose.yaml文件,如下所示
yaml
version: "3.8"
services:
prometheus:
container_name: prometheus
image: prom/prometheus:v2.26.0
ports:
- "9090:9090"
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
3.从Docker Hub上拉取最新的prometheus镜像并且运行
shell
docker-compose up -d
4.使用浏览器访问http://localhost:9090,进入prometheus后台管理界面,在这里可以配置监控的targets以及警报规则等等。
部署Node Exporter
Node Exporter是用于监视Linux服务器资源使用情况的一种服务,它可以帮助我们收集本地服务器的各类监控指标。
1.创建一个新的目录并切换到该目录下
shell
mkdir node_exporter && cd node_exporter
2.创建一个新的docker-compose.yaml文件,如下所示
yaml
version: "3.8"
services:
node_exporter:
container_name: node_exporter
image: prom/node-exporter:v1.2.2
ports:
- "9100:9100"
3.从Docker Hub上拉取最新的node_exporter镜像并且运行
shell
docker-compose up -d
4.在prometheus的配置文件prometheus.yml中添加Node Exporter的exporter,如下所示
yaml
scrape_configs:
- job_name: 'node_exporter'
scrape_interval: 5s
static_configs:
- targets: ['node_exporter:9100']
实现邮箱报警
安装Alertmanager
Alertmanager是prometheus中的一个组件,它用于对警报进行收集、分类、传递、暂停等操作。通过这个可以非常方便地实现邮件报警。
1.创建一个新的目录并切换到该目录下
shell
mkdir alertmanager && cd alertmanager
2.下载并解压最新版本的Alertmanager二进制文件
shell
wget https://github.com/prometheus/alertmanager/releases/download/v0.23.0/alertmanager-0.23.0.linux-amd64.tar.gz
tar zxvf alertmanager-0.23.0.linux-amd64.tar.gz
cd alertmanager-0.23.0.linux-amd64
3.在alertmanager的配置文件alertmanager.yml中配置邮件报警相关信息,如下所示
yaml
global:
smtp_smarthost: 'smtp.gmail.com:587'
smtp_from: 'sender@gmail.com'
smtp_auth_username: 'sender@gmail.com'
smtp_auth_password: 'password'
smtp_require_tls: true
email_config:
to: 'receiver@example.com'
from: 'sender@example.com'
headers:
Subject: '[Alert] {{ template "subject" . }}'
route:
receiver: 'email'
group_wait: 30s
group_interval: 5m
repeat_interval: 24h
routes:
- match:
alertname: Watchdog
receiver: 'email'
receivers:
- name: 'email'
email_configs:
- to: 'receiver@example.com'
send_resolved: true
其中需要将smtp_smarthost、smtp_from、smtp_auth_username和smtp_auth_password等信息更换成您的邮箱账号和密码。另外,还需要将to和from地址这两个配置信息中的email地址更换成您自己的邮箱地址。
4.运行Alertmanager
shell
./alertmanager --config.file=alertmanager.yml &
5.在prometheus配置文件prometheus.yml中配置报警规则,如下所示
yaml
rule_files:
- "/etc/prometheus/rules/*.rules"
scrape_configs:
- job_name: 'node_exporter'
scrape_interval: 5s
static_configs:
- targets: ['node_exporter:9100']
alerting:
alertmanagers:
- static_configs:
- targets: ['alertmanager:9093']
6.创建报警规则文件,并放置在/prometheus/rules文件夹中,如下所示
yaml
groups:
- name: Node_Exporter_Rules
rules:
- alert: Memory_Usage_Too_High
expr: (node_memory_MemTotal-node_memory_MemFree-node_memory_Buffers-node_memory_Cached)/node_memory_MemTotal*100 > 70
for: 1m
labels:
severity: warning
annotations:
summary: "Instance {{$labels.instance}} memory usage is high."
description: "The memory usage of instance {{$labels.instance}} has exceeded 70%."
这里的报警规则可以根据不同需求自行编写。
7.重启Prometheus
shell
docker restart prometheus
现在,当监测指标满足报警规则时,Alertmanager就会通过邮件的形式发送警报信息到指定邮箱。
总结
本文介绍了prometheus的安装、部署和实现邮箱报警的过程。通过这些步骤,我们可以快速搭建一个强大的监控系统来监控网站的性能和运行状态,并且实现灵活的警报通知方式。希望对大家有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:监控利器-prometheus安装与部署+实现邮箱报警 - Python技术站