前言
前段时间与大家分享了 Tomcat 相关大屏监控,今天小编带来了 MySql 服务的监控,话不多少,自行阅读,喜欢的朋友多多给赞,多多分享。
架构
Grafana安装
Prometheus安装
下载地址:https://prometheus.io/download
执行以下命令:
- ## 下载
- wget https://github.com/prometheus/prometheus/releases/download/v2.0.0-rc.3/prometheus-2.0.0-rc.3.linux-amd64.tar.gz
- ## 可自定义解压目录
- tar -xvf prometheus-2.0.0-rc.3.linux-amd64.tar.gz
配置prometheus,vi prometheus.yml
- global:
- scrape_interval: 15s
- evaluation_interval: 15s
- - job_name: prometheus
- static_configs:
- - targets: ['localhost:9090']
- labels:
- instance: prometheus
IP对应的是我们内网的服务器,端口则是对应的exporter的监听端口。
运行Prometheus
- ./prometheus
- level=info ts=2017-11-07T02:39:50.220187934Z caller=main.go:215 msg="Starting Prometheus" version="(version=2.0.0-rc.2, branch=HEAD, revision=ce63a5a8557bb33e2030a7756c58fd773736b592)"
- level=info ts=2017-11-07T02:39:50.22025258Z caller=main.go:216 build_context="(go=go1.9.1, user=root@a6d2e4a7b8da, date=20171025-18:42:54)"
- level=info ts=2017-11-07T02:39:50.220270139Z caller=main.go:217 host_details="(Linux 3.10.0-514.16.1.el7.x86_64 #1 SMP Wed Apr 12 15:04:24 UTC 2017 x86_64 iZ2ze74fkxrls31tr2ia2fZ (none))"
- level=info ts=2017-11-07T02:39:50.223171565Z caller=web.go:380 component=web msg="Start listening for connections" address=0.0.0.0:9090
- ......
启动成功以后我们可以通过Prometheus内置了web界面访问,http://ip:9090 ,如果出现以下界面,说明配置成功(自行忽略Linux1/2,那是服务的监控)
MySql安装
MySql的地位和重要性就不言而喻了,作为开源产品深受广大中小企业以及互联网企业喜爱,所以这里我们也有必要对其进行相应的监控。
由于最近更换了CentOS7,这里对MySql重新安装一遍,顺便做个记录,CentOS7的yum源中默认好像是没有mysql的。为了解决这个问题,我们要先下载mysql的repo源。
列出所有版本信息:
- lsb_release -a
下载mysql的repo源:
- wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
安装mysql-community-release-el7-5.noarch.rpm包:
- rpm -ivh mysql-community-release-el7-5.noarch.rpm
安装mysql:
- yum install mysql-server -y
修改权限,否则会报错:
- chown -R root:root /var/lib/mysql
重启mysql服务:
- service mysqld restart
登录并重置密码:
- ## 直接回车进入mysql控制台
- mysql -u root
- mysql > use mysql;
- mysql > update user set password=password('123456') where user='root';
- mysql > exit;
新手快速搭建MySql服务「神器」
mysqld_exporter安装
下载并解压:
- https://github.com/prometheus/mysqld_exporter/releases/download/v0.10.0/mysqld_exporter-0.10.0.linux-amd64.tar.gz
- tar -xvf mysqld_exporter-0.10.0.linux-amd64.tar.gz
mysqld_exporter需要连接Mysql,首先为它创建用户并赋予所需的权限:
- GRANT REPLICATION CLIENT, PROCESS ON *.* TO 'exporter'@'localhost' identified by '123456';
- GRANT SELECT ON performance_schema.* TO 'exporter'@'localhost';
- flush privileges;
创建.my.cnf文件 vi .my.cnf:
- [client]
- user=exporter
- password=123456
运行mysqld_exporter:
- ./mysqld_exporter -config.my-cnf=".my.cnf" &
Prometheus配置
修改prometheus.yml加入MySql节点:
- global:
- scrape_interval: 15s
- evaluation_interval: 15s
- scrape_configs:
- - job_name: prometheus
- static_configs:
- - targets: ['localhost:9090']
- labels:
- instance: prometheus
- - job_name: mysql
- static_configs:
- - targets: ['192.168.1.120:9104']
- labels:
- instance: db1
保存以后重启Prometheus,查看targets:
最后登录grafana查看MySql监控信息:
小结
这套开源工具还是很轻量级的,不需要集成额外的配置就可以轻松搞定一套面板级 MySql 大屏监控。有兴趣的小伙伴可以尝试一下,做一个有趣的程序员。