当前位置: 首页 > news >正文

Prometheus+Grafana监控服务器、mysql数据库并配置报警规则推送邮箱

文章目录

  • 一、安装prometheus
    • 1.1下载
    • 1.2 安装
    • 1.3 开机启动
    • 1.4 验证
  • 二、安装 Grafana
    • 2.1 下载
    • 2.2 安装
    • 2.3 启动
    • 2.4 验证
  • 三、安装服务器监控 node_exporter
    • 3.1 下载
    • 3.2 安装
    • 3.3 设置 node_exporter 系统服务
    • 3.4 设置开机自动启动
    • 3.5 验证
    • 3.6配置Prometheus
    • 3.7 修改 Prometheus 的配置文件,添加 node_exporter 的绑定
    • 3.8 重启 Prometheus
    • 3.9 在 Grafana 中添加数据源
      • 3.9.1添加数据源
      • 3.9.2数据源选择prometheus
      • 3.9.3 填写prometheus地址
      • 3.9.4选择仪表盘
  • 四、安装mysql监控 mysqld_exporter
    • 4.1 下载
    • 4.2 安装
    • 4.3 注册为系统服务
    • 4.4 启动
    • 4.5 配置prometheus
    • 4.6 配置grafana
      • 4.6.1 创建Dashboard
      • 4.6.2 展示效果
  • 五、配置邮箱报警
    • 5.1 配置发送邮箱
    • 5.2 发送邮箱配置
    • 5.3 配置报警规则

一、安装prometheus

1.1下载

https://prometheus.io/download/

image-20240524094439335

1.2 安装

tar -zxvf prometheus-2.52.0.linux-amd64.tar.gz	
cp -R prometheus-2.47.2.linux-amd64 /usr/local/prometheus
vim /usr/lib/systemd/system/prometheus.service

prometheus.service配置文件内容

[Unit]
Description=Prometheus
Documentation=https://prometheus.io/
After=network.target[Service]
Type=simple
User=root
WorkingDirectory=/usr/local/prometheus
ExecStart=/usr/local/prometheus/prometheus 
Restart=on-failure[Install]
WantedBy=multi-user.target

1.3 开机启动

systemctl daemon-reload
systemctl enable prometheus.service
systemctl start prometheus.service

1.4 验证

http://192.168.1.106:9090/

image-20240524094243743

二、安装 Grafana

2.1 下载

官网

https://grafana.com/grafana/download

下载地址:https://dl.grafana.com/enterprise/release/grafana-enterprise-11.0.0-1.x86_64.rpm

2.2 安装

yum install -y grafana-enterprise-11.0.0-1.x86_64.rpm

2.3 启动

# 开机启动
systemctl enable grafana-server
# 启动
systemctl start grafana-server

2.4 验证

image-20240524095535952

  1. 地址:http://192.168.1.106:3000/
  2. 默认密码:admin/admin
  3. 登录后要求修改原始密码

三、安装服务器监控 node_exporter

3.1 下载

地址:https://github.com/prometheus/node_exporter

下载地址:https://objects.githubusercontent.com/github-production-release-asset-2e65be/9524057/e07e4ee4-e4b0-48dc-9c04-eaad890c81b3?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20240524%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240524T020509Z&X-Amz-Expires=300&X-Amz-Signature=4cc9ade7610f887ebff68dc1ff00fa7b3d6c9ba945a2c86f88de8e8c2366afff&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=9524057&response-content-disposition=attachment%3B%20filename%3Dnode_exporter-1.8.1.linux-amd64.tar.gz&response-content-type=application%2Foctet-stream

3.2 安装

tar -zxvf node_exporter-1.8.1.linux-amd64.tar.gz
cp -R node_exporter-1.8.1.linux-amd64 /usr/local/node_exporter

3.3 设置 node_exporter 系统服务

vim /usr/lib/systemd/system/node_exporter.service
[Unit]
Description=node_exporter
After=network.target[Service]
Type=simple
User=root
ExecStart=/usr/local/node_exporter/node_exporter
Restart=on-failure[Install]
WantedBy=multi-user.target

3.4 设置开机自动启动

systemctl daemon-reload
systemctl enable node_exporter.service
systemctl start node_exporter.service# 查看服务状态
systemctl status node_exporter.service

3.5 验证

访问地址:http://192.168.1.106:9100

image-20240524101332930

3.6配置Prometheus

3.7 修改 Prometheus 的配置文件,添加 node_exporter 的绑定

vim /usr/local/prometheus/prometheus.yml

image-20240524101722749

  - job_name: 'centos-106'static_configs:- targets: ['192.168.1.106:9100']

3.8 重启 Prometheus

systemctl restart prometheus

3.9 在 Grafana 中添加数据源

3.9.1添加数据源

image-20240524105831863

3.9.2数据源选择prometheus

image-20240524105901998

3.9.3 填写prometheus地址

image-20240524105925442

3.9.4选择仪表盘

image-20240524105617939

image-20240524110053217

四、安装mysql监控 mysqld_exporter

4.1 下载

地址:https://github.com/prometheus/mysqld_exporter

mysqld_exporter-0.15.1.linux-amd64.tar.gz

4.2 安装

tar -zxvf mysqld_exporter-0.15.1.linux-amd64.tar.gz
mv mysqld_exporter-0.15.1.linux-amd64 /usr/local/mysql_exporter
cd /usr/local/mysql_exporter
vim /usr/local/mysql_exporter/my-exporter.cnf
[client]
user=root
password=xxxx
host=localhost
port=3306

4.3 注册为系统服务

