文档章节

Prometheus监控mysql实例--centos7安装mysql_exporter

j
 java_龙
发布于 01/23 14:47
字数 1395
阅读 17
收藏 2

目录

  • 概述
  • 环境准备
  • 普罗米修斯简介
  • mysql安装
  • mysqld_exporter安装
  • 启动参数列表

概述

    prometheus(普罗米修斯) 是一个开源系统监控和报警工具包,许多公司和组织都采用了Prometheus,该项目拥有非常活跃的开发人员和用户社区。它现在是一个独立的开源项目,独立于任何公司进行维护。

环境准备

  • mysql 5.5以上
  • mysql_exporter 0.11.0

普罗米修斯简介

功能

  • 根据指标名称和key/value标识组成一个多维度的时间序列数据模型
  • 具有一种利用多维度数据模型灵活查询的一种语言PromQL
  • 不依赖分布存储,每个服务节点都是独立的
  • 时序数据收集通过http的pull模型
  • 通过中介网关支持推送时间序列
  • 通过服务发现或静态配置发现目标
  • 图形化支持多种模式

组件

    普罗修斯是开源的,它的生态中有很多可选组件,选用组件时需要注意它们的许可说明,大体组件有以下几类:

  • 普罗米修斯服务 (整理存储数据)
  • 客户端库(查询数据进行可视化等操作)
  • 推送数据的jobs(收集数据)
  • 推送数据的exporer(收集数据)
  • 报警管理器(根据指标进行报警)

架构

此图来自官网,博主对架构图标注了注释

mysql搭建

    这里可以参考博主以前的博文 centos 7下源码安装mysql5.7--一步一步亲测操作完成

mysql_exporter安装

查看系统版本

#lsb_release -a

下载

全系统版本下载地址: https://github.com/prometheus/mysqld_exporter/releases

查看系统版本

#lsb_release -a

 

选择版本下载

#mkdir -P /opt/packages && cd /opt/packages
#wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.11.0/mysqld_exporter-0.11.0.linux-amd64.tar.gz

安装

#mkdir /opt/softs && cd /opt/softs
#tar -zxvf /opt/packages/mysqld_exporter-0.11.0.linux-amd64.tar.gz

创建mysql授权

进入mysql命令行

>CREATE USER 'mysqld_exporter'@'%' IDENTIFIED BY 'mysqld_exporter_password' WITH MAX_USER_CONNECTIONS 3;
>GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'mysqld_exporter'@'%';
>flush privileges;

mysqld_exporter: 为数据库用户名,自行定义

mysqld_exporter_password: 为数据库用户对应的密码,自行定义

配置mysql_exporter

#cd /opt/softs/mysqld_exporter-0.11.0.linux-amd64
#vim .my.cnf

.my.cnf配置内容如下:

就是配置上面授权的数据库用户名以及密码

[client]
user=mysqld_exporter
password=mysqld_exporter_password

启动mysql_exporter

#export DATA_SOURCE_NAME='mysqld_exporter:mysqld_exporter_password@tcp(172.16.0.142:3316)/'
#/opt/softs/mysqld_exporter-0.11.0.linux-amd64/mysqld_exporter --config.my-cnf="/opt/environment/mysqld_exporter-0.11.0.linux-amd64/.my.cnf"

这是临时启动,环境变量,应该配置到文件里面去,启动命令需要设置为开机启动

开放exporter端口

#firewall-cmd --get-active-zones
#firewall-cmd --zone=public --add-port=9104/tcp --permanent
#firewall-cmd --reload

开机启动

这里就不赘述了,给出几种开机启动的方案,自行选择

  • supervisor
  • rc.local
  • systemd

举例通过supervisor开机启动:

点击查看博主关于supervisor的安装与配置博文,这里就只给出supervisor的配置项:

#vim /etc/supervisor/conf.d/mysqld-exporter.conf

配置内容如下:

