Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务

一、通过Zabbix分布式监控平台添加服务监控选项(http,nginx,mysql)

一.添加http服务监控项
http是zabbix自带的监控模板

  • 依次进行选择:配置->主机->server2->模板->链接指示器->Template App HTTP Service->添加->更新
    Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第1张图片
    Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第2张图片

  • 最后再次点击主机时,会发现此时的server2中显示监控项模板中有Template App HTTP Service
    Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第3张图片
    二.监控nginx服务
    因为server中有http,所以这里要在server3中重新搭建一个nginx
    原理:user->webui->zabbix-agent->shell->zabbix-server->mysql->web
    (一)配置nginx
    1.在server3上配置nginx

    [root@server3 ~]# ls
    [root@server3 ~]# tar zxf nginx-1.16.0.tar.gz
    [root@server3 ~]# cd nginx-1.16.0
    [root@server3 nginx-1.16.0]# vim auto/cc/gcc
    [root@server3 nginx-1.16.0]# yum install pcre-devel gcc zlib-devel -y
    [root@server3 nginx-1.16.0]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module
    [root@server3 nginx-1.16.0]# make && make install

Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第4张图片
Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第5张图片
Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第6张图片
2.编辑nginx配置文件,检测是否有错,如果没有报错,开启nginx服务

[root@server3 nginx-1.16.0]# cd /usr/local/nginx/conf/
[root@server3 conf]# vim nginx.conf
[root@server3 conf]# ../sbin/nginx -t
[root@server3 conf]# ../sbin/nginx

Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第7张图片
配置文件的内容如下:

 47         location /status {
 48                 stub_status on;	#此模块主要用于查看nginx的一些状态信息
 49                 access_log off;	#关闭日志记录
 50                 allow 127.0.0.1;	#只允许本机访问
 51                 deny all;
 52         }

Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第8张图片
3.测试(证明nginx配置成功,会显示默认发布页):

[root@server3 conf]# curl 172.25.66.3

Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第9张图片
(二)监控连接数
1.访问http://127.0.0.1/status,会发现此时连接数等较小,此时需要再次访问本机即可增加连接数等(可以通过查看连接数,也可以通过直接访问ip)

[root@server3 conf]# curl http://127.0.0.1/status
#增加1
[root@server3 conf]# curl 127.0.0.1
#增加1
[root@server3 conf]# curl http://127.0.0.1/status

Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第10张图片
注意:
(1)此处查看连接数时不可以输入127.25.66.3,即本机的ip
(2)访问时显示活跃连接数1个,server接收请求数,保持的主机数(获取建立三次握手的次数),请求次数

2.为了可以大幅度增加访问请求数等,我们需要利用ab命令增加

#下载httpd的主要原因是要时用命令ab
[root@server3 conf]# yum install httpd -y
[root@server3 conf]# curl http://127.0.0.1/status

3.利用查看连接数并将其放至userparameter_nginx.conf文件下

[root@server3 conf]#  curl -s http://127.0.0.1/status | grep Active | awk '{print $3}'
[root@server3 conf]# cd /etc/zabbix/zabbix_agentd.d/
[root@server3 zabbix_agentd.d]# vim userparameter_mysql.conf 
[root@server3 zabbix_agentd.d]# cp userparameter_mysql.conf userparameter_nginx.conf
[root@server3 zabbix_agentd.d]# vim userparameter_nginx.conf 
[root@server3 zabbix_agentd.d]# cat userparameter_nginx.conf 
[root@server3 zabbix_agentd.d]# systemctl restart zabbix-agent

Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第11张图片
Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第12张图片
Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第13张图片
文件userparameter_nginx.conf下的内容如下:

#获取连接数(nginx.active为key值,获得的连接数为value值)
UserParameter=nginx.active,curl -s http://127.0.0.1/status | grep Active | awk '{print $3}'

在这里插入图片描述
注意:
此时的键值一定要注意,因为后面会用
4.在server1中安装安装包(此安装包用于server端到agent端获取数据)

[root@server1 ~]# ls
[root@server1 ~]# cd 4.0/
[root@server1 4.0]# yum install -y zabbix-get-4.0.5-1.el7.x86_64.rpm
#查看server1是否可以成功获取server3的连接数
[root@server1 4.0]# zabbix_get -s 172.25.66.3 -p 10050 -k "nginx.active"

Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第14张图片
Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第15张图片
5.在浏览器中选择访问http://172.25.66.3/,发现可以成功显示页面(无论刷新多少次,连接数都不会再次增加)
Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第16张图片
6.再次在server1中查看server3的连接数,发现变为2了,说明连接成功

