mysql中%3c%3e和=_Grafana+Prometheus 监控 MySQL

架构图

3ff830b99c1e6ad03be0d60d56adbb64.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

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

97d9856401c68dc663ff0e2b635a1643.png

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

91d430581cb25f6ceffbe857c16d1d97.png

配置数据源

c45afc04b22e208f49d67937464cd748.png

750567d8b33df2e37e4a12af515c6b3e.png

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

f3dcf758e7f34fda36bd5ebd76c5c5d8.png

0188eecfec38362e8c2f244c7c1fdee5.png

325ed6ac2ec992a6416749691ac20cf1.png

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

e542ba20259f535d31323ccdbbb41019.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

8861e80355939d9c8fbf7fd27af84684.png

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

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

相关文章

Linux CentOS7.0 (01)在Vmvare Workstation上 安装配置

一、新建虚拟机 1、创建新的虚拟机 -》 默认典型 -》选择安装介质 2、指定虚拟机名称、安装目录、磁盘容量大小 点击 “完成”,创建虚拟机! 随后虚拟机将自动启动安装过程。 二、安装linux 1、选择 English、English(United States&#xff0…

i=1,为什么 (++i)+(++i)=6?

源码#include "stdio.h"int main(void) {int i 1;printf("%d\n",(i) (i));return 0; }执行weiqifabsp-ubuntu1804:~/c/undif$ gcc g.c && ./a.out 6 weiqifabsp-ubuntu1804:~/c/undif$为什么出现这个鬼现象?原因很简单,C语…

celery mysql 异步_celery配合rabbitmq任务队列实现任务的异步调度执行[celery redis]

前言:51cto的文章已经不再补充更新了,另外celery rabbitmq详细的使用方法请到这里浏览.http://xiaorui.cc/2014/11/16/celery-rabbitmq%E5%AE%9E%E7%8E%B0%E4%BB%BB%E5%8A%A1%E9%98%9F%E5%88%97%E7%9A%84%E5%BC%82%E6%AD%A5%E6%89%A7%E8%A1%8C/为啥要用c…

Android-HIDL实例解析

HIDL 简介“HAL interface definition language or HIDL (pronounced “hide-l”) is an interface description language (IDL) to specify the interface between a HAL and its users. It allows specifying types and method calls, collected into interfaces and package…

phpstudy mysql创建表_MySQL_Mysql入门基础 数据库创建篇,1.创建数据表---基础(高手跳 - phpStudy...

Mysql入门基础 数据库创建篇1.创建数据表---基础(高手跳过)正统方法:create [TEMPORARY] table 表名 [if not exists](创建的列项定义)[表的选项][分区的选项];#正统的创建方式,具体的参数,请参考mysql手册,在这里不做详细的解释&…

区域赛第33天

1、最近感觉自己的时间可以利用好的,但是就是自己的学习效率比较低,主要问题就是一旦放松下来就会放松很长的时间,所以说浪费了很多的时间。。。 2、现在最重要的就是从心底相信自己真的能拿金牌,所以就是现在主要的任务就是恢复信…

用bat-抓取android日志

echo off cls set filename%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2% set postfixdebug.log set debugfilename%filename%-%postfix% adb shell logcat -G 4M adb shell logcat > %debugfilename%pause

mysql报错error2002_mysql中异常错误ERROR:2002的解决方法分享

最近在启动mysql的时候发现mysql报错了,错误代码是2002,通过查找相关的资料发现是var/lib/mysql 的访问权限问题,所以这篇文章主要介绍了mysql中异常错误ERROR:2002的解决方法,需要的朋友可以参考借鉴,下面…

子矩阵(NOIP2014 普及组第四题)

描述 给出如下定义: 子矩阵:从一个矩阵当中选取某些行和某些列交叉位置所组成的新矩阵(保持行与 列的相对顺序)被称为原矩阵的一个子矩阵。 例如,下面左图中选取第 2、4 行和第 2、4、5 列交叉位置的元素得到一个 2*3 …

linux spinlock/rwlock/seqlock原理剖析(基于ARM64)

背景Kernel版本:4.14ARM64处理器,Contex-A53,双核使用工具:Source Insight 3.5, Visio1. 概述吹起并发机制研究的进攻号角了!作为第一篇文章,应该提纲挈领的介绍下并发。什么是并发,…

isfull mysql_MySQL数据库之MySQL 出现 The table is full 的解决方法

本文主要向大家介绍了MySQL数据库之MySQL 出现 The table is full 的解决方法 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。当我们要写入新数据而发生“The table is full”告警错误时,先不要着急,按照下面的思…

RabbitMQ 资料整理

前言: 官方教程:    https://www.rabbitmq.com/getstarted.html 应用场景(之马云赚钱):    http://blog.csdn.net/whoamiyang/article/details/54954780    http://www.cnblogs.com/saltlight-wangchao/p/…

爸爸都老了

今天是父亲节,早上韦泽楠去上绘画课,我睡了个回笼觉,一觉睡到了十一点。起来的时候老婆买了新鲜的荔枝和龙眼,当然我没有马上吃,我不是一个随便的男人,我刷了牙,洗了脸,再回到客厅慢…

java输出日志_java代码中如何正确使用loggger日志输出

java代码中如何正确使用loggger日志输出发布时间:2019-06-28作者:spider阅读(2980)当你遇到问题的时候,只能通过debug功能来确定问题,你应该考虑打日志,良好的系统,是可以通过日志进行问题定为的。使用slf4…

C#数组的声明方式

C#数组的五种声明方式一、声明一个未经初始化的数组引用,以后可以把这引用初使化为一个数组实例int[] intArray;intArray new int[10];注:数组的引用必须以相同或相关类型实例化,数组初使化默认值,值类型为0,引用类型…

大学的多级放大电路,你交给老师了吗?

第一章 设计任务1.1项目名称:设计三极管多级音频放大电路本项目的主要内容是设计并实现三极管多级音频放大功能。该电路将所学习的三极管基本放大电路与功率放大电路有机结合。1.2项目设计说明(1)设计任务和要求使用常见的小功率三极管设计一…

【u204】高级砝码称重

Time Limit: 1 second Memory Limit: 128 MB 【问题描述】 现有n个砝码,重量分别为a1,a2,a3,……,an,在去掉m个砝码后,问最多能称量出多少不同的重量(不包括0)。 【输入…

第十四节TypeScript 联合类型

1、简介 联合类型可以通过管道(|)将变量设置多种类型,赋值时可以根据设置的类型来赋值。 注意:只能赋值指定的类型,如果赋值其它类型就会报错的。 2、创建联合类型的语法格式: Type1|Type2|Type3 实例&a…

Linux进程调度器-基础

背景Read the fucking source code! --By 鲁迅A picture is worth a thousand words. --By 高尔基说明:Kernel版本:4.14ARM64处理器,Contex-A53,双核使用工具:Source Insight 3.5, Visio1. 概述从这篇文章…

java spring注解_spring注解是如何实现的?

注解呢,是java本身自带的一个东西,它基于java的接口进行实现,是一种特殊的接口类型,通常对于注解来说,三种情况,一个是在编译前就会被丢弃的,一个是编译后留在class中的,另一种是会一…