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

news2024/11/18 13:58:31

文章目录

  • 一、安装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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1692499.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

海外新闻媒体发稿,PR稿件海外投稿,国外软文宣发-需综合考虑发布平台/内容质量/SEO策略/目标受众/发布时间/效果监控以及媒体关系等多个方面

发布新闻稿是提升品牌知名度和影响力的重要手段。以下是一些在国外新闻稿发布的干货分享,帮助你更有效地进行海外PR发稿。 1. 选择合适的发布平台 选择一个合适的新闻稿发布平台是关键,不同的平台有不同的覆盖范围和目标受众。以下是一些推荐的平台&am…

Java进阶学习笔记8——单继承、Object类、方法重写

Java 是单继承的,Java中的类不支持多继承,但是支持多层继承。 Object类是所有类的父类。 Java不支持多类继承: Java支持多层继承: 反证法: Object类: Object类是java所有类的祖宗类,我们写的任…

HCIP-Datacom-ARST自选题库__ISIS判断【23道题】

1.IS-1S快速收敛是为了提高路由的收敛速度而做的扩展特性,包含PRC和I-SPF,其中PRC只对发生变化的路由进行重新计算,而I-SPF只对受影响的节点进行路由计算。√ 2.在I5-S协议视图下配置ipv6 preference,该命令的作用是配置|5-IS协议…

卷积神经网络-奥特曼识别

数据集 四种奥特曼图片_数据集-飞桨AI Studio星河社区 (baidu.com) 中间的隐藏层 已经使用参数的空间 Conv2D卷积层 ReLU激活层 MaxPool2D最大池化层 AdaptiveAvgPool2D自适应的平均池化 Linear全链接层 Dropout放置过拟合,随机丢弃神经元 -----------------…

打包要求 minCompileSdk 使用指定版本及以上

我当前的 compileSdkVersion 30,因为依赖了 androidx.core:core:1.9.0 它要求最低 compileSdkVersion 33。 那么如果我不想升级 compileSdkVersion 应该怎么办? 答:当然是降低 core:core 版本! 看看谁依赖了这两个版本 android…

JavaSE——类和对象(二)~~封装

目录 一.封装 二.封装扩展之包 三.static成员 四. 代码块 五. 内部类(重要) 大家好呀,我是北纬,接着上节我们继续讲解Java中关于类和对象的相关知识,今天着重给大家介绍一下关于面向对象程序的特性之一——封装。…

FPGA 纯逻辑arinc818 ip core

1、 符合FC-FS、FC-AV、FC-ADVB协议规范; 2、符合ARINC818协议规范; 3、支持光纤通信Class1、Class3服务; 5、可动态配置光纤端口速率,支持1.0625Gbps、2.125Gbps、3.1875Gbps、4.25Gbps可配置; 6、DDR控制接口简洁…

【01】全面理解JVM虚拟机

一、前言 学习JVM是进行JVM调优的基础。写的代码部署到线上它会如何运行?要配多少内存?线上环境出问题了,服务崩溃了,应该怎么快速定位?这些问题都与JVM有着一定的关系。好的程序员都应该尽自己的能力把JVM每个底层逻…

记录github小程序短视频系统的搭建过程

GitHub - lkmc2/AwesomeVideoWxApp: 《倾心短视频》微信小程序 这个项目按readme中的来可以部署成功,但是会发现图片、视频全是空的,如下图: 修改源代码,更换图片上传与保存地址 大概涉及到这些代码块,进行更改即可。…

HarmonyOS interface router scale pageTransition SlideEffect.Left ArkTS ArkUI

🎬️create Component export default struct TitleBar {build(){Row(){Text(transition).fontSize(30fp).fontColor(Color.White)}.width(100%).height(8%).backgroundColor(#4169E1).padding({left:10})}}🎞️interface export interface IList{ti…

【zotero6】ZotCard笔记模板分享

zotcard插件下载链接:传送门 因为zotero出了新的zotero7,现在下载插件会出现zotero6和zotero7不兼容的情况,通过这个链接可以区分适配不同版本的插件。 下载后点击工具的附加组件 然后选择通过文件添加 就可以添加插件了 再通过 工具->…

第十三期Big Demo Day亮点项目:CCarbon重塑碳交易生态,助力全球绿色发展

第十三期Big Demo Day活动即将于2024年5月28日在香港数码港的CyberArena隆重举行。我们荣幸地宣布,利用区块链技术优化全球碳交易CCarbon项目将亮相,参与精彩的项目路演。本次活动由ZeeprLabs、BiKing Exchange、Gather冠名赞助,Central Rese…

commvault学习(8):备份与恢复sql server

1.安装sql server2008r2 安装sql server 2.在客户端添加cv代理mssql server 如果此前的cv代理中没有sql server,那么可以手动再补充 点击setup 添加MSSQL Server 将程序添加到windows防火墙排除表 勾选自动探寻实例 3.备份sql server 3.1配置数据库内容 右击默…

HLS入门

一. HLS是什么?与VHDL/Verilog编程技术有什么关系? 高层次综合 (HLS) 抽象级别更高:HLS允许设计者在更高的抽象级别上工作,使用高级编程语言来描述硬件的功能。这种方法减少了设计者需要处理的底层细节,使得设计过程更加高效。…

下一代Docker会让部署更丝滑吗

下一代Docker会让部署更丝滑吗 如何通俗易懂的理解DockerDocker有什么缺点Docker与AI结合,会让部署更加丝滑吗 随着互联网技术的不断发展,单机系统已经无法满足日益正常的用户量以及正常处理用户请求,这个时候就需要进行多机部署,…

JDBC(Java DataBase Connectivity)Java数据库连接

JDBC(Java DataBase Connectivity) Java 语言连接数据库 再本模块中,java提供里一组用于连接数据库的类和接口Java 语言开发者,本身没有提供如何具体连接数据库的功能只是定义了一组java程序连接数据库的访问接口 连接到数据库向数据库发送增,修改,删除这一类的sql发送查询sq…

学习Thymeleaf时遇到的问题

使用idea创建web项目,启动服务器后无法访问页面 原因是tomcat 新版本引用包名改变 由javax变为jakarta 解决办法1 把项目的poe.xml文件由 改为 解决办法2 新建项目时选择新版本,但是新版本不支持thymeleaf

uniapp android使用uni.chooseLocation,app云打包后,定位地址列表一直在加载中

复现BUG 1、自己生成一个证书 参考生成证书流程 2、使用刚生成证书的SHA1 ,重新创建一个高德key 高德开放平台地址 3、打包(打包的包名要与高德申请key所填的包名一致)

从零搭建python环境:深入解析虚拟环境与Python版本管理

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、引言:为何需要虚拟环境? 二、虚拟环境的创建与命名 1. 虚拟环境…

Spark SQL【Java API】

前言 之前对 Spark SQL 的影响一直停留在 DSL 语法上面,感觉可以用 SQL 表达的,没有必要用 Java/Scala 去写,但是面试一段时间后,发现不少公司还是在用 SparkSQL 的,京东也在使用 Spark On Hive 而不是我以为的 Hive O…