0
点赞
收藏
分享

微信扫一扫

玩会别人不懂,又实用的zabbix监控架构


zabbix工作原理

玩会别人不懂,又实用的zabbix监控架构_云计算


环境:实验环境,为演示简单化,服务搭建在一台服务器,真实环境,一般会是在多台服务器,方法一样。

角色

IP地址

服务

zabbix服务端

192.168.2.130

zabbix-server

被监控端

192.168.2.135

mysql、Nginx

聚合图形

提示:适用于将多个经常监控的信息,完美组合到一个图形中,相比从其他监控子选项一个个点击,节约时间。

步骤:

流程:监测–聚合图形–创建聚合图形–填写聚合图形“名称”–添加–选择新建聚合图形–编辑聚合图形

1、 创建聚合图形

玩会别人不懂,又实用的zabbix监控架构_mysql_02


玩会别人不懂,又实用的zabbix监控架构_运维_03

2、编辑聚合图形

玩会别人不懂,又实用的zabbix监控架构_云计算_04


玩会别人不懂,又实用的zabbix监控架构_运维_05


玩会别人不懂,又实用的zabbix监控架构_zabbix_06


3、 验证:

玩会别人不懂,又实用的zabbix监控架构_zabbix_07

percona模版监控mysql

提示:zabbix自带mysql监控模板少,可以导入第三方模板,丰富监控架构的监控项。

1.安装php环境(percona需要php环境)

在被监控端192.168.2.135操作
[root@mysql /data/soft]# yum install php php-mysql -y

2.下载软件(注意,安装完成后会有提示模版的路径位置)

[root@mysql ~]# mkdir /data/soft/ -p //创建文件下载到的目录
[root@mysql ~]# cd /data/soft/
[root@mysql /data/soft]# wget https://www.percona.com/downloads/percona-monitoring-plugins/percona-monitoring-plugins-1.1.8/binary/redhat/7/x86_64/percona-zabbix-templates-1.1.8-1.noarch.rpm
安装模板软件
[root@mysql /data/soft]# rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm

3.查看目录

有2个目录,一个是脚本目录,一个是模版目录

玩会别人不懂,又实用的zabbix监控架构_nginx_08


4.编辑脚本配置文件get_mysql_stats_wrapper.sh

vim get_mysql_stats_wrapper.sh

修改get_mysql_stats_wrapper数据库登陆信息,第19行添加mysql账号密码

如图:添加绿色区域内容,具体是根据您设置的mysql账号密码。

玩会别人不懂,又实用的zabbix监控架构_运维_09


5.编辑php配置文件ss_get_mysql_stats.phpvim ss_get_mysql_stats.php

修改30,31行:

玩会别人不懂,又实用的zabbix监控架构_运维_10


6.复制自定义监控项配置文件到zabbix目录

进入目录:

cd /var/lib/zabbix/percona/templates/

拷贝文件:

cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/

7.重启agent
systemctl restart zabbix-agent

8.测试key

zabbix服务端:由于没有进行操作,所以是0;

玩会别人不懂,又实用的zabbix监控架构_zabbix_11


zabbix被监控端:需要多等一会,才有数据,下图是mysql测试情况。

zabbix_agentd -p

玩会别人不懂,又实用的zabbix监控架构_云计算_12


9.导入模版(把主机的数据导入到web图形界面)

配置–模板–导入–浏览导入文件–勾选“聚合图形”–最后“导入”

玩会别人不懂,又实用的zabbix监控架构_nginx_13


玩会别人不懂,又实用的zabbix监控架构_nginx_14


10.主机链接模版

配置–主机–创建主机(或勾选已存在的主机)–选择模板

玩会别人不懂,又实用的zabbix监控架构_zabbix_15


11.验证:

玩会别人不懂,又实用的zabbix监控架构_zabbix_16

自定义模版监控nginx状态

提示:以epel源安装Nginx为例

步骤:

1、 搭建nginx服务器,安装zabbix-agent,修改配置文件指向zabbix服务器
yum -y install epel-release
yum -y install nginx

2.开启监控页面并访问测试

vim /etc/nginx/conf.d/default.conf

编辑:在server内,location下添加以下内容:

玩会别人不懂,又实用的zabbix监控架构_nginx_17


重启服务:systemctl restart nginx

本地测试:

命令:curl 127.0.0.1/nginx_status/

玩会别人不懂,又实用的zabbix监控架构_zabbix_18


3. 准备nginx监控状态脚本

创建文件:

玩会别人不懂,又实用的zabbix监控架构_zabbix_19


添加以下内容,保存退出:

#!/bin/bash
NGINX_COMMAND=$1
CACHEFILE="/tmp/nginx_status.txt"
CMD="/usr/bin/curl http://127.0.0.1/nginx_status/"
if [ ! -f $CACHEFILE ];then
$CMD >$CACHEFILE 2>/dev/null
fi
# Check and run the script
TIMEFLM=`stat -c %Y $CACHEFILE`
TIMENOW=`date +%s`

if [ `expr $TIMENOW - $TIMEFLM` -gt 60 ]; then
rm -f $CACHEFILE
fi
if [ ! -f $CACHEFILE ];then
$CMD >$CACHEFILE 2>/dev/null
fi

nginx_active(){
grep 'Active' $CACHEFILE| awk '{print $NF}'
exit 0;
}
nginx_reading(){
grep 'Reading' $CACHEFILE| awk '{print $2}'
exit 0;
}
nginx_writing(){
grep 'Writing' $CACHEFILE | awk '{print $4}'
exit 0;
}
nginx_waiting(){
grep 'Waiting' $CACHEFILE| awk '{print $6}'
exit 0;
}
nginx_accepts(){
awk NR==3 $CACHEFILE| awk '{print $1}'
exit 0;
}
nginx_handled(){
awk NR==3 $CACHEFILE| awk '{print $2}'
exit 0;
}
nginx_requests(){
awk NR==3 $CACHEFILE| awk '{print $3}'
exit 0;
}

case $NGINX_COMMAND in
active)
nginx_active;
;;
reading)
nginx_reading;
;;
writing)
nginx_writing;
;;
waiting)
nginx_waiting;
;;
accepts)
nginx_accepts;
;;
handled)
nginx_handled;
;;
requests)
nginx_requests;
;;
*)
echo 'Invalid credentials';
exit 2;
esac

赋予执行权:chmod a+x nginx_monitor.sh

4.编写zabbix监控配置文件

vim /etc/zabbix/zabbix_agentd.d/nginx_status.conf
UserParameter=nginx_status[*],/bin/bash /etc/zabbix/zabbix_agentd.d/nginx_monitor.sh $1

重启代理服务:systemctl restart zabbix-agent.service

5.在服务端192.168.2.130使用zabbix_get取值

可能报错:

玩会别人不懂,又实用的zabbix监控架构_云计算_20


在被监控端:删除提示的文件rm -f /tmp/nginx_status.txt

即可成功:

玩会别人不懂,又实用的zabbix监控架构_云计算_21


6.导入模版(方法同上)

7.链接模版

8.查看数据

玩会别人不懂,又实用的zabbix监控架构_云计算_22

扩展:如果有上百台Nginx服务器需要监控,一个个添加是不是麻烦?可以,配置–主机–web1–点击web1–选择“全克隆”–填写新nginx的ip

玩会别人不懂,又实用的zabbix监控架构_nginx_23


举报

相关推荐

0 条评论