[Zabbix30]添加Nginx监控zabbixgetzabbix客户端安装grafanazabbi
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了[Zabbix30]添加Nginx监控zabbixgetzabbix客户端安装grafanazabbi,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3637字,纯文字阅读大概需要6分钟。
内容图文
![[Zabbix30]添加Nginx监控zabbixgetzabbix客户端安装grafanazabbi](/upload/InfoBanner/zyjiaocheng/159/46cf3a18340241e0b2158e819bae656e.jpg)
通过Nginx的http_stub_status_module模块提供的状态信息来监控,所以在Agent端需要配置Nginx状态获取的脚本,和添加key信息等,然后在Server端配置Nginx的监控模板等。请根据自己情况调整,这里只做简单的参照。
主要是使用Github这个项目的代码 zabbix-templates
Agent端
系统是Centos6.x, Zabbix-agent是3.0版本, Nginx1.9.x 官方版本
首先要检查Nginx是否安装了 http_stub_status_module
模块,通过下面的命令可以看到编译参数。
nginx -V
如果没有这个模块,还需要重新编译Nginx.
配置Nginx
Nginx 80端口的server配置增加如下的片段
location /nginx_status {
stub_statuson;
access_logoff;
allow127.0.0.1;
deny all;
}
配置完成之后,redload nginx,然后用简单测试下
>> curl http://127.0.0.1/nginx_status
Active connections: 7server accepts handled requests
2707270712528
Reading: 0 Writing: 1 Waiting: 6?
zabbix-agent 配置
有3个步骤,首先是编写获取Nginx信息脚本,接着配置中增加key信息,然后重启agent 服务。
- 编写Nginx监控脚本,记住路径,后面配置需要用到。
!!注意脚本权限问题,agent运行用户要能执行。
>># mkdir -p /usr/local/zabbix-agent/scripts
>># cd /usr/local/zabbix-agent/scripts
>># vim nginx-check.sh
>># cat nginx-check.sh#!/bin/bash################################### Zabbix monitoring script## nginx:# - anything available via nginx stub-status module#################################### Contact:# vincent.viallet@gmail.com# Zabbix requested parameter
ZBX_REQ_DATA="$1"
ZBX_REQ_DATA_URL="$2"# Nginx defaults
NGINX_STATUS_DEFAULT_URL="http://127.0.0.1/nginx_status"
WGET_BIN="/usr/bin/wget"## Error handling:# - need to be displayable in Zabbix (avoid NOT_SUPPORTED)# - items need to be of type "float" (allow negative + float)#
ERROR_NO_ACCESS_FILE="-0.9900"
ERROR_NO_ACCESS="-0.9901"
ERROR_WR>"-0.9902"
ERROR_DATA="-0.9903"# either can not connect / bad host / bad port# Handle host and port if non-defaultif [ ! -z "$ZBX_REQ_DATA_URL" ]; then
URL="$ZBX_REQ_DATA_URL"else
URL="$NGINX_STATUS_DEFAULT_URL"fi# save the nginx stats in a variable for future parsing
NGINX_STATS=$($WGET_BIN -q $URL -O - 2> /dev/null)
# error during retrieveif [ $? -ne0 -o -z "$NGINX_STATS" ]; thenecho$ERROR_DATAexit1fi## Extract data from nginx stats#case$ZBX_REQ_DATAin
active_connections) echo"$NGINX_STATS" | head -1 | cut -f3 -d' ';;
accepted_connections) echo"$NGINX_STATS" | grep -Ev '[a-zA-Z]' | cut -f2 -d' ';;
handled_connections) echo"$NGINX_STATS" | grep -Ev '[a-zA-Z]' | cut -f3 -d' ';;
handled_requests) echo"$NGINX_STATS" | grep -Ev '[a-zA-Z]' | cut -f4 -d' ';;
reading) echo"$NGINX_STATS" | tail -1 | cut -f2 -d' ';;
writing) echo"$NGINX_STATS" | tail -1 | cut -f4 -d' ';;
waiting) echo"$NGINX_STATS" | tail -1 | cut -f6 -d' ';;
*) echo$ERROR_WRONG_PARAM; exit1;;
esacexit0
- agent的配置文件
/etc/zabbix/zabbix_agentd.conf
中定义了其他key的包含目录Include=/etc/zabbix/zabbix_agentd.d/
, 如果没有这个配置请自己添加下。接着在/etc/zabbix/zabbix_agentd.d/
目录新建一个文件nginx-params.conf
, 内容如下
UserParameter=nginx[*],/usr/local/zabbix-agent/scripts/nginx-check.sh "$1"
- 重启agent
>>> /etc/init.d/zabbix-agent restart
Server 的Web端
首先命令行测试下刚才agent好使不,确认好用之后在web端导入模板,之后就可以给对应主机添加监控喽。
>>> zabbix_get -s127.0.0.1-p10050-k"nginx[reading]"0
登录Zabbix3.0 的web界面,一次选择 Configuration
> Templates
, 在主界面的右上角有个 Import
按钮,用来导入模板。
模板文件比较长留一个下载地址
导入之后就可以给主机添加监控啦。
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('').text(i)); }; $numbering.fadeIn(1700); }); });以上就介绍了[Zabbix30 ]添加Nginx监控,包括了zabbix,nginx方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
内容总结
以上是互联网集市为您收集整理的[Zabbix30]添加Nginx监控zabbixgetzabbix客户端安装grafanazabbi全部内容,希望文章能够帮你解决[Zabbix30]添加Nginx监控zabbixgetzabbix客户端安装grafanazabbi所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。