1.1 监控备份服务器
1.1.1 添加模板
1.1.2 添加应用集
1.1.3 添加监控项
1.1.4 添加触发器
1.1.5 主机关联模板
1.1.6 查看服务状态
1.2 监控NFS服务器
1.2.1 添加模板
1.2.2 添加应用集
1.2.3 添加监控项
1.2.4 添加触发器
1.2.5 添加图形
1.2.6 主机关联模板
1.2.7 查看服务状态
1.3 监控MySQL服务器
1.3.1 修改zabbix内置模板
- 新建连接数据库文件:
[root@web01 ~]# vim /etc/zabbix/.my.cnf [mysql] host=localhost user=root password=oldboy123 socket=/tmp/mysql.sock [mysqladmin] host=localhost user=root password=oldboy123 socket=/tmp/mysql.sock
- 编辑zabbix相关配置文件:
[root@web01 ~]# vim /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf # 将HOME的路径修改为.my.cnf文件所在路径 # 将mysql和mysqladmin命令替换成绝对路径 UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/etc/zabbix/ /usr/local/mysql/bin/mysql -N | awk '{print $$2}' UserParameter=mysql.size[*],bash -c 'echo "select sum($(case "$3" in both|"") echo "data_length+index_length";; data|index) echo "$3_length";; free) echo "data_free";; esac)) from information_schema.tables$([[ "$1" = "all" || ! "$1" ]] || echo " where table_schema=\"$1\"")$([[ "$2" = "all" || ! "$2" ]] || echo "and table_name=\"$2\"");" | HOME=/etc/zabbix/ /usr/local/mysql/bin/mysql -N' UserParameter=mysql.ping,HOME=/etc/zabbix/ /usr/local/mysql/bin/mysqladmin ping | grep -c alive UserParameter=mysql.version,/usr/local/mysql/bin/mysql -V
- 重启zabbix客户端服务:
[root@m01 ~]# service zabbix-agent restart
提示:默认MySQL监控配置文件中MySQL无密码,若MySQL配置了密码则需要修改配置文件为命令添加MySQL密码,若MySQL的root无密码,则可以直接使用zabbix自带的MySQL监控模板。
1.3.2 主机关联模板
1.3.3 查看服务状态
1.4 监控Web服务器
1.4.1 添加模板
1.4.2 添加应用集
1.4.3 添加监控项
1.4.4 添加触发器
1.4.5 主机关联模板
1.4.6 查看服务状态
1.5 监控URL地址
1.5.1 为模板添加web场景
1.5.2 添加步骤
1.5.3 查看服务状态
1.7 监控Nginx的7种连接状态
1.7.1 编辑nginx配置文件
[root@web01 conf]# vim nginx.conf worker_processes 3; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name bbs.leon.com; location / { root html/bbs; index index.php index.html index.htm; } location ~* .*\.(php|php5) $ { root html/bbs; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi.conf; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } # 添加此模块 server { listen 127.0.0.1:80; stub_status on; access_log off; } }
1.7.2 编辑zabbix客户端子文件
[root@web01 ~]# vim /etc/zabbix/zabbix_agentd.d/userparameter_nginx_status.conf UserParameter=nginx_active,curl -s 127.0.0.1/nginx_status|awk '/Active/ {print $NF}' UserParameter=nginx_accepts,curl -s 127.0.0.1/nginx_status|awk 'NR==3 {print $1}' UserParameter=nginx_handled,curl -s 127.0.0.1/nginx_status|awk 'NR==3 {print $2}' UserParameter=nginx_requests,curl -s 127.0.0.1/nginx_status|awk 'NR==3 {print $3}' UserParameter=nginx_reading,curl -s 127.0.0.1/nginx_status|awk 'NR==4 {print $2}' UserParameter=nginx_writing,curl -s 127.0.0.1/nginx_status|awk 'NR==4 {print $4}' UserParameter=nginx_waiting,curl -s 127.0.0.1/nginx_status|awk 'NR==4 {print $6}'
1.7.3 重启zabbix客户端
[root@web01 ~]# service zabbix-agent restart
1.7.4 添加模板
1.7.5 添加应用集
1.7.6 添加监控项
- 添加nginx_active监控:
- 添加nginx_accepts监控:
- 添加nginx_handled监控:
- 添加nginx_requests监控:
- 添加nginx_reading监控:
- 添加nginx_writing监控:
- 添加nginx_waiting监控:
1.7.7 添加图形
1.7.8 主机连接模板
1.7.9 查看服务状态
1.8 如何排查自定义监控报错
通过UserParameter=key,shell command定义的格式进行排查。
1.8.1 命令行测试shell command的结果
先在命令行测试shell command的结果和期望的结果是否一致:
[root@web01 ~]# mysqladmin -uroot -poldboy123 ping 2>/dev/null|grep -c alive 1
1.8.2 将符合预期的shell command写入到自定义监控文件中
将符合预期的shell command写入到我们的自定义监控文件中:
[root@web01 ~]# vim /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf # UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin ping | grep -c alive # 改为 UserParameter=mysql.ping,/usr/local/mysql/bin/mysqladmin -uroot -poldboy123 ping 2>/dev/null|grep -c alive # 未使用全路径时提示命令找不到,返回值为0,使用全路径测试成功
1.8.3 修改完配置文件重启生效
[root@web01 ~]# service zabbix-agent restart
1.8.4 在服务端用zabbix_get命令测试
[root@m01 ~]# zabbix_get -s 172.16.1.8 -p 10050 -k 'mysql.ping' 1
1.8.5 在网页上关联模板

我的微信
如果有技术上的问题可以扫一扫我的微信