赞
踩
part 1:prometheus的介绍与安装
part 2 :prometheus图形界面的基本监控配置
熟悉了上面的两个部分后,我们进入今天的服务监控,以mariadb为例:
监控mysql需要在被监控机器安装mysql_exporter
mysql_exporter下载地址:https://prometheus.io/download/
[root@xinsz08-20 ~]# tar xf mysqld_exporter-0.12.1.linux-amd64.tar.gz
文件名字太长,重命名一下:
[root@xinsz08-20 ~]# mv mysqld_exporter-0.12.1.linux-amd64 mysqld_exporter
[root@xinsz08-20 ~]# cd mysqld_exporter/
[root@xinsz08-20 mysqld_exporter]# pwd
/root/mysqld_exporter
[root@xinsz08-20 mysqld_exporter]# yum install mariadb\* -y
[root@xinsz08-20 ~]# systemctl start mariadb
[root@xinsz08-20 ~]# systemctl enable mariadb
[root@xinsz08-20 ~]# ss -natlp |grep 3306 //查看端口是否开启
LISTEN 0 80 0.0.0.0:3306 0.0.0.0:* users:(("mysqld",pid=67872,fd=22))
[root@xinsz08-20 ~]# mysql
MariaDB [(none)]> grant select,replication client,process ON *.* to 'mysql_monitor'@'localhost' identified by '12345678';
Query OK, 0 rows affected (0.000 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.000 sec)
MariaDB [(none)]> exit
Bye
[root@xinsz08-20 ~]#
备注: 此处是prometheus服务器来找mysql_exporter,然后mysql_exporter 在找mariadb,所以这里用的是localhost,指的是mysql_exporter的ip
[root@xinsz08-20 mysqld_exporter]# pwd
/root/mysqld_exporter
[root@xinsz08-20 mysqld_exporter]# vim .my.cnf (手工创建)
[client]
user=mysql_monitor
password=12345678
[root@xinsz08-20 mysqld_exporter]# nohup ./mysqld_exporter --config.my
-cnf=/root/mysqld_exporter/.my.cnf &
[1] 68166
查看端口(9104)
[root@xinsz08-20 ~]# ss -naltp |grep 9104
LISTEN 0 128 *:9104 *:* users:(("mysqld_exporter",pid=68249,fd=3))
在prometheus的server端进行修改
[root@zmedu-17 prometheus-2.16.0.linux-amd64]# pwd
/root/prometheus-2.16.0.linux-amd64
[root@zmedu-17 prometheus-2.16.0.linux-amd64]# vim prometheus.yml
- job_name: 'mariadb'
static_configs:
- targets: ['192.168.1.20:9104']
重启prometheus服务
[root@zmedu-17 prometheus-2.16.0.linux-amd64]# pkill prometheus
[root@zmedu-17 prometheus-2.16.0.linux-amd64]# lsof -i:9090
[root@zmedu-17 prometheus-2.16.0.linux-amd64]# ./prometheus &
[1] 84662
[root@zmedu-17 ~]# ss -naltp |grep 9090
LISTEN 0 128 [::]:9090 [::]:* users:(("prometheus",pid=84662,fd=9))
http://192.168.1.17:9090
查看mysql的连接数,看到只有一个连接数:
mysql_global_status_aria_pagecache_blocks_unused
global: # 全局配置 scrape_interval: 15s # 多久收集一次数据 evaluation_interval: 15s # 多久评估一次规则 scrape_timeout: 10s # 每次收集数据的超时时间 # Alertmanager configuration #告警设置 alerting: alertmanagers: - static_configs: #告警规则,也可以基于动态方式进行告警 - targets: rule_files: #规则文件 #收集数据配置列表 scrape_configs: - job_name: 'prometheus'
Alerts: 表示可以看到我们定义的告警规则
Graph:表示界面查询数据,生成图片,或者返回数据 Status:
下面的target:表示我们的远端的监控,可以看exporter的运行情况
总结:prometheus配置起来很简单,但是图表的确不好看,下节课我们尝试让prometheus跟grafana结合
互联网老辛:
互联网编程手艺人,架构师,一个技术极客,一个布道者,一个喜欢折腾的人;高中起就有一个做讲师的梦想,工作十余载,终究如愿以偿成为讲师,接下来可能会去读研,并继续把自己所学所感真心传授给自己的学员,帮助更多想要进入IT行业的小伙伴。传道授业解惑,深知责任重大,每日战战兢兢,如履薄冰。苦心钻研,一直前行,不敢有丝毫懈怠。
作者:互联网老辛
互联网编程手艺人,架构师,一个技术极客,一个布道者;高中起就有一个做讲师的梦想,工作十余载,终于有幸成为云计算讲师,持续钻研云计算和信息安全领域,并继续把自己所学所感真心传授给自己的学员,帮助更多想要进入IT行业的小伙伴。传道授业解惑,深知责任重大,每日战战兢兢,如履薄冰。苦心钻研,一直前行,不敢有丝毫懈怠。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。