#####Zabbix分布式监控平台添加监控服务项(http、nginx和mysql)####

Zabbix监控平台基于Zabbix的集群基础上操作
###.添加http服务监控项###

  • http在zabbix中自带监控模版
  • 点击配置->主机->server2->模版->选择:Tempalte App HTTP Service
    在这里插入图片描述
    在这里插入图片描述
    点击更新后server2模版中显示Template App HTTP Service
    在这里插入图片描述
    ###添加nginx服务监控项###
  • nginx监控项zabbix中没有,需要在zabbix-agent端部署nginx服务
    1.nginx部署
[root@server2 ~]# yum install -y gcc pcre-devel zlib-devel make  #安装需要的工具库
[root@server2 ~]# tar zxf nginx-1.15.8.tar.gz   
[root@server2 ~]# cd nginx-1.15.8
[root@server2 nginx-1.15.8]# ls
auto     CHANGES.ru  configure  html     man     src
CHANGES  conf        contrib    LICENSE  README
[root@server2 nginx-1.15.8]# vim auto/cc/gcc 
171 # debug   ##注释这两行,关闭debug日志实现最小安装
172 #CFLAGS="$CFLAGS -g"
[root@server2 nginx-1.15.8]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module  ##编译指定nginx的按装位置,和增加的模块
[root@server2 nginx-1.15.8]# make && make install  ##安装
[root@server2 nginx-1.15.8]# cd /usr/local/nginx/
[root@server2 nginx]# ls
conf  html  logs  sbin
[root@server2 nginx]# du -sh
872K	.
[root@server2 conf]# vim /usr/local/nginx/conf/nginx.conf
  3 worker_processes  auto;

48         location /status {
 49               stub_status on;  #nginx中的stub_status模块用于查看nginx的一些状态信息
 50                 access_log off;  #关闭日志记录
 51        }
[root@server2 conf]# /usr/local/nginx/sbin/nginx -t  #检查编辑的文件是否有语法错误
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@server2 conf]# ln -s /usr/local/nginx/sbin/nginx  /sbin/  ##软连接到/sbin/下
[root@server2 conf]# nginx #开启nginx服务

物理机访问http://172.25.46.2/status:
在这里插入图片描述

[root@server2 conf]# vim /usr/local/nginx/conf/nginx.conf
  3 worker_processes  auto;

48         location /status {
 49               stub_status on;  #nginx中的stub_status模块用于查看nginx的一些状态信息
 50                 access_log off;  #关闭日志记录
 51                 allow 127.0.0.1;   #只允许本机访问(添加这个命令其他用户就不能访问,也不会有下图界面)
 52                 deny all;
 53          }
 [root@server2 conf]# nginx -t
[root@server2 conf]# nginx -s reload

物理机访问http://172.25.46.2/status:
在这里插入图片描述
只能curl http://127.0.01/status访问

[root@server2 conf]# curl http://127.0.0.1/status
Active connections: 1 
server accepts handled requests
 23 23 8 
Reading: 0 Writing: 1 Waiting: 0 
过滤监控参数(访问次数、连接次数..),将过滤出的参数以key-value键值对的形式储存:

在这里插入图片描述
创建nginx的监控项

[root@server2 conf]# curl -s http://localhost/status |grep Active |awk '{print $3}' ##测试是否能够取得犍值 vim 
[root@server2 conf]# cd /etc/zabbix/zabbix_agentd.d/
[root@server2 zabbix_agentd.d]# ls
userparameter_mysql.conf
[root@server2 zabbix_agentd.d]# cp userparameter_mysql.conf userparameter_nginx.conf #以mysql监控模版复制一份nginx的文件模版
[root@server2 zabbix_agentd.d]# vim userparameter_nginx..conf ##添加文件监控项 [root@server2 zabbix_agentd.d]# cat userparameter_nginx.conf 
UserParameter=nginx.active,curl -s http://localhost/status |grep Active |awk '{print $3}' 
UserParameter=nginx.access,curl -s http://localhost/status |awk NR==3 |awk '{print $1}'
UserParameter=nginx.handled,curl -s http://localhost/status |awk NR==3 |awk '{print $2}' 
UserParameter=nginx.request,curl -s http://localhost/status |awk NR==3 |awk '{print $3}' 
[root@server2 zabbix_agentd.d]# systemctl restart zabbix-agent ##重启监控端口

