欢迎光临
我们一直在努力

Prometheus+Grafana 智能监控告警系统(服务器指标采集、mysql指标采集)

目录

  • 一. 概述
    • 1.1 Grafana介绍
    • 1.2 Grafana结构图
  • 二、 Grafana监控系统之Prometheus+Grafana+node_exporter监控系统搭建(centos8为例)
    • 2.1 Prometheus介绍
    • 2.2 [下载安装prometheus](https://github.com/prometheus/prometheus/releases/)
      • 2.2.1 网址下载prometheus
      • 2.2.2 上传解压
      • 2.2.3创建专用运行用户
      • 2.2.4 配置systemd服务
      • 2.2.5运行Prometheus server
      • 2.2.6验证服务是否正常
  • 三、安装node_exporter插件(服务器指标采集)
    • 3.1 node_exporter介绍
    • 3.2.下载安装node_exporter
      • 3.2.1 网址下载node_exporter
      • 3.2.2 上传解压
      • 3.2.3创建专用运行用户
      • 3.2.4 配置systemd服务
      • 3.2.5运行node_exporter
      • 3.2.6验证服务是否正常
      • 3.2.7Prometheus配置监控node_exporter
        • 3.2.7.1 配置Prometheus抓取任务
        • 3.2.7.2 验证配置并重启Prometheus
        • 3.2.7.3 查看监控目标状态
  • 四、 安装Grafana(监控可视化工具)
    • 4.1 网址下载prometheus
    • 4.2 上传解压
    • 4.3 安装插件
    • 4.4创建专用运行用户
    • 4.5 配置systemd服务
    • 4.6运行Grafana
    • 4.7验证grafana服务是否正常
    • 4.8grafana页面改为中文
      • 4.8.1登录后,点击头像下菜单中->Profile
      • 4.8.2在Preferences一栏下面,找到Language一项
      • 4.8.3选择中文(简体)后点 Save 按钮即可
  • 五、安装mysqld_exporter插件(mysql指标采集)
    • 5.1 mysqld_exporter介绍
    • 5.2.下载安装mysqld_exporter
      • 5.2.1 上传解压并创建 .my.cnf 文件
      • 5.2.2创建专用运行用户
      • 5.2.3 配置systemd服务
      • 5.2.4运行mysqld_exporter
      • 5.2.5验证服务是否正常
      • 5.2.6Prometheus配置监控mysqld_exporter
        • 5.2.6.1 配置Prometheus抓取任务
        • 5.2.6.2 验证配置并重启Prometheus
        • 5.2.6.3 查看监控目标状态
  • 六、Grafana配置Prometheus数据源
    • 6.1 添加数据源
      • 6.1.1登录Grafana(http://服务器IP:3000),点击左侧菜单l 连接> 数据源。
      • 6.1.2在URL字段填写Prometheus的访问地址(如http://192.168.1.100:9090)
    • 6.2 导入仪表盘模板
      • 6.2.1仪表板—》新建—》新建仪表板
      • 6.2.2导入仪表板—–》服务器监控–》8919
      • 6.2.3导入仪表板—–》数据库监控–》7362

一. 概述

1.1 Grafana介绍

Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知。它主要有以下六大特点:

  • 展示方式: 快速灵活的客户端图表,面板插件有许多不同方式的可视化指标和日志,官方库中具有丰富的仪表盘插件,比如热图、折线图、图表等多种展示方式;
  • 数据源: Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch和KairosDB等;
  • 通知提醒: 以可视方式定义最重要指标的警报规则,Grafana将不断计算并发送通知,在数据达到阈值时通过Slack、PagerDuty等获得通知;
  • 混合展示: 在同一图表中混合使用不同的数据源,可以基于每个查询指定数据源,甚至自定义数据源;
  • 注释: 使用来自不同数据源的丰富事件注释图表,将鼠标悬停在事件上会显示完整的事件元数据和标记;
  • 过滤器: Ad-hoc过滤器允许动态创建新的键/值过滤器,这些过滤器会自动应用于使用该数据源的所有查询。 简单来讲,它是一个多用途的监控工具,同时通过邮件等方式进行有效的预警通知,丰富的直观的可视化界面,多种数据源配置是其优点所在;

1.2 Grafana结构图

在这里插入图片描述

二、 Grafana监控系统之Prometheus+Grafana+node_exporter监控系统搭建(centos8为例)

2.1 Prometheus介绍

Prometheus作为一个中间点,而Grafana作为可视化展示,后面的exporter作为监控,exporter将需要获取的数据获取并连接到Prometheus,而Prometheus连接到Grafana,直观展示被监控者状态;

2.2 下载安装prometheus

2.2.1 网址下载prometheus

https://github.com/prometheus/prometheus/releases/
或者浏览器直接访问
https://github.com/prometheus/prometheus/releases/download/v3.7.2/prometheus-3.7.2.linux-amd64.tar.gz

在这里插入图片描述

2.2.2 上传解压

ll
tar -zvxf prometheus-3.7.2.linux-amd64.tar.gz

在这里插入图片描述

2.2.3创建专用运行用户

# 创建prometheus用户组
groupadd prometheus

# 创建prometheus用户(-s指定不允许登录系统,-g指定用户组)
useradd -g prometheus -s /sbin/nologin prometheus

# 为Prometheus主目录赋予权限(确保用户有权限访问配置和数据)
chown -R prometheus:prometheus /data/jk/prometheus-3.7.2.linux-amd64

在这里插入图片描述

2.2.4 配置systemd服务

# 创建服务配置文件
cat > /etc/systemd/system/prometheus.service <<EOF
[Unit]
Description=Prometheus Monitoring System
Documentation=https://prometheus.io/docs/
# 确保网络启动后再启动服务
After=network.target
[Service]
Type=simple
# 使用专用用户运行
User=prometheus
# 启动命令:指定配置文件和数据存储路径(默认是./data,建议单独目录便于管理)
ExecStart=/data/jk/prometheus-3.7.2.linux-amd64/prometheus –config.file=/data/jk/prometheus-3.7.2.linux-amd64/prometheus.yml –storage.tsdb.path=/data/jk/prometheus-3.7.2.linux-amd64/data
# 失败自动重启
Restart=on-failure
# 重启间隔5秒
RestartSec=5

[Install]
# 加入多用户目标组,实现开机自启
WantedBy=multi-user.target
EOF

在这里插入图片描述

注意:–storage.tsdb.path指定的 /data/jk/prometheus-3.7.2.linux-amd64/data目录需要提前创建并赋予权限:

cd /data/jk/prometheus-3.7.2.linux-amd64
mkdir data
chown -R prometheus:prometheus /data/jk/prometheus-3.7.2.linux-amd64

在这里插入图片描述 在这里插入图片描述

2.2.5运行Prometheus server

# 重新加载systemd配置
systemctl daemon-reload
# 启动服务
systemctl start prometheus.service
# 设置开机自启
systemctl enable prometheus.service
# 检查服务状态(确保Active: active (running))
systemctl status prometheus.service
ps -ef|grep prometheus

在这里插入图片描述

2.2.6验证服务是否正常

访问http://服务器IP:9090(默认端口9090),看到Prometheus的Web界面即安装成功

在这里插入图片描述

在这里插入图片描述

三、安装node_exporter插件(服务器指标采集)

3.1 node_exporter介绍

node_exporter是Prometheus生态中专门用于采集服务器硬件和系统指标(如CPU、内存、磁盘、网络)的代理程序,需要安装到每台被监控的服务器上(包括Prometheus所在服务器)。

3.2.下载安装node_exporter

3.2.1 网址下载node_exporter

https://github.com/prometheus/node_exporter/releases
或者浏览器访问下载
https://github.com/prometheus/node_exporter/releases/download/v1.10.2/node_exporter-1.10.2.linux-amd64.tar.gz

在这里插入图片描述

3.2.2 上传解压

ll
tar -zvxf node_exporter-1.10.2.linux-amd64.tar.gz

在这里插入图片描述

3.2.3创建专用运行用户

# 创建prometheus用户组
groupadd node_exporter

# 创建prometheus用户(-s指定不允许登录系统,-g指定用户组)
useradd -g node_exporter -s /sbin/nologin node_exporter

# 为Prometheus主目录赋予权限(确保用户有权限访问配置和数据)
chown -R node_exporter:node_exporter /data/jk/node_exporter-1.10.2.linux-amd64

在这里插入图片描述

3.2.4 配置systemd服务

sudo bash -c 'cat <<EOF > /etc/systemd/system/node_exporter.service
[Unit]
Description=Node Exporter
After=network.target

[Service]
Type=simple
User=node_exporter
Group=node_exporter
WorkingDirectory=/data/jk/node_exporter-1.10.2.linux-amd64
ExecStart=/data/jk/node_exporter-1.10.2.linux-amd64/node_exporter
Restart=on-failure
RestartSec=5s
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target
EOF'

在这里插入图片描述

3.2.5运行node_exporter

sudo systemctl daemon-reload # 重新加载配置
sudo systemctl start node_exporter # 启动服务
sudo systemctl enable node_exporter # 开机自启

在这里插入图片描述

3.2.6验证服务是否正常

sudo systemctl status node_exporter # 检查状态
curl http://localhost:9100/metrics # 测试指标采集

3.2.7Prometheus配置监控node_exporter

3.2.7.1 配置Prometheus抓取任务

Prometheus通过prometheus.yml配置需要监控的目标(称为“Job”)。我们需要添加对node_exporter的抓取任务:

vim /data/jk/prometheus-3.7.2.linux-amd64/prometheus.yml

3.2.7.2 验证配置并重启Prometheus

http://ip:9090/targets
systemctl restart prometheus

3.2.7.3 查看监控目标状态

访问Prometheus Web界面(http://服务器IP:9090/targets),在“Status”列应看到UP状态,说明Prometheus已成功抓取node_exporter的指标。 在这里插入图片描述

四、 安装Grafana(监控可视化工具)

4.1 网址下载prometheus

https://grafana.com/grafana/download?platform=linux&edition=oss
或者浏览器直接访问
wget https://dl.grafana.com/grafana/release/12.2.1/grafana_12.2.1_18655849634_linux_amd64.tar.gz

在这里插入图片描述

4.2 上传解压

ll
tar -zvxf grafana_12.2.1_18655849634_linux_amd64.tar.gz

在这里插入图片描述

4.3 安装插件

cd /data/jk/grafana-12.2.1/bin
./grafana-server cli plugins install grafana-piechart-panel –pluginsDir /data/jk/grafana-12.2.1/data/plugins

4.4创建专用运行用户

# 创建prometheus用户组
groupadd grafana

# 创建prometheus用户(-s指定不允许登录系统,-g指定用户组)
useradd -g grafana -s /sbin/nologin grafana

# 为Prometheus主目录赋予权限(确保用户有权限访问配置和数据)
chown -R grafana:grafana /data/jk/grafana-12.2.1

在这里插入图片描述

4.5 配置systemd服务

sudo bash -c 'cat <<EOF > /etc/systemd/system/grafana.service
[Unit]
Description=Grafana Server
After=network.target

[Service]
Type=simple
User=grafana
Group=grafana
WorkingDirectory=/data/jk/grafana-12.2.1
ExecStart=/data/jk/grafana-12.2.1/bin/grafana-server web
Restart=on-failure
RestartSec=5s
LimitNOFILE=65536
EnvironmentFile=-/etc/default/grafana-server

[Install]
WantedBy=multi-user.target
EOF'

在这里插入图片描述

4.6运行Grafana

# 重新加载 systemd 配置
sudo systemctl daemon-reload
# 启动 Grafana 服务
sudo systemctl start grafana
# 设置开机自启
sudo systemctl enable grafana

在这里插入图片描述

4.7验证grafana服务是否正常

浏览器访问http://服务器IP:3000(默认端口3000),初始用户名/密码为admin/admin(首次登录会提示修改密码)。 在这里插入图片描述

4.8grafana页面改为中文

4.8.1登录后,点击头像下菜单中->Profile

在这里插入图片描述

4.8.2在Preferences一栏下面,找到Language一项

在这里插入图片描述

4.8.3选择中文(简体)后点 Save 按钮即可

在这里插入图片描述

五、安装mysqld_exporter插件(mysql指标采集)

5.1 mysqld_exporter介绍

mysqld_exporter 是 Prometheus 官方推荐的 MySQL 监控导出器(Exporter),用于将 MySQL 数据库的性能指标暴露为 Prometheus 可以抓取的 HTTP 接口。 用途:采集 MySQL / MariaDB 的各种运行时指标(如连接数、慢查询、InnoDB 状态、缓冲池使用等),并以标准格式暴露给 Prometheus。

5.2.下载安装mysqld_exporter

https://github.com/prometheus/mysqld_exporter/releases
或者浏览器访问下载
https://github.com/prometheus/mysqld_exporter/releases/download/v0.17.2/mysqld_exporter-0.17.2.linux-amd64.tar.gz

在这里插入图片描述

5.2.1 上传解压并创建 .my.cnf 文件

ll
tar -zvxf mysqld_exporter-0.17.2.linux-amd64.tar.gz
cd /data/jk/mysqld_exporter-0.17.2.linux-amd64
vim .my.cnf
cat .my.cnf

[clent]
user=root
password=root

在这里插入图片描述 在这里插入图片描述 注意事项 配置文件路径:

  • 确保 .my.cnf 文件存在于 /data/jk/mysqld_exporter-0.17.2.linux-amd64/ 目录中。 .my.cnf 内容示例(需包含MySQL连接信息):

[client]
user=mysqld_exporter
password=z4LaaAA11–pa44w0rdhost=127.0.0.1
port=3306

权限控制:确保 .my.cnf 仅对 mysqld_exporter 用户可读:

chmod 600 /data/jk/mysqld_exporter-0.17.2.linux-amd64/.my.cnf

  • mysqld_exporter 默认连接 localhost:3306
  • 如果你要监控远程 MySQL 或非标准端口,可以通过 命令行参数指定地址,而不是写在 .my.cnf 中

数据库创建连用户

CREATE USER 'mysqld_exporter'@'127.0.0.1' IDENTIFIED BY 'z4LaaAA11–pa44w0rd';
GRANT ALL PRIVILEGES ON *.* TO 'mysqld_exporter'@'127.0.0.1' WITH GRANT OPTION;
FLUSH PRIVILEGES;

5.2.2创建专用运行用户

# 创建prometheus用户组
groupadd mysqld_exporter

# 创建prometheus用户(-s指定不允许登录系统,-g指定用户组)
useradd -g mysqld_exporter -s /sbin/nologin mysqld_exporter

# 为Prometheus主目录赋予权限(确保用户有权限访问配置和数据)
chown -R mysqld_exporter:mysqld_exporter /data/jk/mysqld_exporter-0.17.2.linux-amd64

在这里插入图片描述

5.2.3 配置systemd服务

sudo bash -c 'cat <<EOF > /etc/systemd/system/mysqld_exporter.service
[Unit]
Description=MySQLd Exporter
After=network.target

[Service]
Type=simple
User=mysqld_exporter
Group=mysqld_exporter
WorkingDirectory=/data/jk/mysqld_exporter-0.17.2.linux-amd64
ExecStart=/data/jk/mysqld_exporter-0.17.2.linux-amd64/mysqld_exporter \\\\
–config.my-cnf=/data/jk/mysqld_exporter-0.17.2.linux-amd64/.my.cnf
Restart=on-failure
RestartSec=5s
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
EOF'

在这里插入图片描述

5.2.4运行mysqld_exporter

sudo systemctl daemon-reload # 重新加载配置
sudo systemctl start mysqld_exporter # 启动服务
sudo systemctl enable mysqld_exporter # 开机自启

在这里插入图片描述

5.2.5验证服务是否正常

sudo systemctl status mysqld_exporter # 检查状态
curl http://localhost:9104/metrics # 测试指标采集(默认端口9104)

在这里插入图片描述

5.2.6Prometheus配置监控mysqld_exporter

5.2.6.1 配置Prometheus抓取任务

Prometheus通过prometheus.yml配置需要监控的目标(称为“Job”)。我们需要添加对mysqld_exporter 的抓取任务:

vim /data/jk/prometheus-3.7.2.linux-amd64/prometheus.yml

5.2.6.2 验证配置并重启Prometheus

http://ip:9090/targets
systemctl restart prometheus

5.2.6.3 查看监控目标状态

访问Prometheus Web界面(http://服务器IP:9090/targets),在“Status”列应看到UP状态,说明Prometheus已成功抓取mysqld_exporter 的指标。 在这里插入图片描述

六、Grafana配置Prometheus数据源

6.1 添加数据源

6.1.1登录Grafana(http://服务器IP:3000),点击左侧菜单l 连接> 数据源。

在这里插入图片描述

6.1.2在URL字段填写Prometheus的访问地址(如http://192.168.1.100:9090)

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

6.2 导入仪表盘模板

6.2.1仪表板—》新建—》新建仪表板

在这里插入图片描述

6.2.2导入仪表板—–》服务器监控–》8919

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

6.2.3导入仪表板—–》数据库监控–》7362

在这里插入图片描述 在这里插入图片描述

在这里插入图片描述 在这里插入图片描述

赞(0)
未经允许不得转载:171主机测评 » Prometheus+Grafana 智能监控告警系统(服务器指标采集、mysql指标采集)
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址