lixiaolong 发表于 2019-1-24 08:10:27

zabbix3.0.4监控nginx服务

  Zabbix3.0.4添加对Nginx服务的监控
  一、

  通过Nginx的http_stub_status_module模块提供的状态信息来监控,所以在Agent端需要配置Nginx状态获取的脚本,和添加key信息等,然后在Server端配置Nginx的监控模板等。请根据自己情况调整,这里只做简单的参照。
  

  主要是使用Github这个项目的代码 zabbix-templates
  检查Nginx是否安装了 http_stub_status_module 模块,通过下面的命令可以看到编译参数。

http://s3.运维网.com/wyfs02/M00/8B/7A/wKioL1hPhYHglR7MAAAtrHSR7Ks403.png-wh_500x0-wm_3-wmp_4-s_2143917663.png

  如没有http_stub_status_module 模块,请重新编译加上该模块
  二、
  配置nginx如下图
http://s5.运维网.com/wyfs02/M00/8B/7A/wKioL1hPhmGxRPy6AAAiknoq4fs551.png-wh_500x0-wm_3-wmp_4-s_3270727814.png

  重启nginx   /usr/local/nginx/sbin/nginx -s reload

  查看如下
http://s4.运维网.com/wyfs02/M02/8B/7A/wKioL1hPhzXCYkJxAAAY5O5af4g275.png-wh_500x0-wm_3-wmp_4-s_2068059108.png

  三、
  1.nginx脚本 cat nginx-check.sh
http://s4.运维网.com/wyfs02/M00/8B/7A/wKioL1hPiBawvImyAACl7_WNdSo621.png-wh_500x0-wm_3-wmp_4-s_145725426.png
http://s4.运维网.com/wyfs02/M01/8B/7D/wKiom1hPiBaBGP1JAABHB9wBbYY809.png-wh_500x0-wm_3-wmp_4-s_3968481270.png

  #!/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_WRONG_PARAM="-0.9902"
ERROR_DATA="-0.9903" # either can not connect / bad host / bad port
# Handle host and port if non-default
if [ ! -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 retrieve
if [ $? -ne 0 -o -z "$NGINX_STATS" ]; then
echo $ERROR_DATA
exit 1
fi
#
# Extract data from nginx stats
#
case $ZBX_REQ_DATA in
active_connections)   echo "$NGINX_STATS" | head -1             | cut -f3 -d' ';;
accepted_connections) echo "$NGINX_STATS" | grep -Ev '' | cut -f2 -d' ';;
handled_connections)echo "$NGINX_STATS" | grep -Ev '' | cut -f3 -d' ';;
handled_requests)   echo "$NGINX_STATS" | grep -Ev '' | 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; exit 1;;
esac
exit 0

给脚本权限

  chmod +xnginx-check.sh
  2. agent的配置文件 /usr/local/zabbix-3.0.4/etc/zabbix_agentd.conf 中定义了其他key的包含目录 Include=/usr/local/zabbix-3.0.4/etc/zabbix_agentd.d/, 如果没有这个配置请自己添加下。接着在 /usr/local/zabbix-3.0.4/etc/zabbix_agentd.d/ 目录新建一个文件 nginx-params.conf, 内容如下
http://s3.运维网.com/wyfs02/M02/8B/7D/wKiom1hPic-jU43fAAAlyMp02AU134.png-wh_500x0-wm_3-wmp_4-s_70509079.png
http://s3.运维网.com/wyfs02/M00/8B/7A/wKioL1hPidCSXiuvAAAS18kCo6E072.png-wh_500x0-wm_3-wmp_4-s_2974488708.png

  cat nginx-params.conf
  

  UserParameter=nginx
[*],/usr/local/zabbix-agent/scripts/nginx-check.sh "$1"

  

  3.重启zabbix_agent
  

  

  四、
  server端测试
http://s5.运维网.com/wyfs02/M02/8B/7D/wKiom1hPi6HhFEmVAAAbCowj4GE089.png-wh_500x0-wm_3-wmp_4-s_4038815860.png

  web界面导入模板
http://s1.运维网.com/wyfs02/M01/8B/7A/wKioL1hPjImReDOjAABdkBxaXqo490.png-wh_500x0-wm_3-wmp_4-s_3590239072.png
http://s1.运维网.com/wyfs02/M01/8B/7A/wKioL1hPjIngR1GfAAAxxGzBKUQ604.png-wh_500x0-wm_3-wmp_4-s_2694086031.png
http://s1.运维网.com/wyfs02/M02/8B/7D/wKiom1hPjInQ1QzrAABP_P0Aqqg052.png-wh_500x0-wm_3-wmp_4-s_426956113.png

  在web端查看监控
http://s5.运维网.com/wyfs02/M02/8B/7D/wKiom1hPjQLChyORAAClvJ7Ns2g138.png-wh_500x0-wm_3-wmp_4-s_3703080882.png
  


  

  

  

  

  

  

  注: 模板地址https://github.com/jizhang/zabbix-templates/blob/master/nginx/nginx-template.xml

  

  

  

  

  





页: [1]
查看完整版本: zabbix3.0.4监控nginx服务