[program:mysqld-exporter]
environment=DATA_SOURCE_NAME='mysqld_exporter:mysqld_exporter_password@tcp(172.16.0.142:3316)/'
directory = /opt/softs/mysqld_exporter-0.11.0.linux-amd64/
command =/opt/softs/mysqld_exporter-0.11.0.linux-amd64/mysqld_exporter --config.my-cnf="/opt/softs/mysqld_exporter-0.11.0.linux-amd64/.my.cnf"
autostart = true
startsecs = 5
autorestart = true
startretries = 3
user = root
redirect_stderr = true
stdout_logfile_maxbytes = 20MB
stdout_logfile_backups = 20
stdout_logfile = /opt/softs/mysqld_exporter-0.11.0.linux-amd64/mysqld_exporter.log

启动参数列表

收集器参数

参数名 MySQL 版本 作用
collect.auto_increment.columns 5.1 自增列最大值
collect.binlog_size 5.1 binlog文件大小
collect.engine_innodb_status 5.1 从SHOW ENGINE INNODB STATUS 命令收集
collect.engine_tokudb_status 5.6 从SHOW ENGINE TOKUDB STATUS 命令收集 .
collect.global_status 5.1 从SHOW GLOBAL STATUS命令收集 (默认可用)
collect.global_variables 5.1 从SHOW GLOBAL VARIABLES命令收集 (默认可用)
collect.info_schema.clientstats 5.5 如果使用userstat=1运行,则设置为true以收集客户端统计信息。
collect.info_schema.innodb_metrics 5.6 收集information_schema.innodb_metrics 指标.
collect.info_schema.innodb_tablespaces 5.7 收集information_schema.innodb_sys_tablespaces 指标.
collect.info_schema.innodb_cmp 5.5 收集information_schema.innodb_cmp中的innoDB压缩表指标
collect.info_schema.innodb_cmpmem 5.5 收集information_schema.innodb_cmpmem中InnoDB 缓冲池指标 .
collect.info_schema.processlist 5.1 收集 information_schema.processlist中的线程状态
collect.info_schema.processlist.min_time 5.1 线程在每个状态的最小时间. (默认: 0)
collect.info_schema.query_response_time 5.5 如果query_response_time_stats 设置的 ON,则收集查询响应时间.
collect.info_schema.tables 5.1 收集information_schema.tables中的指标 (默认开启)
collect.info_schema.tables.databases 5.1 为所有数据库收集表统计信息.
collect.info_schema.tablestats 5.1 如果tablestats=1, 收集数据表统计数据.
collect.info_schema.userstats 5.1 如果userstat=1, 收集用户统计数据.
collect.perf_schema.eventsstatements 5.6 收集performance_schema.events_statements_summary_by_digest中的指标.
collect.perf_schema.eventsstatements.digest_text_limit 5.6 标准语句的最大长度. (默认: 120)
collect.perf_schema.eventsstatements.limit 5.6 根据响应时间限制语句的事件数量. (默认: 250)
collect.perf_schema.eventsstatements.timelimit 5.6 限制最后出现的事件事件. 单位:秒(默认: 86400)
collect.perf_schema.eventswaits 5.5 收集performance_schema.events_waits_summary_global_by_event_name中的指标.
collect.perf_schema.file_events 5.6 收集performance_schema.file_summary_by_event_name中的指标.
collect.perf_schema.file_instances 5.5 收集performance_schema.file_summary_by_instance中的指标.
collect.perf_schema.indexiowaits 5.6 收集performance_schema.table_io_waits_summary_by_index_usage中的指标.
collect.perf_schema.tableiowaits 5.6 收集performance_schema.table_io_waits_summary_by_table中的指标.
collect.perf_schema.tablelocks 5.6 收集performance_schema.table_lock_waits_summary_by_table中的指标.
collect.perf_schema.replication_group_member_stats 5.7 收集performance_schema.replication_group_member_stats中的指标.
collect.slave_status 5.1 收集SHOW SLAVE STATUS (默认可用)
collect.slave_hosts 5.1 收集SHOW SLAVE HOSTS信息
collect.heartbeat 5.1 收集数据库实例心跳
collect.heartbeat.database 5.1 收集某数据库心跳. (默认 heartbeat)
collect.heartbeat.table 5.1 收集某表的心跳. (默认 heartbeat)

 常用参数