[root@server1 4.0]# zabbix_get -s 172.25.66.3 -p 10050 -k "nginx.active"

在这里插入图片描述
7.在浏览器中进行以下操作,实现可以通过监控查看连接数

  • 点击配置->主机->server3
    Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第17张图片
  • 点击监控项->创建监控项
    Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第18张图片
  • 在监控项中填写名称为zabbix_status,并填写正确的键值,之后点击添加
    Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第19张图片
  • 点击添加之后,会显示监控项已成功添加
    Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第20张图片
  • 点击配置->主机->server3
    Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第21张图片
  • 点击图形->创建图形
    Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第22张图片
  • 填写部分信息后,选择之前的建立的监控项nginx_status
    Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第23张图片
    Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第24张图片
  • 添加完成后,显示图形已添加,点击页面中的nginx_status
    Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第25张图片
  • 选择预览,会发现显示以下界面

Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第26张图片
注意:
此处忘了使用ab命令,但是不影响实验结果,所以在这里补充添加并查看(但是后期查看请求数需要,还是得做,不然效果不明显)

[root@server3 zabbix_agentd.d]# ab -c 1 -n 1000 http://127.0.0.1/status
[root@server3 zabbix_agentd.d]# curl http://127.0.0.1/status

Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第27张图片
在这里插入图片描述
(三)监控请求数
1.在server3编辑配置文件

[root@server3 zabbix_agentd.d]# vim userparameter_nginx.conf 
[root@server3 zabbix_agentd.d]# systemctl restart zabbix-agent

在这里插入图片描述
配置文件中增加的内容如下:

UserParameter=nginx.active,curl -s http://127.0.0.1/status | grep Active | awk '{print $3}'
UserParameter=nginx.accept,curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $1}' 
UserParameter=nginx.handled,curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $2}'
UserParameter=nginx.requests,curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $3}'

在这里插入图片描述
2.在sever1中获取server3中的数据

[root@server1 fonts]# zabbix_get -s 172.25.27.3 -p 10050 -k "nginx.accept"
[root@server1 fonts]# zabbix_get -s 172.25.27.3 -p 10050 -k "nginx.handled"
[root@server1 fonts]# zabbix_get -s 172.25.27.3 -p 10050 -k "nginx.requests"

Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第28张图片
注意:
如果出现以下报错,说明在server3没有重新启动zabbix-agent服务,ZBX_NOTSUPPORTED: Unsupported item key.

3.在浏览器中进行以下操作,实现可以通过监控查看请求数

  • 点击配置->主机->server3
    Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第29张图片
  • 点击监控项->创建监控项
    Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第30张图片
  • 在监控项中填写名称为zabbix_ser,并填写正确的键值,之后点击添加
    Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第31张图片
  • 点击添加之后,会显示监控项已成功添加
    Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第32张图片
  • 点击配置->主机->server3->图形->创建图形
    Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第33张图片
  • 填写部分信息后,选择之前的建立的监控项nginx_ser
    Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第34张图片
  • 添加完成后,显示图形已添加,点击页面中的nginx_sere
    Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第35张图片
  • 选择预览,会发现显示以下界面
    Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第36张图片

注意:
如果要监控别的数据,按照以上步骤做即可

(四)改变字体
我们会发现此时在图中查看字体是乱码的,所以需要进行修改(字体没有是因为字符集的问题,在windows中下载wps,拷出来一份文件,放到其下)
1.下载我们喜欢的字体到/usr/share/zabbix/fonts目录下

[root@server1 ~]# cd /usr/share/zabbix/fonts
[root@server1 fonts]# ls

在这里插入图片描述
2.编辑配置文件

[root@server1 fonts]# cd ../include/
[root@server1 include]# vim defines.inc.php

在这里插入图片描述
配置文件的内容如下(将之前的默认字体graphfont更改层simkai):

  65 define('ZBX_GRAPH_FONT_NAME',           'simkai'); // fo     nt file name
 110 define('ZBX_FONT_NAME', 'simkai');

在这里插入图片描述
在这里插入图片描述
3.测试:在浏览器中刷新页面,会看到显示的数字不是乱码了,而是你下载的字体的格式
Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第37张图片

二.监控zabbix server上的mysql服务

