热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

prometheusmysql_Grafana+Prometheus监控MySQL

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

架构图

1c52c3606427e1173382493ced4cd0a3.png

环境

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

安装 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

配置数据源

041ed800dadc998101f6a3d3c81aca7b.png

5154d231d4543cc49305d071390cbcbf.png

a45e98df41bd76cdb890d709daa03c6c.png

2648d04ec06328ce8938487af0314f63.png

73c2a3558c8a2ce38b48541d0813a5c5.png

在 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 出现了新服务器的信息

bc0734c905cb29c97dd093ab044e1177.png

在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

f592878fe22377414f1246250b987083.png



推荐阅读
  • Learning to Paint with Model-based Deep Reinforcement Learning
    本文介绍了一种基于模型的深度强化学习方法,通过结合神经渲染器,教机器像人类画家一样进行绘画。该方法能够生成笔画的坐标点、半径、透明度、颜色值等,以生成类似于给定目标图像的绘画。文章还讨论了该方法面临的挑战,包括绘制纹理丰富的图像等。通过对比实验的结果,作者证明了基于模型的深度强化学习方法相对于基于模型的DDPG和模型无关的DDPG方法的优势。该研究对于深度强化学习在绘画领域的应用具有重要意义。 ... [详细]
  • 正则表达式及其范例
    为什么80%的码农都做不了架构师?一、前言部分控制台输入的字符串,编译成java字符串之后才送进内存,比如控制台打\, ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文介绍了PE文件结构中的导出表的解析方法,包括获取区段头表、遍历查找所在的区段等步骤。通过该方法可以准确地解析PE文件中的导出表信息。 ... [详细]
  • 标题: ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • 本文介绍了在wepy中运用小顺序页面受权的计划,包含了用户点击作废后的从新受权计划。 ... [详细]
  • MPLS VP恩 后门链路shamlink实验及配置步骤
    本文介绍了MPLS VP恩 后门链路shamlink的实验步骤及配置过程,包括拓扑、CE1、PE1、P1、P2、PE2和CE2的配置。详细讲解了shamlink实验的目的和操作步骤,帮助读者理解和实践该技术。 ... [详细]
  • 模板引擎StringTemplate的使用方法和特点
    本文介绍了模板引擎StringTemplate的使用方法和特点,包括强制Model和View的分离、Lazy-Evaluation、Recursive enable等。同时,还介绍了StringTemplate语法中的属性和普通字符的使用方法,并提供了向模板填充属性的示例代码。 ... [详细]
  • 纠正网上的错误:自定义一个类叫java.lang.System/String的方法
    本文纠正了网上关于自定义一个类叫java.lang.System/String的错误答案,并详细解释了为什么这种方法是错误的。作者指出,虽然双亲委托机制确实可以阻止自定义的System类被加载,但通过自定义一个特殊的类加载器,可以绕过双亲委托机制,达到自定义System类的目的。作者呼吁读者对网上的内容持怀疑态度,并带着问题来阅读文章。 ... [详细]
  • 本文详细介绍了Android中的坐标系以及与View相关的方法。首先介绍了Android坐标系和视图坐标系的概念,并通过图示进行了解释。接着提到了View的大小可以超过手机屏幕,并且只有在手机屏幕内才能看到。最后,作者表示将在后续文章中继续探讨与View相关的内容。 ... [详细]
  • PHP反射API的功能和用途详解
    本文详细介绍了PHP反射API的功能和用途,包括动态获取信息和调用对象方法的功能,以及自动加载插件、生成文档、扩充PHP语言等用途。通过反射API,可以获取类的元数据,创建类的实例,调用方法,传递参数,动态调用类的静态方法等。PHP反射API是一种内建的OOP技术扩展,通过使用Reflection、ReflectionClass和ReflectionMethod等类,可以帮助我们分析其他类、接口、方法、属性和扩展。 ... [详细]
  • 本文介绍了使用readlink命令获取文件的完整路径的简单方法,并提供了一个示例命令来打印文件的完整路径。共有28种解决方案可供选择。 ... [详细]
  • Python已成为全球最受欢迎的编程语言之一,然而Python程序的安全运行存在一定的风险。本文介绍了Python程序安全运行需要满足的三个条件,即系统路径上的每个条目都处于安全的位置、"主脚本"所在的目录始终位于系统路径中、若python命令使用-c和-m选项,调用程序的目录也必须是安全的。同时,文章还提出了一些预防措施,如避免将下载文件夹作为当前工作目录、使用pip所在路径而不是直接使用python命令等。对于初学Python的读者来说,这些内容将有所帮助。 ... [详细]
  • Summarize function is doing alignment without timezone ?
    Hi.Imtryingtogetsummarizefrom00:00otfirstdayofthismonthametric, ... [详细]
author-avatar
不想与你见面_637
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有