转自:Grafana+Prometheus 监控 MySQL

架构图

环境

IP 环境 需装软件
192.168.0.237 mysql-5.7.20 node_exporter-0.15.2.linux-amd64.tar.gz
mysqld_exporter-0.10.0.linux-amd64.tar.gz
192.168.0.248 grafana+prometheus prometheus-2.1.0.linux-amd64.tar.gz
node_exporter-0.15.2.linux-amd64.tar.gz
grafana-4.6.3.linux-x64.tar.gz

在 192.168.0.248 上安装 grafana prometheus

安装 prometheus

# 创建保存软件的目录
mkdir /data/software/ -p cd /data/software/ # 解压 prometheus
tar xvf prometheus-2.1.0.linux-amd64.tar.gz -C /iba/
cd /iba/
mv prometheus-2.1.0.linux-amd64 prometheus cd prometheus/
cp prometheus.yml /tmp/prometheus.yml.20181203 # 配置 prometheus.yml
cat prometheus.yml
# 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).
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
- job_name: 'Host'
file_sd_configs:
- files:
- host.yml
metrics_path: /metrics
relabel_configs:
- source_labels: [__address__]
regex: (.*)
target_label: instance
replacement: $1
- source_labels: [__address__]
regex: (.*)
target_label: __address__
replacement: $1:9100 - job_name: 'MySQL'
file_sd_configs:
- files:
- mysql.yml
metrics_path: /metrics
relabel_configs:
- source_labels: [__address__]
regex: (.*)
target_label: instance
replacement: $1
- source_labels: [__address__]
regex: (.*)
target_label: __address__
replacement: $1:9104 - job_name: 'prometheus'
static_configs:
- targets:
- localhost:9090 cat host.yml
- labels:
service: test
targets:
- 192.168.0.248
- 192.168.0.237 cat mysql.yml
- labels:
service: test
targets:
- 192.168.0.237 # 测试 prometheus 是否可以正常启动
/iba/prometheus/prometheus --storage.tsdb.retention=30d & ps -ef|grep prometh
kill -9 14650 # 配置 prometheus.service 文件
vi /usr/lib/systemd/system/prometheus.service
# 内容为
[Unit]
Description=Prometheus instance
Wants=network-online.target
After=network-online.target [Service]
User=root
Group=root
Type=simple
Restart=on-failure
WorkingDirectory=/iba/prometheus/
RuntimeDirectory=prometheus
RuntimeDirectoryMode=0750
ExecStart=/iba/prometheus/prometheus --storage.tsdb.retention=30d --config.file=/iba/prometheus/prometheus.yml
LimitNOFILE=10000
TimeoutStopSec=20 [Install]
WantedBy=multi-user.target # 启动 prometheus
systemctl start prometheus systemctl status prometheus -l # 开放防火墙
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.0/16" accept"
firewall-cmd --reload

浏览器输入 http://192.168.0.248:9090 访问

prometheus.yml 文件参考:
https://prometheus.io/docs/prometheus/latest/configuration/configuration/
https://prometheus.io/docs/prometheus/latest/configuration/configuration/#%3Crelabel_config%3E
https://prometheus.io/docs/prometheus/latest/configuration/configuration/#%3Cfile_sd_config%3E

安装 node_exporter 获取主机信息

# 解压 node_exporter
cd /data/software/
tar xf node_exporter-0.15.2.linux-amd64.tar.gz -C /usr/local
mv node_exporter-0.15.2.linux-amd64 node_exporter
nohup ./node_exporter &

安装 grafana

cd /iba/software

# 解压
tar xf grafana-4.6.3.linux-x64.tar.gz -C /iba/prometheus/
cd /iba/prometheus/
mv grafana-4.6.3 grafana
cd grafana/ # 测试
./bin/grafana-server # 停止
ctrl+c cat /usr/lib/systemd/system/grafana-server.service
[Unit]
Description=Grafana instance
Documentation=http://docs.grafana.org
Wants=network-online.target
After=network-online.target [Service]
User=root
Group=root
Type=simple
Restart=on-failure
WorkingDirectory=/iba/prometheus/grafana
RuntimeDirectory=grafana
RuntimeDirectoryMode=0750
ExecStart=/iba/prometheus/grafana/bin/grafana-server
LimitNOFILE=10000
TimeoutStopSec=20 [Install]
WantedBy=multi-user.target # 启动
systemctl start grafana-server
systemctl status grafana-server -l

访问 http://192.168.0.248:3000,默认用户和密码是 admin/admin

配置数据源

下载 grafana-dashboards-1.6.1.tar.gz,解压,使用浏览器导入 dashboard, 下载地址:https://github.com/percona/grafana-dashboards/archive/v1.6.1.tar.gz



在 192.168.0.237 安装 node_exporter 和 mysqld_exporter

cd /iba/software/
tar zxf node_exporter-0.15.2.linux-amd64.tar.gz -C /usr/local/
cd /usr/local/
mv node_exporter-0.15.2.linux-amd64 node_exporter # 启动
cd node_exporter/
nohup ./node_exporter &

几分钟后 grafana 出现了新服务器的信息

在mysql上配置监控使用的用户

GRANT REPLICATION CLIENT, PROCESS, SELECT ON *.* TO 'mysql_monitor'@'%' IDENTIFIED BY 'mysql_monitor';
FLUSH PRIVILEGES;
cd /iba/software/
tar zxf mysqld_exporter-0.10.0.linux-amd64.tar.gz -C /usr/local/
cd /usr/local/
mv mysqld_exporter-0.10.0.linux-amd64/ mysqld_exporter
cd mysqld_exporter/ # 在 mysql 上创建一个专门用于监控的用户,
cat .my.cnf
[client]
user=mysql_monitor
password=mysql_monitor # 启动
nohup /usr/local/mysqld_exporter/mysqld_exporter -config.my-cnf="/usr/local/mysqld_exporter/.my.cnf" &

