内容简介:利用Prometheus和Grafana监控MySQL
一、 Prometheus 是一个开源的服务监控系统和时间序列数据库。:
官方GitHub地址为: https://github.com/prometheus/prometheus
官方地址:https://prometheus.io/
官方拓扑图如下
特性:
-
高维度数据模型
-
自定义查询语言
-
可视化数据展示
-
高效的存储策略
-
易于运维
-
提供各种客户端开发库
-
警告和报警
-
数据导出
二、安装 Prometheus(服务器环境为Centos7.2,本实验服务端跟被监控 MySQL 在同一台服务器)
前提条件请关闭SELinux与Firewalld(centos6 为iptables)
下载安装prometheus
$ wget https://github.com/prometheus/prometheus/releases/download/v1.7.1/prometheus-1.7.1.linux-amd64.tar.gz
$ mkdir /opt/prometheus
$ tar zxf prometheus-1.7.1.linux-amd64.tar.gz -C /opt/prometheus --strip-components=1
编辑配置prometheus.yml文件,内容如下:
global:
scrape_interval: 15s
evaluation_interval: 15s
external_labels:
monitor: 'codelab-monitor'
rule_files:
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['192.168.1.199:9090']
- job_name: linux
static_configs:
- targets: ['192.168.1.199:9100']
labels:
instance: db1
- job_name: mysql
static_configs:
- targets: ['192.168.1.199:9104']
labels:
instance: db1
后台启动prometheus
nohup /opt/prometheus/prometheus -config.file=prometheus.yml &
tail -200f nohup.out
time="2017-06-12T11:51:16+08:00" level=info msg="Starting prometheus (version=1.7.0, branch=master, revision=bfa37c8ee39d11078662dce16c162a61dccf616c)" source="main.go:88"
time="2017-06-12T11:51:16+08:00" level=info msg="Build context (go=go1.8.3, user=root@7a6329cc02bb, date=20170607-09:43:48)" source="main.go:89"
time="2017-06-12T11:51:16+08:00" level=info msg="Host details (Linux 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 monitor (none))" source="main.go:90"
time="2017-06-12T11:51:16+08:00" level=info msg="Loading configuration file prometheus.yml" source="main.go:252"
time="2017-06-12T11:51:16+08:00" level=info msg="Loading series map and head chunks..." source="storage.go:428"
time="2017-06-12T11:51:16+08:00" level=info msg="2200 series loaded." source="storage.go:439"
time="2017-06-12T11:51:16+08:00" level=info msg=" source="web.go:259"
Prometheus提供一个内置的web界面。我们可以通过http://192.168.1。199:9090访问
在 Status -> Targets 页面下,我们可以看到我们配置的两个Target,它们的 State
三、接下来我们安装client客户端
1、安装client $ wget https://github.com/prometheus/node_exporter/releases/download/v0.14.0/node_exporter-0.14.0.linux-amd64.tar.gz $ wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.10.0/mysqld_exporter-0.10.0.linux-amd64.tar.gz $ mkdir /opt/prometheus_exporters $ tar zxf node_exporter-0.14.0.linux-amd64.tar.gz -C /opt/prometheus_exporters --strip-components=1 && tar zxf mysqld_exporter-0.10.0.linux-amd64.tar.gz -C /opt/prometheus_exporters --strip-components=1 2、启动os监控client nohup /opt/prometheus_exporters/node_exporter & tail -200f nohup.out time="2017-06-12T11:28:52+08:00" level=info msg=" - hwmon" source="node_exporter.go:162" time="2017-06-12T11:28:52+08:00" level=info msg=" - netstat" source="node_exporter.go:162" time="2017-06-12T11:28:52+08:00" level=info msg=" - stat" source="node_exporter.go:162" time="2017-06-12T11:28:52+08:00" level=info msg=" - vmstat" source="node_exporter.go:162" time="2017-06-12T11:28:52+08:00" level=info source="node_exporter.go:186" 3、mysqld_exporter需要连接到MySQL,需要授权 mysql> GRANT REPLICATION CLIENT, PROCESS ON *.* TO 'monitor'@'localhost' identified by 'test123'; mysql> GRANT SELECT ON performance_schema.* TO 'monitor'@'localhost'; 4、创建 .my.cnf 文件并运行mysqld_exporter [root@monitor prometheus_exporters]# cat .my.cnf [client] user=monitor password=test123 启动mysqld_exporter nohup /opt/prometheus_exporters/mysqld_exporter -config.my-cnf=".my.cnf" & tail -200f nohup.out time="2017-06-12T11:30:07+08:00" level=info msg="Starting mysqld_exporter (version=0.10.0, branch=master, revision=80680068f15474f87847c8ee8f18a2939a26196a)" source="mysqld_exporter.go:460" time="2017-06-12T11:30:07+08:00" level=info msg="Build context (go=go1.8.1, user=root@3b0154cd9e8e, date=20170425-11:24:12)" source="mysqld_exporter.go:461" time="2017-06-12T11:30:08+08:00" level=info msg=" source="mysqld_exporter.go:479"
我们回到192.168.1.199:9090,可以看到
Status -> Targets 页面
四、 安装和运行Grafana
1、安装Grafana #wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.3.2-1.x86_64.rpm #yum localinstall grafana-4.3.2-1.x86_64.rpm 2、编辑配置文件 /etc/grafana/grafana.ini ,修改 dashboards.json 段落下两个参数的值: [dashboards.json] enabled = true path = /var/lib/grafana/dashboards 2、运行 Grafana systemctl start grafana-server # [root@monitor prometheus_exporters]# ps aux |grep grafana root 3211 0.0 0.0 112664 972 pts/1 S+ 11:40 0:00 grep --color=auto grafana grafana 21241 0.3 0.8 805720 39620 ? Ssl 6月12 4:42 /usr/sbin/grafana-server --config=/etc/grafana/grafana.ini --pidfile= cfg:default.paths.logs=/var/log/grafana cfg:default.paths.data=/var/lib/grafana cfg:default.paths.plugins=/var/lib/grafana/plugins
我们可通过 http://192.168.1.199:3000 访问Grafana网页界面(缺省的帐号/密码为admin/admin):
登录并设置数据源
至此大功告成
我们可以看到os与数据库监控数据了
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- python利用zabbix API添加监控
- 利用Resource Timing监控资源加载速度
- 利用ZABBIX全面监控MongoDB数据库
- 利用Prometheus 打造企业分布式监控平台(2)--服务发现
- 利用Prometheus 打造企业分布式监控平台(1)--扩展性
- Linux基础之-利用shell脚本实现自动监控系统服务
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
风吹江南之互联网金融
陈宇(江南愤青) / 东方出版社 / 2014-6-1 / 55元
随着中国互联网金融浪潮高涨,P2P、众筹、余额宝、微信支付等新生事物层出不穷,加之大数据等时髦概念助阵,简直是乱花渐欲迷人眼,令媒体兴奋,公众狂热。那么,互联网金融真的能“颠覆”传统金融吗?当互联网思维对撞传统金融观念,是互联网金融的一统天下,还是传统金融业的自我革新?究竟是谁动了金融业的奶酪? 本书作者早期试水创立具有互联网金融雏形的网站,后来成为互联网金融的资深投资人,基于其多年在该领域......一起来看看 《风吹江南之互联网金融》 这本书的介绍吧!