参数名 描述
config.my-cnf .my.cnf路径. (默认: ~/.my.cnf)
log.level 日志级别 (默认: info)
exporter.lock_wait_timeout 为连接设置lock_wait_timeout 以免长时间锁定元数据. (默认: 2 秒)
exporter.log_slow_filter 增加log_slow_filter避免损坏的查询日志记录很慢. 注意: 不支持Oracle MySQL.
web.listen-address 设置监听的地址和端口
web.telemetry-path 公开指标的路径
version 打印信息的版本

© 著作权归作者所有

共有 人打赏支持
j
粉丝 72
博文 98
码字总数 137591
作品 0
成都
程序员
私信 提问
利用Prometheus与Grafana对Mysql服务器的性能监控详解

利用Prometheus与Grafana对Mysql服务器的性能监控详解 转载 更新时间:2017年03月04日 08:37:38 作者:LoyaChen 我要评论 Prometheus是源于 Google Borgmon的一个开源监控系统,用 Golang开发...

linjin200
2018/06/15
0
0
Percona Monitoring and Management (PMM) 监控MongoDB

Percona Monitoring and Management (PMM) 监控MongoDB 1. Percona监控和管理概述 2. 安装MongoDB 3. 部署Percona监控和管理 环境: AWS ec2 CentOS7一台 1. Percona监控和管理概述 Percona监...

ygqygq2
2017/07/18
0
0
使用Prometheus+Grafana监控

一、介绍Prometheus Prometheus(普罗米修斯)是一套开源的监控&报警&时间序列数据库的组合,起始是由SoundCloud公司开发的。随着发展,越来越多公司和组织接受采用Prometheus,社会也十分活...

xtof
2018/12/17
0
0
grafana+prometheus快速搭建MySql监控系统实践

版权声明:作者:汤青松 https://blog.csdn.net/u013431141/article/details/81633229 一、背景 对于LNMP环境下的开发者来说,mysql是非常重要的一环,同时mysql的性能监控也是开发者所需要关...

apache
2018/08/13
0
0
快速构建ceph可视化监控系统

前言 ceph的可视化方案很多,本篇介绍的是比较简单的一种方式,并且对包都进行了二次封装,所以能够在极短的时间内构建出一个可视化的监控系统 本系统组件如下: ceph-jewel版本 ceph_expor...

万建宁
2018/07/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Android安全防护防护———加密算法

摘要 这篇文章本来早就应该写了,但是由于项目一直开发新的需求,就拖后了。现在有时间了,必须得写了。现在Android应用程序对安全防范这方面要求越来越高了。特别是金融行业,如果金融app没...

北辰丨丶
19分钟前
1
0
MongoDB ObjectId详解及使用

MongoDB ObjectId详解及使用 2017年09月13日 14:25:18 universsky2015 阅读数:11802 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/universsky2015/article...

linjin200
23分钟前
1
0
Caffe在CentOS和Ubuntu上安装

1 CentOS上安装中需要配置第三方源 #sudo yum install epel-release 如果不安装第三方软件源,很多依赖包都不能通过yum安装 Makefile blas = open 2 Unbuntu PYTHON_INCLUDES=/usr/local/li...

shengjuntu
25分钟前
1
0
一线 IT 公司开发转管理,我是怎么从 0 到 1 的?

在某一线互联网公司的任职生涯马上就要结束了,回想起来,从 16 年校招加入,到今年年初离职,在这快三年的时间里,公司在飞速地发展和变化,我也从一个刚入职场的初级后台开发成长为带着十来...

编辑部的故事
25分钟前
1
0
Hibernate 自动建表默认编码格式改为UTF-8

Hibernate 自动建表时报编码错误: Caused by: java.sql.SQLException: Incorrect string value: '\...' for column 'cust_name' at row 1 一般情况我们使用的mysql方言为:org.hibernate.d......

gwl_
28分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部