zabbix监控Nginx模板

更新时间:2023-07-22 19:08:42 阅读: 评论:0

zabbix监控Nginx模板
前提条件:
  nginx模块安装了http_stub_status_module和nginx_upstream_check_module;
  在nginx的配置⽂件中配置上:
location /status {
check_status;
access_log off;
allow 127.0.0.1;
allow 192.168.136.0/32;
allow 218.245.64.130;
deny all;
}
location /nginx_status {
stub_status on;
access_log off;
allow 127.0.0.1;
allow 192.168.136.0/32;
deny all;
}
zabbix配置:
UrParameter=nginx.status[*],/etc/zabbix/scripts/nginx_check.sh $1
UrParameter=nginx.discovery,/etc/zabbix/scripts/nginx_check.py nginx.discovery 0 0 UrParame
ter=nginx.upstream_status[*],/etc/zabbix/scripts/nginx_check.detail status $1 UrParameter=nginx.upstream_ri[*],/etc/zabbix/scripts/nginx_check.detail ri $1 UrParameter=nginx.upstream_fall[*],/etc/zabbix/scripts/nginx_check.detail fall $1
nginx_check.py:
#!/usr/local/python2.7/bin/python
# -*- coding: UTF-8 -*-
# author by : bluecarrife
import requests
import json
import sys
def get_content():
url = "127.0.0.1:80/status?format=json"
res =  (url,timeout=5)
content =
return json.loads(content)
def get_discovery():
content = get_content()
res={"data":[]}
for i in content['rvers']['rver']:
res["data"].append({"{#SNAME}":(i['upstream']+'-'+i['name']).encode('utf8')})
print(json.dumps(res))
return res
def _get_attr(content,text,upstream):
解相思
for i in content['rvers']['rver']:
if upstream == i['upstream']+'-'+i['name']:
print(i[text])
return i[text]
return None
if__name__ == '__main__':
func = sys.argv[1]
upstream = sys.argv[3]
text=sys.argv[2]
if func == 'nginx.discovery':
get_discovery()
el:
content=get_content()
_get_attr(content,text,upstream)
nginx_check.sh:
#!/bin/bash
HOST="127.0.0.1"
PORT="80"
function ping {
/sbin/pidof nginx | wc -l
}
function active {
/
usr/bin/curl "$HOST:$PORT/nginx_status/" 2>/dev/null| grep 'Active' | awk '{print $NF}' }
function reading {
/usr/bin/curl "$HOST:$PORT/nginx_status/" 2>/dev/null| grep 'Reading' | awk '{print $2}' }
function writing {
/usr/bin/curl "$HOST:$PORT/nginx_status/" 2>/dev/null| grep 'Writing' | awk '{print $4}' }
function waiting {
/usr/bin/curl "$HOST:$PORT/nginx_status/" 2>/dev/null| grep 'Waiting' | awk '{print $6}' }
function accepts {
/usr/bin/curl "$HOST:$PORT/nginx_status/" 2>/dev/null| awk NR==3 | awk '{print $1}' }
function handled {
/usr/bin/curl "$HOST:$PORT/nginx_status/" 2>/dev/null| awk NR==3 | awk '{print $2}' }
function requests {
/usr/bin/curl "$HOST:$PORT/nginx_status/" 2>/dev/null| awk NR==3 | awk '{print $3}' }
# 执⾏function
$1
plate:
<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export>
<version>2.0</version>
<date>2018-06-26T08:14:58Z</date>
<groups>
<group>
<name>Templates</name>
</group>
</groups>
<templates>
<template>
<template>Template App NGINX</template>
<name>Template App NGINX</name>
<description>nginx监控模板</description>
<groups>
<group>
<name>Templates</name>
</group>
</groups>
<applications>
<application>
<name>nginx</name>
</application>
</applications>
<items>
<item>
<name>nginx status connections active</name>
<type>0</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>nginx.status[active]</key>
<delay>60</delay>
<history>90</history>
<trends>365</trends>
<status>0</status>
<value_type>3</value_type>
<allowed_hosts/>
<units/>
<delta>0</delta>
<snmpv3_contextname/>
<snmpv3_curityname/>
<snmpv3_curitylevel>0</snmpv3_curitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphra/>
<snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphra/>
<formula>1</formula>
<delay_flex/>
<params/>
<ipmi_nsor/>
<data_type>0</data_type>
<authtype>0</authtype>
<urname/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description>active</description>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>nginx</name>
</application>
</applications>
<valuemap/>
<logtimefmt/>
</item>
<item>
<name>nginx status connections reading</name> <type>0</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>nginx.status[reading]</key>
<delay>60</delay>
<history>90</history>
<trends>365</trends>
<status>0</status>
<value_type>3</value_type>
<allowed_hosts/>
<units/>
<delta>0</delta>
<snmpv3_contextname/>
<snmpv3_curityname/>
<snmpv3_curitylevel>0</snmpv3_curitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphra/>
<snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphra/>
<formula>1</formula>
<delay_flex/>
<params/>
<ipmi_nsor/>
<data_type>0</data_type>
<authtype>0</authtype>
<urname/>
<password/>
<publickey/>
<privatekey/>
真丝怎么洗
问候语<port/>
<description>reading</description>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>nginx</name>
</application>
</applications>
<valuemap/>
<logtimefmt/>
</item>
河池学院图书馆
<item>
<name>nginx status connections waiting</name> <type>0</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>nginx.status[waiting]</key>
<delay>60</delay>
<history>90</history>
<trends>365</trends>
<status>0</status>
<value_type>3</value_type>
<allowed_hosts/>
<units/>
<delta>0</delta>
<snmpv3_contextname/>
<snmpv3_curityname/>
<snmpv3_curitylevel>0</snmpv3_curitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphra/>
<snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphra/>
<formula>1</formula>
<delay_flex/>
<params/>
<ipmi_nsor/>
<data_type>0</data_type>
<authtype>0</authtype>
适合发朋友圈的短句子<urname/>
<password/>
<publickey/>
<privatekey/>
<port/>倒仓期
<description>waiting</description>
年终奖一般什么时候发
<inventory_link>0</inventory_link>
<applications>
<application>
<name>nginx</name>
</application>
</applications>
<valuemap/>
<logtimefmt/>
</item>
<item>
<name>nginx status connections writing</name> <type>0</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>nginx.status[writing]</key>
<delay>60</delay>
<history>90</history>
<trends>365</trends>
<status>0</status>
<value_type>3</value_type>
<allowed_hosts/>
<units/>
<delta>0</delta>
<snmpv3_contextname/>
<snmpv3_curityname/>
<snmpv3_curitylevel>0</snmpv3_curitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphra/>
<snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphra/>
<formula>1</formula>
<delay_flex/>
<params/>
<ipmi_nsor/>
<data_type>0</data_type>
<authtype>0</authtype>
<urname/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description>writing</description>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>nginx</name>
</application>
</applications>
<valuemap/>
<logtimefmt/>
</item>
<item>
<name>nginx status PING</name>
<type>0</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>nginx.status[ping]</key>
<delay>60</delay>
<history>30</history>
<trends>365</trends>
<status>0</status>
<value_type>3</value_type>
<allowed_hosts/>
<units/>
<delta>0</delta>
<snmpv3_contextname/>
<snmpv3_curityname/>
<snmpv3_curitylevel>0</snmpv3_curitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphra/>
<snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphra/>
<formula>1</formula>
<delay_flex/>
<params/>
<ipmi_nsor/>
<data_type>0</data_type>
<authtype>0</authtype>
<urname/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description>is live</description>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>nginx</name>
</application>
</applications>
<valuemap>
<name>Service state</name>
</valuemap>
<logtimefmt/>
</item>
<item>
<name>nginx status rver accepts</name>
<type>0</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>nginx.status[accepts]</key>
<delay>60</delay>
<history>90</history>
<trends>365</trends>
<status>0</status>
<value_type>3</value_type>
<allowed_hosts/>
<units/>
<delta>1</delta>
<snmpv3_contextname/>
<snmpv3_curityname/>
<snmpv3_curitylevel>0</snmpv3_curitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphra/>
<snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphra/>
<formula>1</formula>
<delay_flex/>
<params/>
<ipmi_nsor/>
<data_type>0</data_type>
<authtype>0</authtype>
<urname/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description>accepts</description>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>nginx</name>
</application>
</applications>
<valuemap/>
<logtimefmt/>
</item>
<item>
<name>nginx status rver handled</name>
<type>0</type>
<snmp_community/>
<multiplier>0</multiplier>
赞美教师诗歌
<snmp_oid/>
<key>nginx.status[handled]</key>
<delay>60</delay>
<history>90</history>
<trends>365</trends>

本文发布于:2023-07-22 19:08:42,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1092337.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:朋友圈   河池   赞美   监控   模块   时候   学院
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图