目录

[TOC]

## 安装mysql exporter

Prometheus MySQL Exporter是一个客户端应用程序,用于获取MySQL指标并导出到Prometheus Server。

在这里,我们将介绍如何在数据库服务器上配置Prometheus MySQL Exporter程序,包括MySQL MariaDB和使用Grafana可视化数据。这将使您能够很好地查看数据库性能,并在遇到问题时知道在何处检查。警报规则的配置超出了本指南的范围,但我将尝试在下一个指南中介绍它。

本指南将有三个主要步骤

1. Prometheus server的安装和配置

2. 在数据库服务器上安装和配置MySQL Prometheus exporter

3. 创建/导入MySQL Grafana仪表板 - 我们将使用Percona现成的仪表盘。

官方下载地址:

[https://prometheus.io/download/](https://prometheus.io/download/)

github地址:

[https://github.com/prometheus/mysqld\_exporter](https://github.com/prometheus/mysqld_exporter)

## 下载安装MySQL Exporter

添加Prometheus系统用户和组:

~~~

sudo groupadd --system prometheus

sudo useradd -s / sbin / nologin --system -g prometheus prometheus

~~~

该用户将管理exporter service。

下载安装MySQL Exporter

这应该在MySQL / MariaDB服务器上完成,包括从服务器和主服务器。您可能需要检查 [Prometheus MySQL导出器版本](https://github.com/prometheus/mysqld_exporter/releases) 页面以获取最新版本,然后将最新版本导出到 `VER` 变量,如下所示:

~~~

export VER=0.12.1

wget https://github.com/prometheus/mysqld_exporter/releases/download/v${VER}/mysqld_exporter-${VER}.linux-amd64.tar.gz

tar xvf mysqld_exporter-${VER}.linux-amd64.tar.gz

mv mysqld_exporter-${VER}.linux-amd64/mysqld_exporter /usr/local/bin/

chmod +x /usr/local/bin/mysqld_exporter

~~~

通过删除tarball和提取目录来清理安装。

~~~

rm -rf mysqld_exporter-${VER}.linux-amd64*

~~~

创建Prometheus exporter数据库用户

用户应该有 `PROCESS, SELECT, REPLICATION CLIENT` grants.

创建用户并分配权限

~~~

CREATE USER 'mysqld_exporter'@'localhost' IDENTIFIED BY 'Mysql@123' WITH MAX_USER_CONNECTIONS 3;

GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'mysqld_exporter'@'localhost';

FLUSH PRIVILEGES;

EXIT

~~~

如果您具有主从数据库体系结构,则仅在主服务器上创建用户。

`WITH MAX_USER_CONNECTIONS 2` 用于为用户设置最大连接限制,以避免在负载较重的情况下使用监控擦除来使服务器过载。

### 配置数据库凭据

创建数据库凭证文件,为用户创建添加正确的用户名和密码并设置所有权限:

~~~

cat > /etc/.mysqld_exporter.cnf <

[client]

user=mysqld_exporter

password=Mysql@123

EOF

chown root:prometheus /etc/.mysqld_exporter.cnf

~~~

### 创建systemd单元文件

创建一个新的服务文件:

~~~

cat > /etc/systemd/system/mysql_exporter.service <

[Unit]

Description=Prometheus MySQL Exporter

After=network.target

User=prometheus

Group=prometheus

[Service]

Type=simple

Restart=always

ExecStart=/usr/local/bin/mysqld_exporter \

--config.my-cnf /etc/.mysqld_exporter.cnf \

--collect.global_status \

--collect.info_schema.innodb_metrics \

--collect.auto_increment.columns \

--collect.info_schema.processlist \

--collect.binlog_size \

--collect.info_schema.tablestats \

--collect.global_variables \

--collect.info_schema.query_response_time \

--collect.info_schema.userstats \

--collect.info_schema.tables \

--collect.perf_schema.tablelocks \

--collect.perf_schema.file_events \

--collect.perf_schema.eventswaits \

--collect.perf_schema.indexiowaits \

--collect.perf_schema.tableiowaits \

--collect.slave_status \

--web.listen-address=0.0.0.0:9104

[Install]

WantedBy=multi-user.target

EOF

~~~

完成后,重新加载systemd并启动 `mysql_exporter` 服务。

~~~

systemctl daemon-reload

systemctl enable --now mysql_exporter

~~~

## 使用Prometheus监控MySQL

配置要由Prometheus Server抓取的MySQL endpoint.

登录到您的Prometheus服务器并配置端点以进行抓取。下面是两个MySQL数据库服务器的示例。

vim /etc/prometheus/prometheus.yml

~~~

#DB Servers

- job_name: server1_db

static_configs:

- targets: ['192.168.93.40:9104']

labels:

alias: db1

- job_name: server2_db

static_configs:

- targets: ['192.168.93.41:9104']

labels:

alias: db2

~~~

第一台服务器有IP地址`192.168.93.40` ,第二台服务器是 192.168.93.41。使用类似格式添加其他目标。每个目标的**作业名称**应该是**唯一**的。

**注意**:Prometheus Server应该能够通过网络到达目标。确保您具有正确的网络/防火墙配置。

## 创建/导入MySQL Grafana仪表板

现在我们已经配置了目标并且要监控代理,我们应该很好地将Prometheus数据源添加到Grafana,以便我们可以进行度量可视化。需要为MySQL Prometheus exporter创建/导入Grafana仪表板。

如果您没有足够的时间来创建自己的仪表板,您可以使用[Percona](https://github.com/percona/grafana-dashboards)创建的仪表板,它们是开源的。

让我们下载`MySQL_Overview` 仪表板,它可以很好地概述数据库性能。

~~~

mkdir ~/grafana-dashboards

cd ~/grafana-dashboards/

wget https://raw.githubusercontent.com/percona/grafana-dashboards/master/dashboards/MySQL_Overview.json

~~~

将Prometheus MySQL仪表板上传到grafana

去`Dashboards > Import > Upload .json file`

[](https://computingforgeeks.com/wp-content/uploads/2018/09/prometheus-import-dashboard-min.png)使用仪表板文件找到目录并导入,收集的指标应该开始显示.

如果要导入Prometheus的所有Percona仪表板,请将它们安装在Grafana服务器上。[](https://github.com/percona/grafana-dashboards#install-dashboards)

~~~

git clone https://github.com/percona/grafana-dashboards.git

cp -r grafana-dashboards/dashboards /var/lib/grafana/

~~~

您需要重新启动Grafana服务器才能导入这些仪表板。

~~~

sudo systemctl restart grafana-server

sudo service grafana-server restart

~~~

查看仪表盘

![](https://img.kancloud.cn/a9/fb/a9fbcdbecda93bdecd852348df1c7034_1354x959.png)

mysql exporter_mysql exporter相关推荐

  1. 查看mysql服务的可视化_Prometheus 监控Mysql服务器及Grafana可视化

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

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

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

  3. 颜值实力派—打造MySQL运行监控环境

    关注我们获得更多内容 关注我们获得更多精彩 作者 | 陈龙,云和恩墨西区工程师,一线服务过金融等行业,精通 oracle 性能优化,故障诊断,特殊恢复领域 . 摘要 本文给大家推荐一款颜值实力派的监控 ...

  4. 使用prometheus(普罗米修斯)监控mysql容器详解

    部署prometheus(普罗米修斯)详情请看 ↓↓↓↓↓ 使用docker部署普罗米斯修(Prometheus)+Grafana可视化页面_争取不加班!的博客-CSDN博客_grafana 中文界面 ...

  5. Prometheus+Grafana+钉钉部署一个单机的MySQL监控告警系统

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. GreatSQL是MySQL的国产分支版本,使用上与MySQL一致. [toc] 一.Prometheus # 1.下载 ...

  6. prometheus简介

    一.prometheus简介 1.1 什么是prometheus? Prometheus是一个开源监控系统,它前身是SoundCloud的警告工具包.从2012年开始,许多公司和组织开始使用Prome ...

  7. 普罗米修斯 监控_接近完美的监控系统—普罗米修斯

    普罗米修斯(Prometheus)是一个SoundCloud公司开源的监控系统.当年,由于SoundCloud公司生产了太多的服务,传统的监控已经无法满足监控需求,于是他们在2012年决定着手开发新的 ...

  8. Mac安装prometheus+grafana监控

    软件安装 Prometheus 官网下载(https://prometheus.io/),支持Linux.Mac.Windows系统,很好很强大.我这里安装过Centos和Mac,这里的实例以Mac为 ...

  9. Centos7安装普罗米修斯(Prometheus)监控

    一.普罗米修斯介绍 在古希腊神话中普罗米修斯曾与智慧女神雅典娜共同创造了人类,普罗米修斯负责用泥土雕塑出人的形状,雅典娜则为泥人灌注灵魂,并教会了人类很多知识.普罗米修斯还反抗宙斯,将火种带到人间.在 ...

最新文章

  1. tableau技术小积累
  2. MySQL登陆时加-U选项
  3. 这 12 款 IDEA 插件你用过几款?
  4. Adjacent Node Sum(邻接表处理)
  5. 6-4 使用函数统计指定数字的个数_高手不可不学的Excel引用函数(上)
  6. 2016022604 - redis命令介绍
  7. mysql 当前用户连接数,查看mysql当前连接数的方法详解
  8. 【洛谷1962】 斐波那契数列
  9. 携号转网实时手机号归属地查询接口API
  10. STKO助力OpenSEES系列:结构模态分析以及动力特性(MDOF与等效SDOF验证)
  11. 如何对计算机进行硬盘的分区,使用分区助手如何对磁盘进行快速分区?
  12. 笔记本计算机无法上无线网络,笔记本电脑连不上无线网络的处理方法
  13. 调用链根因定位论文《Root Cause Analysis of Anomalies of Multitier Services in Public Clouds》
  14. jquery中的data-icon和data-role
  15. sqlsever2008 函数
  16. 利用 edge的朗读功能,写一个python文本转语音的代码
  17. 图书云小程序体验版1.0.1发布
  18. 没有处理程序要使用以下任何注释:javax.persistence.PersistenceContext
  19. 智能化的设备管理系统,为企业信息化建设添砖加瓦
  20. 水溶性/油溶性四氧化三铁(Fe3O4)纳米颗粒

热门文章

  1. 【Markdown】新手快速入门基础教程
  2. 如何得知mysql表结构发生变化了呢?
  3. python解析格式文件
  4. seo外链重要性_为什么网站速度对于SEO至关重要?以及如何加快网站速度
  5. 面试官问面向对象特点_最好的面试官有什么共同点?
  6. php int类型思索
  7. 插入排序 - python实现
  8. 一文搞清楚 Spark 数据本地化级别
  9. 特征值和特征矩阵的意义和应用
  10. VS2010新建Web网站与新建Web应用程序的区别