企业监控系统--zabbix实现对nginx的监控(自定义监控项),zabbix实现对 mysql的监控

一.zabbix实现对nginx的监控(自定义监控项)

1.配置客户端

在客户端编译安装nginx,配置nginx并打开nginx服务

<1>编译安装nginx

[root@server3 ~]# tar zxf nginx-1.18.1.tar.gz
[root@server3 ~]# cd nginx-1.16.1   
[root@server3 nginx-1.18.1]# yum install gcc pcre-devel zlib-devel -y	#解决依赖性
[root@server3 nginx-1.18.1]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module  #预编译,这里添加了http的监控模块
[root@server3 nginx-1.18.1]# make && make install

<2>配置nginx

[root@server3 nginx-1.18.1]# cd /usr/local/nginx/ 
[root@server3 nginx]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
[root@server3 nginx]# vim conf/nginx.conf

  2 user  nginx;

 48         location /status {
 49             stub_status on;
 50             access_log off;
 51             allow 127.0.0.1;		# #添加访问控制,只允许本机访问
 52             deny all;
 53         }

<3>打开nginx服务

[root@server3 nginx]# nginx		 #打开nginx服务
[root@server3 nginx]# netstat -antlupe | grep 80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      0          33211      3986/nginx: master  
tcp        0      0 172.25.63.3:10050       172.25.63.4:49980       TIME_WAIT   0          0          -  

2.编辑zabbix-agent配置文件

nginx状态数据信息:

 [root@server3 nginx]# curl http://127.0.0.1/status
Active connections: 1 
server accepts handled requests
 3 3 3 
Reading: 0 Writing: 1 Waiting: 0

其中信息的含义:

  • active connections – 活跃的连接数量
  • server accepts handled requests — 总共处理了3个连接 , 成功创建3次握手,
    总共处理了3个请求
  • reading — 读取客户端的连接数.
  • writing — 响应数据到客户端的数量
  • waiting — 开启 keep-alive 的情况下,这个值等于 active – (reading+writing), 意思就是 Nginx 已经处理完正在等候下一次请求指令的驻留连接.

在server3端,编辑zabbix-agent对应的配置文件,使zabbix监控活跃的连接数量,
之后重启zabbix-agent服务

 [root@server3 nginx]# cd /etc/zabbix/zabbix_agentd.d/
[root@server3 zabbix_agentd.d]# vim userparameter_nginx.conf 

UserParameter=nginx.active,curl -s http://127.0.0.1/status | grep Active | awk '{print $3}'		#提取链接数,其中nginx.active为key值

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

3.配置server4

1.安装测试软件

在server1端安装软件zabbix-get-4.0.5-1.el7.x86_64.rpm,用来测试

 [root@server4 4.4]# yum install zabbix-get-4.4.1-1.el7.x86_64.rpm -y

2.测试:

[root@server4 4.4]# zabbix_get -s 172.25.63.3 -p 10050 -k "nginx.active"	 #测试是否可以获取到数据;如果有报错,请仔细检查文件内容;这里的nginx.active是文件对应的UserParameter的内容
    1

如果测试没有问题,进行zabbix浏览器监控界面完成自定义添加监控项:

5.创建server3的监控项

在这里插入图片描述

在这里插入图片描述

6.创建图形

在这里插入图片描述

在这里插入图片描述

7.在图形预览查看效果:

点击nginx_status,进入图形预览界面

在这里插入图片描述
在这里插入图片描述

我们发现汉字出现了乱码的现象。所以下面针对解决汉字乱码的问题

在server4:

[root@server4 4.4]# cd /usr/share/zabbix/assets/fonts/
[root@server4 fonts]# ls
graphfont.ttf  simkai.ttf			#在网上下载字体对应的tty文件(比如simkai.tty),并将其拷贝的/usr/share/zabbix/assets/fonts/目录中

[root@server4 fonts]# cd /usr/share/zabbix/include/
[root@server4 include]# vim defines.inc.php 

