Prometheus+Grafana监控MySQL

news2024/12/28 5:23:22

一、准备

  • 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)

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

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

相关文章

安卓删除文件恢复,3个技巧轻松解决,让你的数据失而复得

如今&#xff0c;手机数据的重要性不言而喻。无论是工作文档、个人照片还是其他珍贵的资料&#xff0c;一旦丢失&#xff0c;都可能带来不小的困扰。而当我们不小心删除了手机中的文件时&#xff0c;焦虑和无助感更加强烈。但幸运的是&#xff0c;随着技术的不断进步&#xff0…

Unity接入PS5手柄和Xbox手柄以及Android平台的(以及不同平台分析)

Unity接入PS5手柄和Xbox手柄以及Android平台的&#xff08;以及不同平台分析&#xff09; 介绍Unity手柄小知识PC端和编辑器上的摇杆事件和滑动事件PS5手柄Xbox手柄北通手柄 安卓环境下&#xff08;安卓手机或者安卓模拟器&#xff09;PS5手柄Xbox手柄北通手柄 总结 介绍 最近…

高中数学:数列-等比数列

一、概念 二、通项公式 1、与函数的关系 类似一个指数函数 2、重要性质 三、求和公式 错位相减法 四、练习 例题1 例题2

基于机器学习的变频器故障诊断方法(MATLAB,Python)

变频器故障数据由MATLAB Simulink生成。 import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns from sklearn.neighbors import KNeighborsClassifier from sklearn.svm import SVC from sklearn.ensemble import RandomForestClass…

折叠手机鼻祖倒下了,折叠屏手机或完蛋,苹果早有先见之明

柔宇即将倒下&#xff0c;这家率先开发出折叠屏技术的企业未能挽救它自己&#xff0c;而对于折叠手机行业来说&#xff0c;这么多年过去&#xff0c;折叠手机也仍然是绝对的少数派&#xff0c;或许折叠手机也快要寿终正寝了。 柔宇开发的折叠手机为外折叠&#xff0c;弯曲部分无…

【UIDynamic-动力学-UICollisionBehavior-碰撞行为-与引用View碰撞-与另一个item发生碰撞 Objective-C语言】

一、接下来,我们来说这个碰撞啊, 1.把之前的代码备份一份,改个名字,叫做“02-碰撞-与引用View碰撞” 首先呢,把重力的这些属性,先删了, 让它先有重力,先command + R, 当我们点击屏幕的时候,它有重力,所以自然会往下落, 但是呢,好像感觉,超出了控制器的View了以后…

React+TS前台项目实战(九)-- 全局常用组件弹窗Dialog封装

文章目录 前言Dialog公共弹窗组件1. 功能分析2. 代码详细注释3. 使用方式4. 效果展示 总结 前言 今天这篇主要讲全局公共弹窗Dialog组件封装&#xff0c;将用到上篇封装的模态框Modal组件。有时在前台项目中&#xff0c;偶尔要用到一两个常用的组件&#xff0c;如 弹窗&#x…

建筑工程软件Revit中复杂大模型如何实现Web端轻量化?| HOOPS技术应用

建筑信息模型&#xff08; BIM&#xff09;技术在建筑工程中扮演着越来越重要的角色&#xff0c;而Autodesk Revit作为主流的BIM软件&#xff0c;被广泛应用于设计、施工和管理。然而&#xff0c;Revit生成的复杂大模型常常由于数据量庞大而难以直接在Web端展示和操作。这时&am…

爬虫初学篇——看完这些还怕自己入门不了?

初次学习爬虫&#xff0c;知识笔记小分享 学scrapy框架可看&#xff1a;孤寒者博主的【Python爬虫必备—&#xff1e;Scrapy框架快速入门篇——上】 目录&#x1f31f; 一、&#x1f349;基础知识二、&#x1f349;http协议&#xff1a;三、&#x1f349;解析网页(1) xpath的用…

分类预测 | Matlab实现GWO-CNN-SVM灰狼冰算法优化卷积支持向量机分类预测

分类预测 | Matlab实现GWO-CNN-SVM灰狼冰算法优化卷积支持向量机分类预测 目录 分类预测 | Matlab实现GWO-CNN-SVM灰狼冰算法优化卷积支持向量机分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现GWO-CNN-SVM灰狼冰算法优化卷积支持向量机分类预测&…

