博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用Zabbix4.4自定义模板监控nginx性能
阅读量:3961 次
发布时间:2019-05-24

本文共 3094 字,大约阅读时间需要 10 分钟。

文章目录

安装nginx服务

yum install epel-release -yyum  install nginx -ysystemctl start nginx #启动服务lsof -i:80 #检查端口

在zabbix-agent端的linux服务器上的nginx的主配置文件里添加下面的配置项

#开启nginx的统计功能location /nginx_status {
stub_status on; access_log off; }systemctl nginx restart #刷新服务http://192.168.1.141/nginx_status #web方式访问,查看效果输出效果如下所示:Active connections: 2 server accepts handled requests 18 18 23 Reading: 0 Writing: 1 Waiting: 1 Active connections Nginx正处理的活动链接数个数;重要server Nginx启动到现在共处理了多少个连接。accepts Nginx启动到现在共成功创建几次握手。 handled requests Nginx总共处理了几次请求。Reading Nginx读取到客户端的 Header 信息数。Writing Nginx返回给客户端的 Header 信息数。Waiting Nginx已经处理完正在等候下一次请求指令的驻留链接,开启。Keep-alive的情况下,Waiting这个值等于active-(reading + writing)。请求丢失数=(握手数-连接数)可以看出,本次状态显示没有丢失请求。

zabbix-agent的nginx参数配置文件

[root@zabbix-client-1 zabbix_agentd.d]# cat userparameter_nginx.conf UserParameter=nginx.status[*],/etc/zabbix/zabbix_agentd.d/nginx.sh $1

在zabbix-agent上的nginx监控脚本

[root@zabbix-client-1 zabbix_agentd.d]# cat nginx.sh HOST="192.168.1.141"    PORT="80"    function ping {
/sbin/pidof nginx | wc -l } function active {
/usr/bin/curl --insecure "http://$HOST:$PORT/nginx_status/" 2>/dev/null| grep 'Active' | awk '{print $NF}' } function reading {
/usr/bin/curl --insecure "http://$HOST:$PORT/nginx_status/" 2>/dev/null| grep 'Reading' | awk '{print $2}' } function writing {
/usr/bin/curl --insecure "http://$HOST:$PORT/nginx_status/" 2>/dev/null| grep 'Writing' | awk '{print $4}' } function waiting {
/usr/bin/curl --insecure "http://$HOST:$PORT/nginx_status/" 2>/dev/null| grep 'Waiting' | awk '{print $6}' } function accepts {
/usr/bin/curl --insecure "http://$HOST:$PORT/nginx_status/" 2>/dev/null| awk NR==3 | awk '{print $1}' } function handled {
/usr/bin/curl --insecure "http://$HOST:$PORT/nginx_status/" 2>/dev/null| awk NR==3 | awk '{print $2}' } function requests {
/usr/bin/curl --insecure "http://$HOST:$PORT/nginx_status/" 2>/dev/null| awk NR==3 | awk '{print $3}' } case $1 in active) active ;; reading) reading ;; writing) writing ;; waiting) waiting ;; accepts) accepts ;; ping) ping ;; handled) handled ;; requests) requests ;;esac

chmod +x nginx.sh #.授予nginx.sh可执行权限

systemctl restart zabbix-agent.service

在zabbix-server上测试是否可以采集数据

[root@zabbix-server-1 ~]# zabbix_get -s 192.168.111.133  -p 10050 -k nginx.status[active]1[root@zabbix-server-1 ~]# zabbix_get -s 192.168.111.133  -p 10050 -k nginx.status[active]3

在zabbix-server上完成下面的操作:

自己创建应用集,添加监控项,然后添加图形,出图

nginx.status[active]
nginx.status[reading]
nginx.status[writing]
nginx.status[waiting]
nginx.status[accepts]
nginx.status[handled]
nginx.status[requests]

创建一个监控项,添加图形

可以将多个监控项添加到一个图形里,这样也比较好,可以对比的看效果

添加一个触发器:

一旦nginx服务down,马上告警

转载地址:http://kqezi.baihongyu.com/

你可能感兴趣的文章
inotify
查看>>
inode
查看>>
Shell: sh,bash,csh,tcsh等shell的区别
查看>>
golang ubuntu 配置 笔记
查看>>
vim 常用命令
查看>>
golang 开源项目
查看>>
ubntu 开发服务进程
查看>>
linux 常用命令以及技巧
查看>>
记录1年免费亚马逊AWS云服务器申请方法过程及使用技巧
查看>>
golang文章
查看>>
Source Insight 经典教程
查看>>
快速打开菜单附件中的工具
查看>>
Windows系统进程间通信
查看>>
linux exec的用法
查看>>
C语言中如何使用宏
查看>>
Http与RPC通信协议的比较
查看>>
Source Insight的对齐问题
查看>>
ubuntu设置开机默认进入字符界面方法
查看>>
chrome 快捷键
查看>>
Linux下buffer和cache的区别
查看>>