vim /etc/systemd/system/mysqld_exporter.service
[Unit]
Description=mysqld_exporter
After=network.target
[Service]
Type=simple
User=root
ExecStart=/usr/local/mysql_exporter/mysqld_exporter --config.my-cnf=/usr/local/mysql_exporter/my-exporter.cnf
Restart=on-failure
[Install]
WantedBy=multi-user.target

4.4 启动

# 重新加载系统配置
systemctl daemon-reload
# 开机启动
systemctl enable mysqld_exporter.service
# 启动服务
systemctl start mysqld_exporter
# 查看状态
systemctl status mysqld_exporter

4.5 配置prometheus

vim /usr/local/prometheus/prometheus.yml
- job_name: 'mysql_exporter'static_configs:- labels:instance: master:3306 # 主库标签- targets:- localhost:9104 # mysqld_exporter暴露的端口- labels:instance: slave:3306 # 从库标签- targets:- 172.17.191.255:9104

4.6 配置grafana

4.6.1 创建Dashboard

image-20240524140503627

4.6.2 展示效果

image-20240524140829243

五、配置邮箱报警

5.1 配置发送邮箱

vim /etc/grafana/grafana.ini
# 重启
systemctl restart grafana-server
[smtp]
enabled = true
host = smtp.exmail.qq.com
user = system@qeoten.com
# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
password = NHo4QJEbnNoaU3Jd
;cert_file =
;key_file =
;skip_verify = false
from_address = system@qeoten.com
from_name = zheJiang
# EHLO identity in SMTP dialog (defaults to instance_name)
;ehlo_identity = dashboard.example.com
# SMTP startTLS policy (defaults to 'OpportunisticStartTLS')
;startTLS_policy = NoStartTLS
# Enable trace propagation in e-mail headers, using the 'traceparent', 'tracestate' and (optionally) 'baggage' fields (defaults to false)
;enable_tracing = false

5.2 发送邮箱配置

开启客户端账号密码登录,腾讯邮箱为例

image-20240525132515664

image-20240525132336648

5.3 配置报警规则

需求cpu使用率超过90%,且持续10分钟,触发报警

image-20240525141950923

image-20240525142016868

image-20240525142141541

image-20240525142513000

image-20240525142835347

image-20240525142930735

image-20240525143012452

image-20240525143123131

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • WORD、PPT技巧
  • Python文件和数据格式化-课堂练习[python123题库]
  • dmanywhere的docker制作
  • 【博客714】golang使用mmap来优化gc
  • 从零开始学Vue3--环境搭建
  • AUTOMATIC1111/stable-diffusion-webui/stable-diffusion-webui-v1.9.3
  • 【FPGA】Verilog:解码器 | 编码器 | 多路复用器(Mux, Multiplexer)
  • 基于HTML5和CSS3搭建一个Web网页(二)
  • 本地部署Whisper实现语言转文字
  • 2024年【N1叉车司机】免费试题及N1叉车司机模拟试题
  • Spring服务启动后就执行某个方法
  • Alienware外星人笔记本m17 R3原厂OEM预装Win10系统包下载,恢复开箱状态电脑自带系统
  • python 多线程处理图片
  • 【算法】前缀和——寻找数组的中心下标
  • 【2024最新华为OD-C卷试题汇总】传递悄悄话的最长时间(100分) - 三语言AC题解(Python/Java/Cpp)
  • #Java异常处理
  • ESLint简单操作
  • Python实现BT种子转化为磁力链接【实战】
  • 阿里研究院入选中国企业智库系统影响力榜
  • 移动端 h5开发相关内容总结(三)
  • 自定义函数
  • 树莓派用上kodexplorer也能玩成私有网盘
  • #define、const、typedef的差别
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • (06)金属布线——为半导体注入生命的连接
  • (MTK)java文件添加简单接口并配置相应的SELinux avc 权限笔记2
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (附源码)计算机毕业设计SSM在线影视购票系统
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据
  • (四)c52学习之旅-流水LED灯
  • (图)IntelliTrace Tools 跟踪云端程序
  • (游戏设计草稿) 《外卖员模拟器》 (3D 科幻 角色扮演 开放世界 AI VR)
  • (转)我也是一只IT小小鸟
  • .net 7 上传文件踩坑
  • .NET MAUI Sqlite数据库操作(二)异步初始化方法
  • .NET 设计模式—适配器模式(Adapter Pattern)
  • .NET 药厂业务系统 CPU爆高分析
  • .NET高级面试指南专题十一【 设计模式介绍,为什么要用设计模式】
  • .NET中统一的存储过程调用方法(收藏)
  • //usr/lib/libgdal.so.20:对‘sqlite3_column_table_name’未定义的引用
  • @column注解_MyBatis注解开发 -MyBatis(15)
  • @DateTimeFormat 和 @JsonFormat 注解详解
  • []串口通信 零星笔记
  • [240527] 谷歌 CEO 承认 AI 编造虚假信息问题难解(此文使用 @gemini 命令二次创作)| ICQ 停止运作
  • [Android Pro] AndroidX重构和映射
  • [AR Foundation] 人脸检测的流程
  • [C\C++]读入优化【技巧】
  • [C++][STL源码剖析] 详解AVL树的实现
  • [C++数据结构之看懂就这一篇]图(上)
  • [CareerCup][Google Interview] 实现一个具有get_min的Queue
  • [DEBUG] spring boot-如何处理链接中的空格等特殊字符
  • [delphi]保证程序只运行一个实例
  • [DM复习]Apriori算法-国会投票记录关联规则挖掘(上)
  • [FSCTF 2023]细狗2.0
  • [LeetCode][面试算法]逻辑闭环的二分查找代码思路