在这里插入图片描述
zabbix-server端检测是否能拿到数据

[root@server1 ~]# yum install -y zabbix-get-4.0.5-1.el7.x86_64.rpm
[root@server1 4.0]# zabbix_get -s 172.25.46.2 -p 10050 -k 'nginx.active'
1
[root@server1 4.0]# zabbix_get -s 172.25.46.2 -p 10050 -k 'nginx.active'
1
[root@server1 4.0]# zabbix_get -s 172.25.46.2 -p 10050 -k 'nginx.access'
5
[root@server1 4.0]# zabbix_get -s 172.25.46.2 -p 10050 -k 'nginx.request'
6

配置 ->主机-> 点击server2-> 点击监控项 ->创建监控项
在这里插入图片描述
添加监控项,这里的键值要和创建监控项是的一致;所有的监控项都以这种方法添加(创建后记得更新)

在这里插入图片描述
然后添加图形,将刚才的监控项导入
点击图形->创建图形->名称->添加监控项(可同时选择多个)->添加
在这里插入图片描述

添加成功后预览:
在这里插入图片描述
但是上图看不了文字,不能知道哪条线表示哪个数据,可以进行修改
1.)下载喜欢的字体,到server1 下的/use/share/zabbix/fonts目录替换

[root@server1 4.0]# cd /usr/share/zabbix/fonts/
[root@server1 fonts]# ls
graphfont.ttf
[root@server1 fonts]# ls
graphfont.ttf  simkai.ttf   ## simkai.ttf  自己下的一种字体
[root@server1 fonts]# cd ..
[root@server1 zabbix]# cd include/
[root@server1 include]# vim defines.inc.php   #编辑该文件
:%s/graphfont/simkai/g  #将所有的graphfont 改成simkai

再次刷新界面,就会显示监控数字信息
在这里插入图片描述
###监控mysql服务####
1.)可以先给server 主机添加自带的监控mysql的模版
配置->主机(zabbix server)->模版
在这里插入图片描述
添加成功后更新
在这里插入图片描述
但是自带的模版监控项比较少,我们可以添加模版增加监控项
在这里插入图片描述

  • 向zabbix监控中导入模版监控mysql的模版percona
    配置mysql
[root@server1 ~]# ls
4.0                  percona-zabbix-templates-1.1.8-1.noarch.rpm
nginx-1.15.8.tar.gz  zabbix.api
[root@server1 ~]# rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm 		##安装percona模块
[root@server1 ~]#cd /var/lib/zabbix/percona/templates/
[root@server1 templates]#cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/				##将模块文件复制到zabbix监控目录下
[root@server1 templates]#systemctl restart zabbix-agent												##重启监控服务,这样才能监控
[root@server1 templates]#cd /var/lib/zabbix/percona/scripts/
[root@server1 scripts]#vim ss_get_mysql_stats.php.cnf											##由于该模块监控脚本为php语言,所以这里提供的数据库与密码也使用php语言
		<?php
		$mysql_user = 'root';
		$mysql_pass = 'westos';
[root@server1 scripts]#/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg			##测试脚本
[root@server1 scripts]#cd /tmp/
[root@server1 tmp]#ll localhost-mysql_cacti_stats.txt 
[root@server1 tmp]#rm -fr localhost-mysql_cacti_stats.txt 					##由于此文件为root用户,zabbix无法查看,所以删除,zabbix查看时会以自己的身份重建此文件

导入percona-zabbix模版
配置->模版->导入->导入文件->选择
在这里插入图片描述
模版导入成功
在这里插入图片描述
给zabbix server 添加模版
在这里插入图片描述
在这里插入图片描述
查看导入后的监控项293项
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44821839/article/details/95037774