Prometheus+Grafana监控MySQL

一、准备

  • grafana服务器:192.168.48.136
  • Prometheus服务器:192.168.48.136
  • 被监控服务器:192.168.48.134、192.168.48.135
  • 查看时间是否同步

二、安装prometheus server

【2.1】安装

# 解压安装包
tar -zxvf prometheus-2.52.0.linux-amd64.tar.gz -C /opt

# 创建链接目录
cd /opt
ln -s prometheus-2.52.0.linux-amd64.tar.gz prometheus

# 直接使用默认配置文件启动
/opt/prometheus/prometheus --config.file="/opt/prometheus/prometheus.yml" &

# 确认是否正常启动(默认端口9090)
netstat -lnptu | grep 9090

【2.2】prometheus界面访问 

【2.3】查看监控本机

【2.4】监控本机数据展示 

通过http://服务器IP:9090/metrics可以查看到监控的数据

【2.5】在web主界面可以通过关键字查询监控项

三、监控远程Linux主机

【3.1】在被监控端上安装node_exporter组件

# 解压安装包
tar -xf node_exporter-1.8.1.linux-amd64.tar.gz -C /opt

# 创建链接目录
cd /opt
ln -s node_exporter-1.8.1.linux-amd64.tar.gz node_exporter

# 使用nohup后台运行
nohup /opt/node_exporter/node_exporter &

# 确认是否正常启动(默认端口9100)
netstat -lnptu | grep 9100

扩展: nohup命令: 如果把启动node_exporter的终端给关闭,那么进程也会随之关闭。nohup命令会帮你解决这个问题。

 同样操作,将所有需要被监控主机安装node_exporter组件

【3.2】通过浏览器访问http://被监控端IP:9100/metrics就可以查看到node_exporter在被监控端收集的监控信息

【3.3】 回到prometheus服务器的配置文件里添加被监控机器的配置段

# my global config
global:
  scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
    - static_configs:
        - targets:
          # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"
    static_configs:
    - targets: ["localhost:9090"]

  - job_name: '192.168.48.134'      # 给被监控主机取个名字,我这里直接填的IP
    static_configs:
    - targets: ['192.168.48.134:9100']      # 这里填写被监控主机的IP和端口
 
  - job_name: '192.168.48.135'
    static_configs:
    - targets: ['192.168.48.135:9100']
    # scheme defaults to 'http'.

重启服务

pkill prometheus 

/opt/prometheus/prometheus --config.file="/opt/prometheus/prometheus.yml" &

netstat -lnptu | grep 9090

【3.4】回到web管理界面,可以看到多了两台监控主机

四、监控远程MySQL

【4.1】 在被管理MySQL服务器上安装mysqld_exporter组件

# 解压安装包
tar -xf mysqld_exporter-0.12.1.linux-amd64.tar.gz -C /opt

# 创建链接目录
cd /opt
ln -s mysqld_exporter-0.12.1.linux-amd64 mysqld_exporter

# 在MySQL服务器上创建监控用户
mysql> grant select,replication client, process on *.* to 'mysql_monitor'@'localhost' identified by 'xxxxxxxxxxxxx';
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.03 sec)

mysql> exit
Bye

# 将上面创建的mysql用户信息写入mysqld_exporter配置文件
vim /opt/mysqld_exporter/.my.cnf
[client]
user=mysql_monitor
password=xxxxxxxxxxx

# 启动mysqld_exporter
nohup /opt/mysqld_exporter/mysqld_exporter --config.my-cnf=/opt/mysqld_exporter/.my.cnf &

# 确认是否正常启动(默认端口9104)
netstat -lnptu | grep 9104

 【5.2】回到prometheus服务器的配置文件里添加被监控的mariadb的配置段

# my global config
global:
  scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
    - static_configs:
        - targets:
          # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"
    static_configs:
    - targets: ["localhost:9090"]

  - job_name: '192.168.48.134'      # 给被监控主机取个名字,我这里直接填的IP
    static_configs:
    - targets: ['192.168.48.134:9100']      # 这里填写被监控主机的IP和端口
 
  - job_name: '192.168.48.135'
    static_configs:
    - targets: ['192.168.48.135:9100']

  - job_name: 'mysql-134'      # 给被监控主机取个名字
    static_configs:
    - targets: ['192.168.48.134:9104']      # 这里填写被监控主机的IP和端口

  - job_name: 'mysql-135'
    static_configs:
    - targets: ['192.168.48.135:9104']
    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

重启服务 

pkill prometheus 

/opt/prometheus/prometheus --config.file="/opt/prometheus/prometheus.yml" &

netstat -lnptu | grep 9090

【5.3】回到web管理界面点Status-->Targets-->就可以看到监控的MySQL服务器了

 回到主界面搜索mysql相关参数