(一)在浏览器中添加mysql自带的监控模块,并尝试查看,此时发现没有数据(主机查看监控数)

  • 点击配置->主机->zabbix server
    Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第38张图片

  • 点击模板->链接指示器中的选择->群组(选择Templates/Databases)->Template DB MYSQL
    Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第39张图片

  • 添加完模板后,点击更新
    Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第40张图片

  • 主机更新后,会看到zabbix server中的监控项变为102个,而且模板中也有Template DB MYSQL,然后点击server3
    Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第41张图片

  • 点击图形->群组(选择Templates/Databases)->名称MySQL bandwidth
    Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第42张图片

  • 点击预览,发现此时是正在监控MYSQL的带宽,但是没有任何数据,这是因为没有访问数据库
    Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第43张图片

  • 访问数据库,使在页面中有数据显示

    [root@server1 tmp]# mysql -p
    MariaDB [(none)]> show databases;
    MariaDB [(none)]> use zabbix;
    MariaDB [zabbix]> show tables;
    MariaDB [zabbix]> select * from users;

Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第44张图片
Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第45张图片

  • 在浏览器中查看,最好退出重新查看(即重新点击配置->主机—>……),发现此时两个数据库中都有信息
    Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第46张图片
    Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第47张图片

(二)但是自带的模块监控项太少了,所以我们将通过添加模块增加监控项
向zabbix监控中导入模块监控mysql的模板percona(开源的mysql分析工具)
1.配置mysql

[root@server1 ~]# mkdir /var/lib/zabbix
[root@server1 ~]# cd /var/lib/zabbix
[root@server1 zabbix]# vim .my.cnf
[root@server1 zabbix]# ls -a
[root@server1 zabbix]# systemctl restart zabbix-agent

Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第48张图片
配置文件下的内容如下:

[mysql]
host=localhost
user=root
password=redhat
socket=/var/lib/mysql/mysql.sock
[mysqladmin]
host=localhost
user=root
password=redhat
socket=/var/lib/mysql/mysql.sock

Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第49张图片
2.安装percona-zabbix模板并编辑配置文件
[root@server1 ~]# ls

[root@server1 ~]# rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm 
[root@server1 ~]# cd /var/lib/zabbix/
[root@server1 zabbix]# cd percona/
[root@server1 percona]# cd templates/
[root@server1 templates]# cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d
[root@server1 templates]# cd ..
[root@server1 percona]# cd scripts/
[root@server1 scripts]# ls
[root@server1 scripts]# vim ss_get_mysql_stats.php.cnf
#检测mysql是否存活,1则表示存活,0则表示没有存活
[root@server1 ~]# mysqladmin -uzabbix -predhat -h 127.0.0.1 ping | grep -c active

Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第50张图片
配置文件ss_get_mysql_stats.php.cnf 中的内容如下:

在这里插入图片描述
3.测试percona的脚本并过滤监控项

[root@server1 scripts]# systemctl restart zabbix-agent
[root@server1 scripts]# cd /etc/zabbix/zabbix_agentd.d
#测试脚本是否可以正确执行
[root@server1 zabbix_agentd.d]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg
[root@server1 zabbix_agentd.d]# cd /tmp
#查看监控项
[root@server1 tmp]# cat localhost-mysql_cacti_stats.txt 
[root@server1 tmp]# rm -rf localhost-mysql_cacti_stats.txt 

Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第51张图片
4.在浏览器中进行以下操作

  • 点击配置->模板->选择链接的模板
    Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第52张图片
  • 将xml文件导入并选择聚合图形(不选聚合图形不会显示在同一个界面中,不方便)
    Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第53张图片
  • 导入成功后会显示以下界面
    Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第54张图片
  • 点击配置->主机->Zabbix server
    Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第55张图片
  • 点击模板,将Templates/Databases取消链接,因为要导入新的mysql模块,所以一定要将旧的取消链接
    Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第56张图片
  • 选择群组为Percona Templates中的Template Percona MySQL Server
    Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第57张图片
  • 将模块添加成功后,会显示以下的结果,在最后点击更新
    Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第58张图片
  • 更新后的页面如下,此时查看监控项发现是293个,且模块中也有新添加的模块
    Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第59张图片
  • 点击Zabbix server后出现以下界面,发现此时有很多mysql模块
    Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第60张图片
    Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第61张图片
  • 随便点开一个模板进行查看,发现此时有数据
    Zabbix(三) 通过Zabbix分布式监控平台添加服务监控选项和监控Zabbix server上的mysql服务_第62张图片

你可能感兴趣的:(项目)