:%s/graphfont/simkai/g    #在末行模式下,输入该命令,将启动的字体graphfont替换为字体simkai

此时再次预览图形,可以看到汉字乱码的现象,已经得到解决:

在这里插入图片描述

8.添加新的监控项

为了监控server3 nginx服务总共处理了多少个连接,可以使用以下命令:

[root@server3 ~]# curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $1}' 
19
[root@server3 ~]# curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $1}'
20

以下就实现zabbix监控server3 nginx服务总共处理了多少个连接,总体过程和上一个监控项类似:

编辑zabbix-agent配置文件

[root@server3 ~]# pwd
/etc/zabbix/zabbix_agentd.d
[root@server3 zabbix_agentd.d]
# vim userparameter_nginx.conf 

加入:
UserParameter=nginx.accept,curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $1}'

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

测试:

[root@server4 include]# zabbix_get -s 172.25.63.3 -p 10050 -k "nginx.accept"
24

说明配置成功,之后创建监控项:
在这里插入图片描述
在这里插入图片描述
之后更新图形,点击nginx status:
在这里插入图片描述在这里插入图片描述
更新完成后即可以预览图形:
在这里插入图片描述
即实现了在一个图中对nginx 两种状态的监控。

 二.利用pernoca模板实现对 mysqld 的监控

zabbix实现利用pernoca模板对mysql数据库的监控,这里针对的是server4

1.在server4端添加DB MySQL模块

[root@server4 ~]# mkdir /var/lib/zabbix
[root@server4 ~]# cd /var/lib/zabbix/
[root@server4 zabbix]# vim .my.cnf
[root@server4 zabbix]# cat .my.cnf 
[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

2.安装percona模块

[root@server4 4.4]# rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm 
  • 3.配置percona模块
[root@server4 4.4]# cd /var/lib/zabbix/percona/
[root@server4 percona]# cd templates/
[root@server4 templates]# cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
[root@server4 zabbix_agentd.d]# cd /var/lib/zabbix/percona/scripts/
[root@server4 scripts]# vim ss_get_mysql_stats.php.cnf
[root@server4 scripts]# cat ss_get_mysql_stats.php.cnf 
<?php
$mysql_user = 'root';
$mysql_pass = 'redhat';

[root@server4 scripts]# systemctl restart zabbix-agent

4.测试:看脚本文件是否有错

[root@server4 scripts]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gk		#没有报错,就表示正确
1903
[root@server4 ~]# cd /tmp/
[root@server4 tmp]# cat localhost-mysql_cacti_stats.txt    #可以看到内容
[root@server4 tmp]# ll localhost-mysql_cacti_stats.txt
-rw-r--r-- 1 root root 1336 Mar 14 11:01 localhost-mysql_cacti_stats.txt   #可以看到该文件的所属组和所属用户都是root,而不是zabbix。这样,对后续的写入是有影响的,所以要将该文件删除
[root@server4 tmp]# rm -rf localhost-mysql_cacti_stats.txt  #执行脚本之后,会生成这个.txt文件,记得将其删除

5.浏览器导入模版:

在这里插入图片描述

点击浏览,选择要导入的模板(zbx_percona_mysql_template.xml)——该模板是之前在网上下载好的。

在这里插入图片描述
在这里插入图片描述
看到导入成功,即成功;

6.添加模块

配置——>主机——>Zabbix server——>模板,添加 percona MYSQL 模版;

在这里插入图片描述

点击更新,可以看到Zabbix server的监控项增多;

在这里插入图片描述

测试:看是否能看到数据

在数据库中即进行一些查看表的操作。

点击配置——>主机——>Zabbix server——>监控项——>Binary Log Space,可以看到,其更新间隔为300s(5分钟)

在这里插入图片描述
点击配置——>主机——>Zabbix server——>图形——>MySQL Processlist——>预览,可以看到图形(当然也可以选择其他的图形进行查看

在这里插入图片描述
选择InnoDB Buffer Pool 查看图形:
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值