五、Grafana可视化图形工具

【5.1】安装grafana服务器

#解压grafana安装包
tar -zxvf grafana-7.3.5.linux-amd64.tar.gz -C /opt
cd /opt/grafana-7.3.5/bin/
#启动
./grafana-server
查看端口
netstat -lnptu | grep 3000

 通过浏览器访问 http:// ip服务器IP:3000就到了登录界面,使用默认用户名admin,密码admin

登录进入首页

 六、在Grafana上添加Prometheus数据源

【6.1】我们把prometheus服务器收集的数据做为一个数据源添加到grafana,让grafana可以得到prometheus的数据

 七、Grafana图形显示Linux硬件信息

  • Grafana官方提供模板地址:Grafana dashboards | Grafana Labs
  • 本次要导入的模板:Node Exporter Dashboard EN 20201010-StarsL.cn | Grafana Labs

刚刚添加的

查看效果

八、 Grafana图形显示MySQL监控数据

【8.1】通过Grafana官网导入模板

 九、修改grafana配置文件,添加发件邮箱

vim /etc/grafana/grafana.ini    # 找到smtp关键字
#################################### SMTP / Emailing ##########################
[smtp]
enabled = true  # 改成true
host = smtp.exmail.qq.com:465   # 发送服务器地址和端口
user =  # 这里填写发件邮箱
# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
password =  # 这里填写发件邮箱密码或授权密码
;cert_file =
;key_file =
skip_verify = true  # 改成true
from_address =  # 这里填写发件邮箱
;from_name = Grafana
# EHLO identity in SMTP dialog (defaults to instance_name)
;ehlo_identity = dashboard.example.com
# SMTP startTLS policy (defaults to 'OpportunisticStartTLS')
;startTLS_policy = NoStartTLS

后面的发件邮箱就不在说明了

参考博客:Prometheus+Grafana监控MySQL - easydba - 博客园 (cnblogs.com)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

location.href = ‘welcome.html‘;报错 - Completed 406 NOT_ACCEPTABLE

巧妙解决方案&#xff0c;使用服务端进行redirect即可 。 package com.aliyun.controller;import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping;Controller public class RedirectController {GetMapping("/r…

华为云CodeArts API:API管理一体化平台 5月新特性上线啦!

CodeArts API是华为云API全生命周期管理一体化解决方案平台&#xff0c;支持开发者高效实现API设计、API开发、API测试、API托管、API运维、API变现的一站式体验。 通过以API契约为锚点&#xff0c;CodeArts API保证API各阶段数据高度一致&#xff0c;为开发者提供友好易用的A…

【kubernetes】k8s中包管理工具-----Helm 超详细解读

目录 一、Helm 1.1什么是 Helm 1.2Helm 有三个重要的概念 1.2.1Chart 1.2.2Repository&#xff08;仓库&#xff09; 1.2.3Release 1.3Helm3 与 Helm2 的区别 二、Helm 部署 2.1安装 helm 2.2命令补全 2.3使用 helm 安装 Chart 2.3.1添加常用的 chart 仓库 2.3.2…

数据结构 实验 2

题目一&#xff1a;遍历二叉树 一、实验目的 熟练掌握指针变量、链表的含义掌握二叉树的结构特性&#xff0c;以及二叉链表的存储方式的特点掌握用递归的方法处理二叉树的基本算法掌握二叉树的四种遍历方式&#xff08;先序、中序、后序、按层次&#xff09; 二、实验步骤 …

Linux C语言:字符串处理函数

一、字符串函数 1、C库中实现了很多字符串处理函数 #include <string.h> ① 求字符串长度的函数strlen② 字符串拷贝函数strcpy③ 字符串连接函数strcat④ 字符串比较函数strcmp 2、字符串长度函数strlen 格式&#xff1a;strlen(字符数组)功能&#xff1a;计算字符串…

Spring AI 接入OpenAI实现文字生成图片功能

Spring AI 框架集成的图片大模型 2022年出现的三款文生图的现象级产品&#xff0c;DALL-E、Stable Diffusion、Midjourney。 OpenAI dall-e-3dall-e-2 Auzre OpenAI dall-e-3dall-e-2 Stability stable-diffusion-v1-6 ZhiPuAI cogview-3 OpenAI 与 Auzer OpenAI 使用的图片…

接口自动化测试工程化——了解接口测试

什么是接口测试 接口测试也是一种功能测试 我理解的接口测试&#xff0c;其实也是一种功能测试&#xff0c;只是平时大家说的功能测试更多代指 UI 层面的功能测试&#xff0c;而接口测试更偏向于服务端层面的功能测试。 接口测试的目的 测试左移&#xff0c;尽早介入测试&a…

6.归并+快排

