创建图形:
配置--主机--web1--图形--右上角“创建图形”--填写“名称”--添加“监控项”--点击最后一行“添加”
查看图形:
监测--图形--选择“群组”--选择"主机"--选择“图形名称”
###########################################################################################
创建聚合图形:
监测--聚合图形--创建聚合图形--填写聚合图形“名称”--添加--选择新建聚合图形--编辑聚合图形
###########################################################################################
zabbix模板文件下载:
https://www.zabbix.org/wiki/Zabbix_Templates/Official_Templates
###########################################################################################
percona模版监控mysql
环境:打开或安装一台mysql:192.168.1.104,并安装zabbix-agent,修改配置文件指向zabbix服务器
1.安装php环境
percona需要php环境
[root@mysql /data/soft]# yum install php php-mysql -y
2.下载软件
注意,安装完成后会有提示模版的路径位置
[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
警告:percona-zabbix-templates-1.1.8-1.noarch.rpm: 头V4 DSA/SHA1 Signature, 密钥 ID cd2efd2a: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:percona-zabbix-templates-1.1.8-1 ################################# [100%]
Scripts are installed to /var/lib/zabbix/percona/scripts
Templates are installed to /var/lib/zabbix/percona/templates
3.查看目录
进入安装目录会发现有2个目录,一个是脚本目录,一个是模版目录
[root@mysql ~]# cd /var/lib/zabbix/percona/
[root@mysql /var/lib/zabbix/percona]# tree
.
├── scripts
│ ├── get_mysql_stats_wrapper.sh
│ └── ss_get_mysql_stats.php
└── templates
├── userparameter_percona_mysql.conf
└── zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.8.xml
其中脚本目录里有2个脚本,用来获取数据库信息
[root@mysql /var/lib/zabbix/percona]# cd scripts/
[root@mysql /var/lib/zabbix/percona/scripts]# ls
get_mysql_stats_wrapper.sh ss_get_mysql_stats.php
4.修改get_mysql_stats_wrapper.sh
修改get_mysql_stats_wrapper数据库登陆信息
第19行添加mysql账号密码
[root@mysql v]# sed -n '19p' get_mysql_stats_wrapper.sh
RES=`HOME=~zabbix mysql -uroot -p123456 -e 'SHOW SLAVE STATUS\G' | egrep '(Slave_IO_Running|Slave_SQL_Running):' | awk -F: '{print $2}' | tr '\n'
5.修改ss_get_mysql_stats.php
[root@mysql /var/lib/zabbix/percona/scripts]# sed -n '30,31p' ss_get_mysql_stats.php
$mysql_user = 'root';
$mysql_pass = '123456';
6.复制自定义监控项配置文件到zabbix目录
[root@mysql ~]# cd /var/lib/zabbix/percona/templates/
[root@mysql /var/lib/zabbix/percona/templates]# cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
[root@mysql /var/lib/zabbix/percona/templates]# cd /etc/zabbix/zabbix_agentd.d/
[root@mysql /etc/zabbix/zabbix_agentd.d]# ls
userparameter_mysql.conf userparameter_percona_mysql.conf
7.重启agent
[root@mysql ~]# systemctl restart zabbix-agent
8.测试key
[root@zabbix-server ~]# zabbix_get -s 192.168.1.104 -k MySQL.Sort-scan
16
9.导入模版
配置--模板--导入--浏览导入文件--勾选“聚合图形”--最后“导入”
10.主机链接模版
配置--主机--创建主机--选择模板
#############################################################################################################
自定义模版监控nginx状态
环境:打开或安装nginx服务器:192.168.1.102,并安装zabbix-agent,修改配置文件指向zabbix服务器
yum -y install epel-release
yum -y install nginx
1.开启监控页面并访问测试
[root@web01 ~]# cat /etc/nginx/nginx.conf
定位到49行,添加:
location /nginx_status {
stub_status on;
access_log off;
}
重启服务:systemctl restart nginx
[root@web01 ~]# curl 127.0.0.1/nginx_status/
Active connections: 1
server accepts handled requests
6 6 6
Reading: 0 Writing: 1 Waiting: 0
2.准备nginx监控状态脚本
[root@web01 /etc/zabbix/zabbix_agentd.d]# cat nginx_monitor.sh
#!/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 +x nginx_monitor.sh
3.编写zabbix监控配置文件
[root@web01 ~]# cat /etc/zabbix/zabbix_agentd.d/nginx_status.conf
UserParameter=nginx_status[*],/bin/bash /etc/zabbix/zabbix_agentd.d/nginx_monitor.sh $1
[root@web01 ~]# systemctl restart zabbix-agent.service
修改缓存文件权限:chown zabbix:zabbix /tmp/nginx_status.txt
4.使用zabbix_get取值
[root@zabbix-server ~]# zabbix_get -s 192.168.1.102 -k nginx_status[accepts]
7
5.导入模版
6.链接模版
7.查看数据
##################################################################################################
参考web1添加其他nginx服务器:
配置--主机--web1--点击web1--选择“全克隆”--填写新nginx的ip