java之sql注入审计

1 基础环境搭建 1.1 mysql数据库搭建 phpStudy是一个PHP调试环境的程序集成包&#xff0c;PHPMysqlApache。 通过phpstduy下载与安装指 定版本的mysql数据库【可以同时下载多个版本&#xff0c;便于应对不对的系统及复现漏洞便捷切换多个版本】 完成下载后&#xff0c;启动…

无人机比赛有哪些?

无人机比赛项目可是多种多样&#xff0c;精彩纷呈呢&#xff01; 常见的比赛项目包括S形绕桩赛、平台起降赛、应用航拍、投掷物品和定点飞行等。这些项目不仅考验无人机的性能&#xff0c;更考验飞行员的操控技巧。 在S形绕桩赛中&#xff0c;飞行员需要操控无人机快速而准确…

大数据SQL格式化规范及示例

无论是数据仓库开发还是数据分析&#xff0c;编写清晰易读的SQL是一项基本的技能。本文将分享几个SQL格式的规范和示例&#xff0c;旨在提高SQL的可读性和可维护性。 虽然这些规范没有严格的标准&#xff0c;但统一的格式可以帮助减少理解和维护SQL代码的时间。不管团队其他人…

5G智能运维趋势

随着5G技术的普及&#xff0c;网络运维面临着前所未有的复杂性和数据量挑战。智能运维通过人工智能、大数据分析、自动化工具等技术&#xff0c;为5G网络提供了高效的管理和优化手段。在网络性能优化、故障预测与管理、资源动态调度、安全管理和网络切片管理等方面&#xff0c;…

一些激活函数

一些激活函数 摘要激活函数分类sigmoidTanhSoftsignSoftmaxReLUSoftplusNoisy ReLULeaky ReLUPReluELUSELUSwishGELUGLUGEGLUMishMaxout 摘要 本篇博客对一些激活函数进行总结&#xff0c;以便加深理解和记忆 激活函数分类 饱和激活函数&#xff1a;sigmoid、tanh… 非饱和激…

欣九康诊疗系统助力诊所向数字化转型

数字化已经成为各行各业转型的重点方向&#xff0c;而为了不被时代所淘汰&#xff0c;医疗机构也势必要紧跟潮流&#xff0c;本人作为门诊部的负责人深知医疗机构要想实现数字化转型那么拥有一款便捷实用的医疗平台是必不可少的&#xff0c;近几年&#xff0c;随着国家大力支持…

table组件,前端如何使用table组件,打印数组数据,后端传输的数据应该如何打印

一、如何使用table&#xff0c;将数组数据打印出来 后端传来的数据&#xff0c;很大概率是一个List数组&#xff0c;我们必须用一个table组件&#xff0c;来打印这些数据。 table标签的介绍 在HTML中&#xff0c;table是常用组件之一&#xff0c;主要用来打印数组信息。 它的…

SpringBoot如何自定义启动Banner 以及自定义启动项目控制台输出信息 类似于若依启动大佛 制作教程

前言 Spring Boot 项目启动时会在控制台打印出一个 banner&#xff0c;下面演示如何定制这个 banner。 若依也会有相应的启动动画 _ooOoo_o8888888o88" . "88(| -_- |)O\ /O____/---\____. \\| |// ./ \\||| : |||// \/ _||||| -:- |||||- \| | \\…

基于DPU的云原生裸金属服务快速部署及存储解决方案

1. 背景介绍 1.1. 业务背景 在云原生技术迅速发展的当下&#xff0c;容器技术因其轻量级、可移植性和快速部署的特性而成为应用部署的主流选择&#xff0c;但裸金属服务器依然有其独特的价值和应用场景&#xff0c;是云原生架构中不可或缺的一部分。 裸金属服务器是一种高级…

Training language models to follow instructions with human feedback 论文阅读

论文原文&#xff1a;https://arxiv.org/pdf/2203.02155 论文简介 语言模型越大并不意味着它能更好的理解用户的意图&#xff0c;因此在这篇论文中&#xff0c;展示了根据人的反馈对模型进行微调&#xff0c;使得语言模型能够在各种人物上更好的理解用户的意图。在评估中&…