5. 归并排序 核心思想 将无序数组从中间分为左右两个部分&#xff0c;分别给左右两个部分排序&#xff0c;排序以后把两个有序区间进行合并 把数组从中间分为左右两部分分别对前后两部分进行排序将排好序的两部分合并 包含两个部分&#xff1a;拆解阶段和合并阶段 归并排序…

跨平台看抖音、哔哩哔哩、虎牙、斗鱼啦,一个app即可完成

一、简介 1、一款免费、开源、无广告、跨平台的,可以观看抖音、哔哩哔哩、虎牙、斗鱼等平台的直播内容的软件。它简单好用,支持 Windows、MacOS、Linux、Android、iOS 等平台。 二、下载 1、文末有下载链接,apk手机可直接安装,不明白可以私聊我哈(麻烦咚咚咚,动动小手给个…

详解QFileSystemModel的使用

在Qt应用程序开发中&#xff0c;QFileSystemModel是一个强大的类&#xff0c;用于展示和操作文件系统的信息。它基于标准的QAbstractItemModel&#xff0c;提供了浏览本地文件系统目录树的能力&#xff0c;并且能够自动更新以反映文件系统的变化。本文将详细讲解QFileSystemMod…

MongoDB——写入耗时

mongodb写入10万条数据的耗时差不多是1s import time import pymongo from pymongo import MongoClient# 连接到MongoDB client MongoClient(mongodb://localhost:27017/) db client[test_db] collection db[test_collection]# 生成10万条数据 documents [{"name&quo…

ThinkPHP内核在线客服系统源码多商户版 对接适用场景(PC+WAP+公众号)

源码介绍 大部分站长都了解美洽系统&#xff0c;就跟这种类似的&#xff0c;可以实现一行代码接入客服&#xff0c;非常舒服&#xff0c;支持无限客服&#xff0c;无限坐席! 私有化源码部署&#xff0c;数据可控&#xff0c;稳定可靠。可自定义版权、logo。支持网页、微信公众…

CPN tools学习——可执行的 PN

目录 1添加令牌 2.转换防护Guard 1添加令牌 左侧新建颜色集和变量的声明定义&#xff1a; 为库所分配颜色集&#xff1a;左键tab键 P1处&#xff1a;添加多重集合&#xff0c;表示添加了两个令牌&#xff0c;第一个令牌值为A&#xff0c;第二个为B。 P2处&#xff1a;表示…

docker的教程长亭

把我的常用docker写在这里 之前用 vul - hub 靶场经常用 现在docker不知道为什么挂了 开启 docker-compose up -d 关闭 docker-compose down docker ps 只是运行 docker ps -a 所有 包括停止 docker ps -q 只看id docker stop <container_name_or_id> docker 的容器…

辣椒属2个T2T基因组-文献精读23

Two telomere-to-telomere gapless genomes reveal insights into Capsicum evolution and capsaicinoid biosynthesis 两个端粒到端粒无缝基因组揭示了辣椒进化和辣椒素生物合成的相关见解 摘要 辣椒&#xff08;Capsicum&#xff09;因其果实中含有辣椒素而闻名&#xff0c…

zabbix自定义监控mysql状态和延迟

zabbix自定义监控mysql状态和延迟 文章目录 zabbix自定义监控mysql状态和延迟zabbix自定义监控mysql状态配置主从配置自定义监控添加监控项添加触发器模拟测试异常 zabbix自定义监控mysql延迟配置自定义监控添加监控项添加触发器测试 zabbix自定义监控mysql状态 配置主从 1.安…

【区间合并 差分 栈】3169. 无需开会的工作日

本文涉及知识点 区间合并 差分数组&#xff08;大约2024年7月1号发) LeetCode3169. 无需开会的工作日 给你一个正整数 days&#xff0c;表示员工可工作的总天数&#xff08;从第 1 天开始&#xff09;。另给你一个二维数组 meetings&#xff0c;长度为 n&#xff0c;其中 me…

蓝牙模块的安全性与隐私保护

蓝牙模块作为现代无线通信的重要组成部分&#xff0c;在智能家居、可穿戴设备、健康监测等多个领域得到了广泛应用。然而&#xff0c;随着蓝牙技术的普及&#xff0c;其安全性和隐私保护问题也日益凸显。本文将探讨蓝牙模块在数据传输过程中的安全性问题&#xff0c;分析隐私保…

Web应用安全测试-业务功能滥用(二)

Web应用安全测试-业务功能滥用&#xff08;二&#xff09; 7、未验证的URL跳转 漏洞描述&#xff1a;服务端未对传入的跳转url变量进行检查和控制&#xff0c;可能导致可恶意构造任意一个恶意地址&#xff0c;诱导用户跳转到恶意网站。由于是从可信的站点跳转出去的&#xff…