导入 dashboard: MySQL_Overview.json

 
 

Grafana+Prometheus 监控 MySQL的更多相关文章

  1. 使用 Docker 部署 Grafana + Prometheus 监控 MySQL 数据库

    一.背景 在平时开发过程当中需要针对 MySQL 数据库进行监控,这里我们可以使用 Grafana 和 Prometheus 来实现监控功能.Grafana 是一款功能强大的仪表盘面板,支持多种数据源 ...

  2. Grafana+Prometheus监控mysql性能

    #cmd /usr/local 今天讲一下如何监控服务器中的mysql数据库的性能 一.数据库操作 1.mysql启动 #service mysqld start #启动数据库 #service my ...

  3. Prometheus 监控Mysql服务器及Grafana可视化

    Prometheus 监控Mysql服务器及Grafana可视化. mysql_exporter:用于收集MySQL性能信息. 使用版本 mysqld_exporter 0.11.0 官方地址 使用文 ...

  4. Grafan+Prometheus 监控 MySQL

    架构图 环境 IP 环境 需装软件 192.168.0.237 mysql-5.7.20 node_exporter-0.15.2.linux-amd64.tar.gz mysqld_exporter ...

  5. 采用prometheus 监控mysql

    1. prometheus 是什么 开源的系统监控和报警工具,监控项目的流量.内存量.负载量等实时数据. 它通过直接或短时jobs中介收集监控数据,在本地存储所有收集到的数据,并且通过定义好的rule ...

  6. Prometheus 监控MySQL

    目录 0.简介 1.mysql_exporter部署 2.mysql报警规则 0.简介 文中主要监控MySQL/MySQL主从信息 版本:mysql-5.7,mysql_exporter-0.12.1 ...

  7. 手把手教你使用 Prometheus 监控 MySQL 与 MariaDB.md

    概述 MySQL 是常用的关系型数据库,MariaDB 作为 MySQL 的分支版本,兼容 MySQL 协议,也越来越流行.在 Kubernetes 环境中如何使用 Prometheus 来对它们进行 ...

  8. Grafana + Prometheus 监控PostgreSQL

    效果图 部署环境 服务器名称 IP地址 部署业务 备注 部署agent sht-sgmhadoopcm-01 172.16.101.54 PostgreSQL 监控服务器.被监控服务器 node_ex ...

  9. Grafana+Prometheus监控

    添加模板一定要看说明以及依赖 监控redis https://blog.52itstyle.com/archives/2049/ http://www.cnblogs.com/sfnz/p/65669 ...

随机推荐

  1. 《Java练习题》Java编程题合集(全)

    前言:不仅仅要实现,更要提升性能,精益求精,用尽量少的时间复杂度和空间复杂度解决问题. 初学者: <Java练习题>习题集一   https://www.cnblogs.com/jssj/ ...

  2. 《Java基础知识》Java集合(Map)

    Java集合主要由2大体系构成,分别是Collection体系和Map体系,其中Collection和Map分别是2大体系中的顶层接口. 今天主要讲:Map主要有二个子接口,分别为HashMap.Tr ...

  3. 小白的springboot之路(十二)、集成log4j2日志

    0.前言 日志记录对系统来说必不可少,spring boot中常用的日志组件有log4j.logback.log4j2,其中logback是spring boot默认的,已自带:选用log4j2就可以 ...

  4. 关于选用ccflow你所担心的问题都在这里为您解答

    致ccflow客户 感谢大家ccbpm的认可,我们会一如既往的以踏实的技术来回应大家的支持. 针对大家疑问最多的几个问题,在这里我我为大家一一解答. 代码一直在更新,不稳定问题 版本控制我们做的差,是 ...

  5. 敏捷开发--洞察敏捷模型,从PO的角度看敏捷产品管理

    转自本人运营的公众号“ 携程技术中心PMO”(ID:cso_pmo)       经常有人抱怨的一个问题:敏捷会让团队自组织,要求团队能“一方有难,八方支援”,但是为什么总感觉自己团队虽然实践了敏捷, ...

  6. PuppeteerSharp读取页面完整HTML(.NetCore)

    1.使用NUGET安装PuppeteerSharp 通过工具或者命令方式安装 2.初始化浏览器 await new BrowserFetcher().DownloadAsync(BrowserFetc ...

  7. Linux中防火墙命令

    #启动   systemctl start firewalld #开机启动   systemctl enable firewalld #停止   systemctl stop firewalld #禁 ...

  8. Sqlite—锁机制

    https://blog.csdn.net/zhangsheng_1992/article/details/52598396 https://blog.csdn.net/xiyangyang8110/ ...

  9. Centos7脚本一键优化

    我把优化centos7的脚本分享给大家,建议刚安装完服务器的朋友执行如下优化脚本 [root@test2 yum.repos.d]# cat centos7.sh #!/bin/bash #autho ...

  10. Dubbo学习笔记-RPC扩展和本地Mock

    1.Dubbo介绍 Dubbo,一个是一款高性能Java RPC框架.私以为有中文官方文档,就不再重复介绍了 2.RPC扩展-本地存根stub RPC扩展功能:提前效验参数,缓存调用结果,日志记录等等 ...