See www.zabbix.com for the official Zabbix site.
Docs/howto/apache monitoring script
Apache Monitoring Script
This content was imported from zabbix.com wiki (https://www.zabbix.com/wiki/templates/apache) and some formatting still has to be converted into proper wiki format (dokuwiki -> mediawiki). Credits for original scripts to ericgearhart. zalexa_ua, gpmidi, richiv, fels, bashman, lenin.
Overview
There are two scripts available to monitor Apache via mod_status. Method 1 is preferred because it only makes a single Apache call and a single zabbix_sender call. It is configured via arguments passed in and is run via cron. Method 2 is similar to method 1. It uses a Python script to pull data from mod_status and uses multiple calls to zabbix_sender to send the data. Method 3 uses bash script.
Method 1
![]() |
Warning! CRITICAL NOTICES:
It's not described and not specified in --help that option "-o" being used to construct item key as well. So if user uses it then he has to adjust item key 1st parameter (localhost -> -o value) in template as well.
tempfile.write("%s apache[%s,%s] %s\n" % (opts.zabbixsource, opts.host, key, val)) How suggested template then can be used ? In the first example cron line this part:
-c host.being.monitored.com is bad - it misleads !
|
Overview
This method uses a Python script that loads the mod_status page. Most of the fields can be altered using arguments to the script. The script should be run periodically, usually via cron. This will cause the script to send it's data to your Zabbix server.
If HTTP authentication is used to protect the status page you can use the -u and -a options to pass in the desired username and password. These options cause the script to provide the username and password for any realm that it is prompted for. Zabbix sender and the Zabbix server identify what host to save applied data with based on the host string passed by the sending machine. As a result you need to specify what host you want the script to send data as. You can use the -c option to specify this hostname/IP/name.
The script should be run via cron. Alternative methods of running it periodically include using a Twisted daemon, altering the script to run as a daemon, and using Zabbix to run the script.
Source
- Stable releases: https://www.zulukilo.com/svn/pub/zabbix-apache-stats/tags/ (the link looks dead). Alternative link: https://github.com/gpmidi/zabbix-apache-stats/tree/master/bin
Script's Help Page
[root@b64 ~]# ./bin/ZabbixApacheUpdater.py --help usage: ApacheStatsForZabbix [-z <Zabbix hostname or IP>] [-o <Apache hostname or IP>] This program gathers data from Apache's built-in status page and sends it to Zabbix. The data is sent via zabbix_sender. Author: Paulson McIntyre (GpMidi) License: GPLv2 options: --version show program's version number and exit -h, --help show this help message and exit -l URL, --url=URL Override the automatically generated URL with one of your own -o HOST, --host=HOST Host to connect to. [default: localhost] -p PORT, --port=PORT Port to connect on. [default: 80] -r PROTO, --proto=PROTO Protocol to connect on. Can be http or https. [default: http] -z ZABBIXSERVER, --zabbixserver=ZABBIXSERVER -u USER, --user=USER HTTP authentication user to use when connection. [default: None] -a PASSWD, --passwd=PASSWD HTTP authentication password to use when connecting. [default: None] -s SENDERLOC, --sender=SENDERLOC Location to the zabbix_sender executable. [default: /usr/bin/zabbix_sender] -q ZABBIXPORT, --zabbixport=ZABBIXPORT Zabbix port to connect to. [default: 10051] -c ZABBIXSOURCE, --zabbixsource=ZABBIXSOURCE Zabbix host to use when sending values. [default: localhost]
Install/Configure Steps
- Download "fetch.py" file (see a link above) and save it to a location on a server you want to run the monitoring script;
- Run chmod +x on the file;
- Add the text below to a user's crontab. The frequency that you run the script will be the frequency that the items are updated.
* * * * * /usr/bin/python <some location>/ZabbixApacheUpdater.py -c host.being.monitored.com -z my.zabbix.server.com > /dev/null 2>&1
- Add this to your Apache config file:
<Location /server-status> SetHandler server-status Allow from 127.0.0.1 # If using a remote host for monitoring replace 127.0.0.1 with its IP. Order deny,allow Deny from all </Location> ExtendedStatus On # Optional. Must be in global scope and not in a virtual host
- Restart/reload Apache or use "kill -USR1 `cat /var/run/httpd.pid `" for zero downtime;
- Download and import "zabbix_export.xml" file (see a link above) into Zabbix frontend;
- Link the Template_App_Apache_Stats into the hosts in question or link Template_App_Apache_Stats to Template_App_Apache.
Example Localhost Monitoring
Crontab should have:
* * * * * /usr/bin/python <some location>/ZabbixApacheUpdater.py -c this.machines.hostname.com -z my.zabbix.server.com > /dev/null 2>&1
Example Monitoring Of Stand-alone Zabbix Server
Crontab should have:
* * * * * /usr/bin/python <some location>/ZabbixApacheUpdater.py -c localhost -z localhost > /dev/null 2>&1
Example Monitoring Of A Remote Webserver
Crontab should have:
* * * * * /usr/bin/python <some location>/ZabbixApacheUpdater.py -o remote.machines.hostname.com -c remote.machines.hostname.com -z my.zabbix.server.com > /dev/null 2>&1
Example Monitoring Of Multiple Remote Webservers
Crontab should have:
* * * * * /usr/bin/python <some location>/ZabbixApacheUpdater.py -o remote.machines.hostname.com -c remote.machines.hostname.com -z my.zabbix.server.com > /dev/null 2>&1 * * * * * /usr/bin/python <some location>/ZabbixApacheUpdater.py -o remote2.machines.hostname.com -c remote2.machines.hostname.com -z my.zabbix.server.com > /dev/null 2>&1 * * * * * /usr/bin/python <some location>/ZabbixApacheUpdater.py -o remote3.machines.hostname.com -c remote3.machines.hostname.com -z my.zabbix.server.com > /dev/null 2>&1
Method 2
I've created a Python script, items and a graph that enable Zabbix to parse Apache's "/server-status" page, and graph/trigger off the results
The script keys off the 'Host' value added to Zabbix... add the actual IP address of the hosts you want to monitor in Zabbix the usual way, and link the Apache template to the hosts you want to monitor. The big advantage of this script is that it's "non-intrusive" - the Zabbix agent doesn't need to be running on the Apache hosts you want to monitor, Apache just needs to be configured to allow your Zabbix server's IP address to access to the "/server-status" URL. The script expects to receive three arguments, and the template below will only pass in two. You need to modify the template and add the ip of the host as the first argument for each item key. You can use the {HOST.CONN1} macro to use the ip of the host that you attach the template to. The script is also examining more metrics than the template below is configured to record in Zabbix. In order to collect this data as well, you'll need to add additional items to the template, such as "TotalkBytes" or "ReqPerSec". Look at the script to see all the possible metrics you can have Zabbix collect.
Here's an example screenshot (click to see it full size):
Here's the Zabbix Template_Apache_Stats XML:
<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export version="1.0" date="12.01.10" time="18.21">
<hosts>
<host name="Template_Apache_Stats">
<proxy_hostid>0</proxy_hostid>
<useip>1</useip>
<dns></dns>
<ip>127.0.0.1</ip>
<port>10050</port>
<status>3</status>
<useipmi>0</useipmi>
<ipmi_ip>127.0.0.1</ipmi_ip>
<ipmi_port>623</ipmi_port>
<ipmi_authtype>0</ipmi_authtype>
<ipmi_privilege>2</ipmi_privilege>
<ipmi_username></ipmi_username>
<ipmi_password></ipmi_password>
<groups>
<group>Templates</group>
</groups>
<triggers/>
<items>
<item type="10" key="query_apachestats.py[80 D]" value_type="3">
<description>Apache Stats - DNS Lookup</description>
<ipmi_sensor></ipmi_sensor>
<delay>60</delay>
<history>7</history>
<trends>365</trends>
<status>0</status>
<data_type>0</data_type>
<units>request(s)</units>
<multiplier>0</multiplier>
<delta>0</delta>
<formula>1</formula>
<lastlogsize>0</lastlogsize>
<logtimefmt></logtimefmt>
<delay_flex></delay_flex>
<authtype>0</authtype>
<username></username>
<password></password>
<publickey></publickey>
<privatekey></privatekey>
<params></params>
<trapper_hosts></trapper_hosts>
<snmp_community>public</snmp_community>
<snmp_oid>interfaces.ifTable.ifEntry.ifInOctets.1</snmp_oid>
<snmp_port>161</snmp_port>
<snmpv3_securityname></snmpv3_securityname>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authpassphrase></snmpv3_authpassphrase>
<snmpv3_privpassphrase></snmpv3_privpassphrase>
<applications/>
</item>
<item type="10" key="query_apachestats.py[80 C]" value_type="3">
<description>Apache Stats - Closing Connection</description>
<ipmi_sensor></ipmi_sensor>
<delay>60</delay>
<history>7</history>
<trends>365</trends>
<status>0</status>
<data_type>0</data_type>
<units>request(s)</units>
<multiplier>0</multiplier>
<delta>0</delta>
<formula>1</formula>
<lastlogsize>0</lastlogsize>
<logtimefmt></logtimefmt>
<delay_flex></delay_flex>
<authtype>0</authtype>
<username></username>
<password></password>
<publickey></publickey>
<privatekey></privatekey>
<params></params>
<trapper_hosts></trapper_hosts>
<snmp_community>public</snmp_community>
<snmp_oid>interfaces.ifTable.ifEntry.ifInOctets.1</snmp_oid>
<snmp_port>161</snmp_port>
<snmpv3_securityname></snmpv3_securityname>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authpassphrase></snmpv3_authpassphrase>
<snmpv3_privpassphrase></snmpv3_privpassphrase>
<applications/>
</item>
<item type="10" key="query_apachestats.py[80 G]" value_type="3">
<description>Apache Stats - Gracefully finishing</description>
<ipmi_sensor></ipmi_sensor>
<delay>60</delay>
<history>7</history>
<trends>365</trends>
<status>0</status>
<data_type>0</data_type>
<units>request(s)</units>
<multiplier>0</multiplier>
<delta>0</delta>
<formula>1</formula>
<lastlogsize>0</lastlogsize>
<logtimefmt></logtimefmt>
<delay_flex></delay_flex>
<authtype>0</authtype>
<username></username>
<password></password>
<publickey></publickey>
<privatekey></privatekey>
<params></params>
<trapper_hosts></trapper_hosts>
<snmp_community>public</snmp_community>
<snmp_oid>interfaces.ifTable.ifEntry.ifInOctets.1</snmp_oid>
<snmp_port>161</snmp_port>
<snmpv3_securityname></snmpv3_securityname>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authpassphrase></snmpv3_authpassphrase>
<snmpv3_privpassphrase></snmpv3_privpassphrase>
<applications/>
</item>
<item type="10" key="query_apachestats.py[80 I]" value_type="3">
<description>Apache Stats - Idle cleanup of worker</description>
<ipmi_sensor></ipmi_sensor>
<delay>60</delay>
<history>7</history>
<trends>365</trends>
<status>0</status>
<data_type>0</data_type>
<units>request(s)</units>
<multiplier>0</multiplier>
<delta>0</delta>
<formula>1</formula>
<lastlogsize>0</lastlogsize>
<logtimefmt></logtimefmt>
<delay_flex></delay_flex>
<authtype>0</authtype>
<username></username>
<password></password>
<publickey></publickey>
<privatekey></privatekey>
<params></params>
<trapper_hosts></trapper_hosts>
<snmp_community>public</snmp_community>
<snmp_oid>interfaces.ifTable.ifEntry.ifInOctets.1</snmp_oid>
<snmp_port>161</snmp_port>
<snmpv3_securityname></snmpv3_securityname>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authpassphrase></snmpv3_authpassphrase>
<snmpv3_privpassphrase></snmpv3_privpassphrase>
<applications/>
</item>
<item type="10" key="query_apachestats.py[80 K]" value_type="3">
<description>Apache Stats - Keepalive (read)</description>
<ipmi_sensor></ipmi_sensor>
<delay>60</delay>
<history>7</history>
<trends>365</trends>
<status>0</status>
<data_type>0</data_type>
<units>request(s)</units>
<multiplier>0</multiplier>
<delta>0</delta>
<formula>1</formula>
<lastlogsize>0</lastlogsize>
<logtimefmt></logtimefmt>
<delay_flex></delay_flex>
<authtype>0</authtype>
<username></username>
<password></password>
<publickey></publickey>
<privatekey></privatekey>
<params></params>
<trapper_hosts></trapper_hosts>
<snmp_community>public</snmp_community>
<snmp_oid>interfaces.ifTable.ifEntry.ifInOctets.1</snmp_oid>
<snmp_port>161</snmp_port>
<snmpv3_securityname></snmpv3_securityname>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authpassphrase></snmpv3_authpassphrase>
<snmpv3_privpassphrase></snmpv3_privpassphrase>
<applications/>
</item>
<item type="10" key="query_apachestats.py[80 L]" value_type="3">
<description>Apache Stats - Logging</description>
<ipmi_sensor></ipmi_sensor>
<delay>60</delay>
<history>7</history>
<trends>365</trends>
<status>0</status>
<data_type>0</data_type>
<units>request(s)</units>
<multiplier>0</multiplier>
<delta>0</delta>
<formula>1</formula>
<lastlogsize>0</lastlogsize>
<logtimefmt></logtimefmt>
<delay_flex></delay_flex>
<authtype>0</authtype>
<username></username>
<password></password>
<publickey></publickey>
<privatekey></privatekey>
<params></params>
<trapper_hosts></trapper_hosts>
<snmp_community>public</snmp_community>
<snmp_oid>interfaces.ifTable.ifEntry.ifInOctets.1</snmp_oid>
<snmp_port>161</snmp_port>
<snmpv3_securityname></snmpv3_securityname>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authpassphrase></snmpv3_authpassphrase>
<snmpv3_privpassphrase></snmpv3_privpassphrase>
<applications/>
</item>
<item type="10" key="query_apachestats.py[80 R]" value_type="3">
<description>Apache Stats - Reading Request</description>
<ipmi_sensor></ipmi_sensor>
<delay>60</delay>
<history>7</history>
<trends>365</trends>
<status>0</status>
<data_type>0</data_type>
<units>request(s)</units>
<multiplier>0</multiplier>
<delta>0</delta>
<formula>1</formula>
<lastlogsize>0</lastlogsize>
<logtimefmt></logtimefmt>
<delay_flex></delay_flex>
<authtype>0</authtype>
<username></username>
<password></password>
<publickey></publickey>
<privatekey></privatekey>
<params></params>
<trapper_hosts></trapper_hosts>
<snmp_community>public</snmp_community>
<snmp_oid>interfaces.ifTable.ifEntry.ifInOctets.1</snmp_oid>
<snmp_port>161</snmp_port>
<snmpv3_securityname></snmpv3_securityname>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authpassphrase></snmpv3_authpassphrase>
<snmpv3_privpassphrase></snmpv3_privpassphrase>
<applications/>
</item>
<item type="10" key="query_apachestats.py[80 S]" value_type="3">
<description>Apache Stats - Starting Up</description>
<ipmi_sensor></ipmi_sensor>
<delay>60</delay>
<history>7</history>
<trends>365</trends>
<status>0</status>
<data_type>0</data_type>
<units>request(s)</units>
<multiplier>0</multiplier>
<delta>0</delta>
<formula>1</formula>
<lastlogsize>0</lastlogsize>
<logtimefmt></logtimefmt>
<delay_flex></delay_flex>
<authtype>0</authtype>
<username></username>
<password></password>
<publickey></publickey>
<privatekey></privatekey>
<params></params>
<trapper_hosts></trapper_hosts>
<snmp_community>public</snmp_community>
<snmp_oid>interfaces.ifTable.ifEntry.ifInOctets.1</snmp_oid>
<snmp_port>161</snmp_port>
<snmpv3_securityname></snmpv3_securityname>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authpassphrase></snmpv3_authpassphrase>
<snmpv3_privpassphrase></snmpv3_privpassphrase>
<applications/>
</item>
<item type="10" key="query_apachestats.py[80 W]" value_type="3">
<description>Apache Stats - Sending Reply</description>
<ipmi_sensor></ipmi_sensor>
<delay>60</delay>
<history>7</history>
<trends>365</trends>
<status>0</status>
<data_type>0</data_type>
<units>request(s)</units>
<multiplier>0</multiplier>
<delta>0</delta>
<formula>1</formula>
<lastlogsize>0</lastlogsize>
<logtimefmt></logtimefmt>
<delay_flex></delay_flex>
<authtype>0</authtype>
<username></username>
<password></password>
<publickey></publickey>
<privatekey></privatekey>
<params></params>
<trapper_hosts></trapper_hosts>
<snmp_community>public</snmp_community>
<snmp_oid>interfaces.ifTable.ifEntry.ifInOctets.1</snmp_oid>
<snmp_port>161</snmp_port>
<snmpv3_securityname></snmpv3_securityname>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authpassphrase></snmpv3_authpassphrase>
<snmpv3_privpassphrase></snmpv3_privpassphrase>
<applications/>
</item>
<item type="10" key="query_apachestats.py[80 _]" value_type="3">
<description>Apache Stats - Waiting for Connection</description>
<ipmi_sensor></ipmi_sensor>
<delay>60</delay>
<history>7</history>
<trends>365</trends>
<status>0</status>
<data_type>0</data_type>
<units>request(s)</units>
<multiplier>0</multiplier>
<delta>0</delta>
<formula>1</formula>
<lastlogsize>0</lastlogsize>
<logtimefmt></logtimefmt>
<delay_flex></delay_flex>
<authtype>0</authtype>
<username></username>
<password></password>
<publickey></publickey>
<privatekey></privatekey>
<params></params>
<trapper_hosts></trapper_hosts>
<snmp_community>public</snmp_community>
<snmp_oid>interfaces.ifTable.ifEntry.ifInOctets.1</snmp_oid>
<snmp_port>161</snmp_port>
<snmpv3_securityname></snmpv3_securityname>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authpassphrase></snmpv3_authpassphrase>
<snmpv3_privpassphrase></snmpv3_privpassphrase>
<applications/>
</item>
</items>
<templates/>
<graphs>
<graph name="Apache Thread Scoreboard" width="900" height="200">
<ymin_type>0</ymin_type>
<ymax_type>0</ymax_type>
<ymin_item_key></ymin_item_key>
<ymax_item_key></ymax_item_key>
<show_work_period>0</show_work_period>
<show_triggers>0</show_triggers>
<graphtype>1</graphtype>
<yaxismin>0.0000</yaxismin>
<yaxismax>100.0000</yaxismax>
<show_legend>0</show_legend>
<show_3d>0</show_3d>
<percent_left>0.0000</percent_left>
<percent_right>0.0000</percent_right>
<graph_elements>
<graph_element item="Template_Apache_Stats:query_apachestats.py[80 W]">
<drawtype>1</drawtype>
<sortorder>1</sortorder>
<color>00EE00</color>
<yaxisside>0</yaxisside>
<calc_fnc>2</calc_fnc>
<type>0</type>
<periods_cnt>5</periods_cnt>
</graph_element>
<graph_element item="Template_Apache_Stats:query_apachestats.py[80 R]">
<drawtype>1</drawtype>
<sortorder>6</sortorder>
<color>FF9999</color>
<yaxisside>0</yaxisside>
<calc_fnc>2</calc_fnc>
<type>0</type>
<periods_cnt>5</periods_cnt>
</graph_element>
<graph_element item="Template_Apache_Stats:query_apachestats.py[80 S]">
<drawtype>1</drawtype>
<sortorder>2</sortorder>
<color>0000EE</color>
<yaxisside>0</yaxisside>
<calc_fnc>2</calc_fnc>
<type>0</type>
<periods_cnt>5</periods_cnt>
</graph_element>
<graph_element item="Template_Apache_Stats:query_apachestats.py[80 _]">
<drawtype>1</drawtype>
<sortorder>0</sortorder>
<color>009900</color>
<yaxisside>0</yaxisside>
<calc_fnc>2</calc_fnc>
<type>0</type>
<periods_cnt>5</periods_cnt>
</graph_element>
<graph_element item="Template_Apache_Stats:query_apachestats.py[80 K]">
<drawtype>1</drawtype>
<sortorder>7</sortorder>
<color>00DDDD</color>
<yaxisside>0</yaxisside>
<calc_fnc>2</calc_fnc>
<type>0</type>
<periods_cnt>5</periods_cnt>
</graph_element>
<graph_element item="Template_Apache_Stats:query_apachestats.py[80 D]">
<drawtype>1</drawtype>
<sortorder>3</sortorder>
<color>888888</color>
<yaxisside>0</yaxisside>
<calc_fnc>2</calc_fnc>
<type>0</type>
<periods_cnt>5</periods_cnt>
</graph_element>
<graph_element item="Template_Apache_Stats:query_apachestats.py[80 L]">
<drawtype>1</drawtype>
<sortorder>9</sortorder>
<color>CC3232</color>
<yaxisside>0</yaxisside>
<calc_fnc>2</calc_fnc>
<type>0</type>
<periods_cnt>5</periods_cnt>
</graph_element>
<graph_element item="Template_Apache_Stats:query_apachestats.py[80 G]">
<drawtype>1</drawtype>
<sortorder>4</sortorder>
<color>BB00BB</color>
<yaxisside>0</yaxisside>
<calc_fnc>2</calc_fnc>
<type>0</type>
<periods_cnt>5</periods_cnt>
</graph_element>
<graph_element item="Template_Apache_Stats:query_apachestats.py[80 I]">
<drawtype>1</drawtype>
<sortorder>5</sortorder>
<color>000000</color>
<yaxisside>0</yaxisside>
<calc_fnc>2</calc_fnc>
<type>0</type>
<periods_cnt>5</periods_cnt>
</graph_element>
<graph_element item="Template_Apache_Stats:query_apachestats.py[80 C]">
<drawtype>1</drawtype>
<sortorder>8</sortorder>
<color>777700</color>
<yaxisside>0</yaxisside>
<calc_fnc>2</calc_fnc>
<type>0</type>
<periods_cnt>5</periods_cnt>
</graph_element>
</graph_elements>
</graph>
</graphs>
<macros/>
</host>
</hosts>
<dependencies/>
</zabbix_export>
Here is the Python script. Place this in your Zabbix external scripts folder, as a file named query_apachestats.py
#!/usr/bin/python
# We need python's URL getting functionality
import urllib
# Set a sane default timeout (for all socket connections unfortunately...)
import socket
socket.setdefaulttimeout(3)
# for CSV support
import csv
# We ned sys in order to grab the argument to the script (which is the IP to connect to)
import sys
# We need os to delete files
import os
# random for the temporary file created
import random
# The web server IP to query
WebServer = sys.argv[1]
# Web server Port is the second argument
Port = sys.argv[2]
# Metric the user is asking for
RequestedMetric = sys.argv[3]
# URL is hard coded to /server-status?auto but could be different in the future if needed
URL = "/server-status?auto"
############### Function to fire off an HTTP request to the web server, throw an exception gracefully
############### and print FAIL if a connection can't be made
def getURL(WebServer,Port,URL):
try:
# Setup connection string
ConnectionString = ("http://%s:%s%s") % (WebServer, Port, URL)
conn = urllib.urlopen(ConnectionString)
URLresponse = conn.read()
# Clean up the connection
conn.close()
# The response to the function is the output of the URL called
return URLresponse
# Catch all exceptions
except:
print "Error getting URL"
########################################################################
### This function deals with "ordinary" metrics, such as CPULoad etc ###
########################################################################
def GetMetric(RequestedMetric):
if RequestedMetric == "TotalAccesses":
return ServerStatusOutput[0][1]
if RequestedMetric == "TotalkBytes":
return ServerStatusOutput[1][1]
if RequestedMetric == "CPULoad":
return ServerStatusOutput[2][1]
if RequestedMetric == "ReqPerSec":
return ServerStatusOutput[4][1]
if RequestedMetric == "BytesPerSec":
return ServerStatusOutput[5][1]
if RequestedMetric == "BytesPerReq":
return ServerStatusOutput[6][1]
if RequestedMetric == "BusyWorkers":
return ServerStatusOutput[7][1]
if RequestedMetric == "IdleWorkers":
return ServerStatusOutput[8][1]
###################################################################
### This function deals with specifically the Apache scoreboard ###
###################################################################
# function to count the metric requested... used in every if statement
def GetScoreboardMetric(RequestedMetric):
# initialize counter variable
RequestedMetricCount = 0
# iterate over the ScoreBoard part and count the number of the requested metric
for CountMetric in ServerStatusOutput[9][1]:
if CountMetric == RequestedMetric:
RequestedMetricCount = RequestedMetricCount + 1
return RequestedMetricCount
# Scoreboard Key:
# "_" Waiting for Connection,
# "S" Starting up,
# "R" Reading Request,
# "W" Sending Reply,
# "K" Keepalive (read),
# "D" DNS Lookup,
# "C" Closing connection,
# "L" Logging,
# "G" Gracefully finishing,
# "I" Idle cleanup of worker,
# "." Open slot with no current process
####################### End of function definitions ############################
#### Main body of script - Apache status is parsed and split into a list ####
RandomInt = random.randint(1, 1000)
TemporaryFileName = ("/tmp/%s.txt") % RandomInt
TemporaryFile = open(TemporaryFileName, 'a')
TemporaryFile.write(getURL(WebServer,Port,URL))
# Parse the CSV file we just wrote
CSVReader = csv.reader(open(TemporaryFileName, "rb"), delimiter = ":", skipinitialspace=True)
# Close the file handle and delete the file, to clean up because we're done with it at this point
TemporaryFile.close()
os.remove(TemporaryFileName)
# Turn the split CSV into a two dimensional list
ServerStatusOutput = []
for Metric in CSVReader:
ServerStatusOutput.append(Metric)
# if the last argument to the script is more than two characters, this means an "ordinary" metric was asked for
if len(RequestedMetric) > 2:
print GetMetric(RequestedMetric)
# Otherwise print the Scoreboard specific metric
else:
print GetScoreboardMetric(RequestedMetric)
Method 3
There is a bash script called zapache to parse Apache's "/server-status" page:
(New note by Karmukis {september-23-2014} - Regarding this "zapache script" I recommend to go directly to the source code page: "https://github.com/lorf/zapache" by "Lorf", to whom I am truly grate-full).
#! /bin/bash
#
# Name: zapache
#
# Checks Apache activity.
#
# Author: Alejandro Michavila
# Modified for Scoreboard Values: Murat Koc, murat@profelis.com.tr
# Modified for using also as external script: Murat Koc, murat@profelis.com.tr
# Modified for outputting usage or ZBX_NOTSUPPORTED: Alejandro Michavila
#
# Version: 1.4
#
zapachever="1.4"
rval=0
function usage()
{
echo "zapache version: $zapachever"
echo "usage:"
echo " $0 TotalAccesses -- Check total accesses."
echo " $0 TotalKBytes -- Check total KBytes."
echo " $0 Uptime -- Check uptime."
echo " $0 ReqPerSec -- Check requests per second."
echo " $0 BytesPerSec -- Check Bytes per second."
echo " $0 BytesPerReq -- Check Bytes per request."
echo " $0 BusyWorkers -- Check busy workers."
echo " $0 IdleWorkers -- Check idle workers."
echo " $0 version -- Version of this script."
echo " $0 WaitingForConnection -- Check Waiting for Connection processess."
echo " $0 StartingUp -- Check Starting Up processess."
echo " $0 ReadingRequest -- Check Reading Request processess."
echo " $0 SendingReply -- Check Sending Reply processess."
echo " $0 KeepAlive -- Check KeepAlive Processess."
echo " $0 DNSLookup -- Check DNSLookup Processess."
echo " $0 ClosingConnection -- Check Closing Connection Processess."
echo " $0 Logging -- Check Logging Processess."
echo " $0 GracefullyFinishing -- Check Gracefully Finishing Processess."
echo " $0 IdleCleanupOfWorker -- Check Idle Cleanup of Worker Processess."
echo " $0 OpenSlotWithNoCurrentProcess -- Check Open Slots with No Current Process."
}
########
# Main #
########
if [[ $# == 1 ]];then
#Agent Mode
VAR=$(wget --quiet -O - http://localhost/server-status?auto)
CASE_VALUE=$1
elif [[ $# == 2 ]];then
#External Script Mode
VAR=$(wget --quiet -O - http://$1/server-status?auto)
CASE_VALUE=$2
else
#No Parameter
usage
exit 0
fi
if [[ -z $VAR ]]; then
echo "ZBX_NOTSUPPORTED"
exit 1
fi
case $CASE_VALUE in
'TotalAccesses')
echo "$VAR"|grep "Total Accesses:"|awk '{print $3}'
rval=$?;;
'TotalKBytes')
echo "$VAR"|grep "Total kBytes:"|awk '{print $3}'
rval=$?;;
'Uptime')
echo "$VAR"|grep "Uptime:"|awk '{print $2}'
rval=$?;;
'ReqPerSec')
echo "$VAR"|grep "ReqPerSec:"|awk '{print $2}'
rval=$?;;
'BytesPerSec')
echo "$VAR"|grep "BytesPerSec:"|awk '{print $2}'
rval=$?;;
'BytesPerReq')
echo "$VAR"|grep "BytesPerReq:"|awk '{print $2}'
rval=$?;;
'BusyWorkers')
echo "$VAR"|grep "BusyWorkers:"|awk '{print $2}'
rval=$?;;
'IdleWorkers')
echo "$VAR"|grep "IdleWorkers:"|awk '{print $2}'
rval=$?;;
'WaitingForConnection')
echo "$VAR"|grep "Scoreboard:"| awk '{print $2}'| awk 'BEGIN { FS = "_" } ; { print NF-1 }'
rval=$?;;
'StartingUp')
echo "$VAR"|grep "Scoreboard:"| awk '{print $2}'| awk 'BEGIN { FS = "S" } ; { print NF-1 }'
rval=$?;;
'ReadingRequest')
echo "$VAR"|grep "Scoreboard:"| awk '{print $2}'| awk 'BEGIN { FS = "R" } ; { print NF-1 }'
rval=$?;;
'SendingReply')
echo "$VAR"|grep "Scoreboard:"| awk '{print $2}'| awk 'BEGIN { FS = "W" } ; { print NF-1 }'
rval=$?;;
'KeepAlive')
echo "$VAR"|grep "Scoreboard:"| awk '{print $2}'| awk 'BEGIN { FS = "K" } ; { print NF-1 }'
rval=$?;;
'DNSLookup')
echo "$VAR"|grep "Scoreboard:"| awk '{print $2}'| awk 'BEGIN { FS = "D" } ; { print NF-1 }'
rval=$?;;
'ClosingConnection')
echo "$VAR"|grep "Scoreboard:"| awk '{print $2}'| awk 'BEGIN { FS = "C" } ; { print NF-1 }'
rval=$?;;
'Logging')
echo "$VAR"|grep "Scoreboard:"| awk '{print $2}'| awk 'BEGIN { FS = "L" } ; { print NF-1 }'
rval=$?;;
'GracefullyFinishing')
echo "$VAR"|grep "Scoreboard:"| awk '{print $2}'| awk 'BEGIN { FS = "G" } ; { print NF-1 }'
rval=$?;;
'IdleCleanupOfWorker')
echo "$VAR"|grep "Scoreboard:"| awk '{print $2}'| awk 'BEGIN { FS = "I" } ; { print NF-1 }'
rval=$?;;
'OpenSlotWithNoCurrentProcess')
echo "$VAR"|grep "Scoreboard:"| awk '{print $2}'| awk 'BEGIN { FS = "." } ; {data_type>0 print NF-1 }'
rval=$?;;
'version')
echo "$zapachever"
exit $rval;;
*)
usage
exit $rval;;
esac
if [ "$rval" -ne 0 ]; then
echo "ZBX_NOTSUPPORTED"
fi
exit $rval
#
# end zapache
Remember to add this line to your zabbix_agentd.conf:
UserParameter=apache[*],/home/zabbix/bin/zapache \$1
And you can create your zapache template:
Description Type Key Type of information Update interval Store value History Trends Applications Apache/TotalAccesses. ZABBIX agent apache[TotalAccesses] Numeric (integer) 60 As Is 7 365 APACHE Apache/TotalKBytes. ZABBIX agent apache[TotalKBytes] Numeric (float) 60 As Is 7 365 APACHE Apache/Uptime. ZABBIX agent apache[Uptime] Numeric (integer) 60 As Is 7 365 APACHE Apache/ReqPerSec. ZABBIX agent apache[RecPerSec] Numeric (float) 60 As Is 7 365 APACHE Apache/BytesPerSec. ZABBIX agent apache[BytesPerSec] Numeric (float) 60 As Is 7 365 APACHE Apache/BytesPerReq. ZABBIX agent apache[BytesPerReq] Numeric (float) 60 As Is 7 365 APACHE Apache/BusyWorkers. ZABBIX agent apache[BusyWorkers] Numeric (integer) 60 As Is 7 365 APACHE Apache/IdleWorkers. ZABBIX agent apache[IdleWorkers] Numeric (integer) 60 As Is 7 365 APACHE
Here's the Zabbix Template XML:
<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export version="1.0" date="26.05.11" time="08.59">
<hosts>
<host name="Template_Apache_Stats">
<proxy_hostid>0</proxy_hostid>
<useip>1</useip>
<dns></dns>
<ip>127.0.0.1</ip>
<port>10050</port>
<status>3</status>
<useipmi>0</useipmi>
<ipmi_ip>127.0.0.1</ipmi_ip>
<ipmi_port>623</ipmi_port>
<ipmi_authtype>0</ipmi_authtype>
<ipmi_privilege>2</ipmi_privilege>
<ipmi_username></ipmi_username>
<ipmi_password></ipmi_password>
<groups>
<group>Templates</group>
</groups>
<triggers/>
<items>
<item type="0" key="apache[BytesPerReq]" value_type="0">
<description>Apache/BytesPerReq.</description>
<ipmi_sensor></ipmi_sensor>
<delay>60</delay>
<history>7</history>
<trends>365</trends>
<status>0</status>
<data_type>0</data_type>
<units></units>
<multiplier>0</multiplier>
<delta>0</delta>
<formula>0</formula>
<lastlogsize>0</lastlogsize>
<logtimefmt></logtimefmt>
<delay_flex></delay_flex>
<authtype>0</authtype>
<username></username>
<password></password>
<publickey></publickey>
<privatekey></privatekey>
<params></params>
<trapper_hosts></trapper_hosts>
<snmp_community></snmp_community>
<snmp_oid></snmp_oid>
<snmp_port>161</snmp_port>
<snmpv3_securityname></snmpv3_securityname>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authpassphrase></snmpv3_authpassphrase>
<snmpv3_privpassphrase></snmpv3_privpassphrase>
<valuemapid>0</valuemapid>
<applications>
<application>APACHE</application>
</applications>
</item>
<item type="0" key="apache[BytesPerSec]" value_type="0">
<description>Apache/BytesPerSec.</description>
<ipmi_sensor></ipmi_sensor>
<delay>60</delay>
<history>7</history>
<trends>365</trends>
<status>0</status>
<data_type>0</data_type>
<units></units>
<multiplier>0</multiplier>
<delta>0</delta>
<formula>0</formula>
<lastlogsize>0</lastlogsize>
<logtimefmt></logtimefmt>
<delay_flex></delay_flex>
<authtype>0</authtype>
<username></username>
<password></password>
<publickey></publickey>
<privatekey></privatekey>
<params></params>
<trapper_hosts></trapper_hosts>
<snmp_community></snmp_community>
<snmp_oid></snmp_oid>
<snmp_port>161</snmp_port>
<snmpv3_securityname></snmpv3_securityname>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authpassphrase></snmpv3_authpassphrase>
<snmpv3_privpassphrase></snmpv3_privpassphrase>
<valuemapid>0</valuemapid>
<applications>
<application>APACHE</application>
</applications>
</item>
<item type="0" key="apache[ClosingConnection]" value_type="0">
<description>Apache/ClosingConnection.</description>
<ipmi_sensor></ipmi_sensor>
<delay>60</delay>
<history>7</history>
<trends>365</trends>
<status>0</status>
<data_type>0</data_type>
<units></units>
<multiplier>0</multiplier>
<delta>0</delta>
<formula>0</formula>
<lastlogsize>0</lastlogsize>
<logtimefmt></logtimefmt>
<delay_flex></delay_flex>
<authtype>0</authtype>
<username></username>
<password></password>
<publickey></publickey>
<privatekey></privatekey>
<params></params>
<trapper_hosts></trapper_hosts>
<snmp_community></snmp_community>
<snmp_oid></snmp_oid>
<snmp_port>161</snmp_port>
<snmpv3_securityname></snmpv3_securityname>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authpassphrase></snmpv3_authpassphrase>
<snmpv3_privpassphrase></snmpv3_privpassphrase>
<valuemapid>0</valuemapid>
<applications>
<application>APACHE</application>
</applications>
</item>
<item type="0" key="apache[DNSLookup]" value_type="0">
<description>Apache/DNSLookup.</description>
<ipmi_sensor></ipmi_sensor>
<delay>60</delay>
<history>7</history>
<trends>365</trends>
<status>0</status>
<data_type>0</data_type>
<units></units>
<multiplier>0</multiplier>
<delta>0</delta>
<formula>0</formula>
<lastlogsize>0</lastlogsize>
<logtimefmt></logtimefmt>
<delay_flex></delay_flex>
<authtype>0</authtype>
<username></username>
<password></password>
<publickey></publickey>
<privatekey></privatekey>
<params></params>
<trapper_hosts></trapper_hosts>
<snmp_community></snmp_community>
<snmp_oid></snmp_oid>
<snmp_port>161</snmp_port>
<snmpv3_securityname></snmpv3_securityname>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authpassphrase></snmpv3_authpassphrase>
<snmpv3_privpassphrase></snmpv3_privpassphrase>
<valuemapid>0</valuemapid>
<applications>
<application>APACHE</application>
</applications>
</item>
<item type="0" key="apache[GracefullyFinishing]" value_type="3">
<description>Apache/GracefullyFinishing.</description>
<ipmi_sensor></ipmi_sensor>
<delay>60</delay>
<history>7</history>
<trends>365</trends>
<status>0</status>
<data_type>0</data_type>
<units></units>
<multiplier>0</multiplier>
<delta>0</delta>
<formula>0</formula>
<lastlogsize>0</lastlogsize>
<logtimefmt></logtimefmt>
<delay_flex></delay_flex>
<authtype>0</authtype>
<username></username>
<password></password>
<publickey></publickey>
<privatekey></privatekey>
<params></params>
<trapper_hosts></trapper_hosts>
<snmp_community></snmp_community>
<snmp_oid></snmp_oid>
<snmp_port>161</snmp_port>
<snmpv3_securityname></snmpv3_securityname>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authpassphrase></snmpv3_authpassphrase>
<snmpv3_privpassphrase></snmpv3_privpassphrase>
<valuemapid>0</valuemapid>
<applications>
<application>APACHE</application>
</applications>
</item>
<item type="0" key="apache[IdleCleanupOfWorker]" value_type="0">
<description>Apache/IdleCleanupOfWorker.</description>
<ipmi_sensor></ipmi_sensor>
<delay>60</delay>
<history>7</history>
<trends>365</trends>
<status>0</status>
<data_type>0</data_type>
<units></units>
<multiplier>0</multiplier>
<delta>0</delta>
<formula>0</formula>
<lastlogsize>0</lastlogsize>
<logtimefmt></logtimefmt>
<delay_flex></delay_flex>
<authtype>0</authtype>
<username></username>
<password></password>
<publickey></publickey>
<privatekey></privatekey>
<params></params>
<trapper_hosts></trapper_hosts>
<snmp_community></snmp_community>
<snmp_oid></snmp_oid>
<snmp_port>161</snmp_port>
<snmpv3_securityname></snmpv3_securityname>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authpassphrase></snmpv3_authpassphrase>
<snmpv3_privpassphrase></snmpv3_privpassphrase>
<valuemapid>0</valuemapid>
<applications>
<application>APACHE</application>
</applications>
</item>
<item type="0" key="apache[IdleWorkers]" value_type="3">
<description>Apache/IdleWorkers.</description>
<ipmi_sensor></ipmi_sensor>
<delay>60</delay>
<history>7</history>
<trends>365</trends>
<status>0</status>
<data_type>0</data_type>
<units></units>
<multiplier>0</multiplier>
<delta>0</delta>
<formula>0</formula>
<lastlogsize>0</lastlogsize>
<logtimefmt></logtimefmt>
<delay_flex></delay_flex>
<authtype>0</authtype>
<username></username>
<password></password>
<publickey></publickey>
<privatekey></privatekey>
<params></params>
<trapper_hosts></trapper_hosts>
<snmp_community></snmp_community>
<snmp_oid></snmp_oid>
<snmp_port>161</snmp_port>
<snmpv3_securityname></snmpv3_securityname>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authpassphrase></snmpv3_authpassphrase>
<snmpv3_privpassphrase></snmpv3_privpassphrase>
<valuemapid>0</valuemapid>
<applications>
<application>APACHE</application>
</applications>
</item>
<item type="0" key="apache[KeepAlive]" value_type="0">
<description>Apache/KeepAlive.</description>
<ipmi_sensor></ipmi_sensor>
<delay>60</delay>
<history>7</history>
<trends>365</trends>
<status>0</status>
<data_type>0</data_type>
<units></units>
<multiplier>0</multiplier>
<delta>0</delta>
<formula>0</formula>
<lastlogsize>0</lastlogsize>
<logtimefmt></logtimefmt>
<delay_flex></delay_flex>
<authtype>0</authtype>
<username></username>
<password></password>
<publickey></publickey>
<privatekey></privatekey>
<params></params>
<trapper_hosts></trapper_hosts>
<snmp_community></snmp_community>
<snmp_oid></snmp_oid>
<snmp_port>161</snmp_port>
<snmpv3_securityname></snmpv3_securityname>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authpassphrase></snmpv3_authpassphrase>
<snmpv3_privpassphrase></snmpv3_privpassphrase>
<valuemapid>0</valuemapid>
<applications>
<application>APACHE</application>
</applications>
</item>
<item type="0" key="apache[Logging]" value_type="0">
<description>Apache/Logging.</description>
<ipmi_sensor></ipmi_sensor>
<delay>60</delay>
<history>7</history>
<trends>365</trends>
<status>0</status>
<data_type>0</data_type>
<units></units>
<multiplier>0</multiplier>
<delta>0</delta>
<formula>0</formula>
<lastlogsize>0</lastlogsize>
<logtimefmt></logtimefmt>
<delay_flex></delay_flex>
<authtype>0</authtype>
<username></username>
<password></password>
<publickey></publickey>
<privatekey></privatekey>
<params></params>
<trapper_hosts></trapper_hosts>
<snmp_community></snmp_community>
<snmp_oid></snmp_oid>
<snmp_port>161</snmp_port>
<snmpv3_securityname></snmpv3_securityname>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authpassphrase></snmpv3_authpassphrase>
<snmpv3_privpassphrase></snmpv3_privpassphrase>
<valuemapid>0</valuemapid>
<applications>
<application>APACHE</application>
</applications>
</item>
<item type="0" key="apache[OpenSlotWithNoCurrentProcess]" value_type="0">
<description>Apache/OpenSlotWithNoCurrentProcess.</description>
<ipmi_sensor></ipmi_sensor>
<delay>60</delay>
<history>7</history>
<trends>365</trends>
<status>0</status>
<data_type>0</data_type>
<units></units>
<multiplier>0</multiplier>
<delta>0</delta>
<formula>0</formula>
<lastlogsize>0</lastlogsize>
<logtimefmt></logtimefmt>
<delay_flex></delay_flex>
<authtype>0</authtype>
<username></username>
<password></password>
<publickey></publickey>
<privatekey></privatekey>
<params></params>
<trapper_hosts></trapper_hosts>
<snmp_community></snmp_community>
<snmp_oid></snmp_oid>
<snmp_port>161</snmp_port>
<snmpv3_securityname></snmpv3_securityname>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authpassphrase></snmpv3_authpassphrase>
<snmpv3_privpassphrase></snmpv3_privpassphrase>
<valuemapid>0</valuemapid>
<applications>
<application>APACHE</application>
</applications>
</item>
<item type="0" key="apache[ReadingRequest]" value_type="0">
<description>Apache/ReadingRequest.</description>
<ipmi_sensor></ipmi_sensor>
<delay>60</delay>
<history>7</history>
<trends>365</trends>
<status>0</status>
<data_type>0</data_type>
<units></units>
<multiplier>0</multiplier>
<delta>0</delta>
<formula>0</formula>
<lastlogsize>0</lastlogsize>
<logtimefmt></logtimefmt>
<delay_flex></delay_flex>
<authtype>0</authtype>
<username></username>
<password></password>
<publickey></publickey>
<privatekey></privatekey>
<params></params>
<trapper_hosts></trapper_hosts>
<snmp_community></snmp_community>
<snmp_oid></snmp_oid>
<snmp_port>161</snmp_port>
<snmpv3_securityname></snmpv3_securityname>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authpassphrase></snmpv3_authpassphrase>
<snmpv3_privpassphrase></snmpv3_privpassphrase>
<valuemapid>0</valuemapid>
<applications>
<application>APACHE</application>
</applications>
</item>
<item type="0" key="apache[ReqPerSec]" value_type="0">
<description>Apache/ReqPerSec.</description>
<ipmi_sensor></ipmi_sensor>
<delay>60</delay>
<history>7</history>
<trends>365</trends>
<status>0</status>
<data_type>0</data_type>
<units></units>
<multiplier>0</multiplier>
<delta>0</delta>
<formula>0</formula>
<lastlogsize>0</lastlogsize>
<logtimefmt></logtimefmt>
<delay_flex></delay_flex>
<authtype>0</authtype>
<username></username>
<password></password>
<publickey></publickey>
<privatekey></privatekey>
<params></params>
<trapper_hosts></trapper_hosts>
<snmp_community></snmp_community>
<snmp_oid></snmp_oid>
<snmp_port>161</snmp_port>
<snmpv3_securityname></snmpv3_securityname>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authpassphrase></snmpv3_authpassphrase>
<snmpv3_privpassphrase></snmpv3_privpassphrase>
<valuemapid>0</valuemapid>
<applications>
<application>APACHE</application>
</applications>
</item>
<item type="0" key="apache[SendingReply]" value_type="0">
<description>Apache/SendingReply.</description>
<ipmi_sensor></ipmi_sensor>
<delay>60</delay>
<history>7</history>
<trends>365</trends>
<status>0</status>
<data_type>0</data_type>
<units></units>
<multiplier>0</multiplier>
<delta>0</delta>
<formula>0</formula>
<lastlogsize>0</lastlogsize>
<logtimefmt></logtimefmt>
<delay_flex></delay_flex>
<authtype>0</authtype>
<username></username>
<password></password>
<publickey></publickey>
<privatekey></privatekey>
<params></params>
<trapper_hosts></trapper_hosts>
<snmp_community></snmp_community>
<snmp_oid></snmp_oid>
<snmp_port>161</snmp_port>
<snmpv3_securityname></snmpv3_securityname>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authpassphrase></snmpv3_authpassphrase>
<snmpv3_privpassphrase></snmpv3_privpassphrase>
<valuemapid>0</valuemapid>
<applications>
<application>APACHE</application>
</applications>
</item>
<item type="0" key="apache[StartingUp]" value_type="0">
<description>Apache/StartingUp.</description>
<ipmi_sensor></ipmi_sensor>
<delay>60</delay>
<history>7</history>
<trends>365</trends>
<status>0</status>
<data_type>0</data_type>
<units></units>
<multiplier>0</multiplier>
<delta>0</delta>
<formula>0</formula>
<lastlogsize>0</lastlogsize>
<logtimefmt></logtimefmt>
<delay_flex></delay_flex>
<authtype>0</authtype>
<username></username>
<password></password>
<publickey></publickey>
<privatekey></privatekey>
<params></params>
<trapper_hosts></trapper_hosts>
<snmp_community></snmp_community>
<snmp_oid></snmp_oid>
<snmp_port>161</snmp_port>
<snmpv3_securityname></snmpv3_securityname>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authpassphrase></snmpv3_authpassphrase>
<snmpv3_privpassphrase></snmpv3_privpassphrase>
<valuemapid>0</valuemapid>
<applications>
<application>APACHE</application>
</applications>
</item>
<item type="0" key="apache[TotalAccesses]" value_type="3">
<description>Apache/TotalAccesses.</description>
<ipmi_sensor></ipmi_sensor>
<delay>60</delay>
<history>7</history>
<trends>365</trends>
<status>0</status>
<data_type>0</data_type>
<units></units>
<multiplier>0</multiplier>
<delta>0</delta>
<formula>0</formula>
<lastlogsize>0</lastlogsize>
<logtimefmt></logtimefmt>
<delay_flex></delay_flex>
<authtype>0</authtype>
<username></username>
<password></password>
<publickey></publickey>
<privatekey></privatekey>
<params></params>
<trapper_hosts></trapper_hosts>
<snmp_community></snmp_community>
<snmp_oid></snmp_oid>
<snmp_port>161</snmp_port>
<snmpv3_securityname></snmpv3_securityname>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authpassphrase></snmpv3_authpassphrase>
<snmpv3_privpassphrase></snmpv3_privpassphrase>
<valuemapid>0</valuemapid>
<applications>
<application>APACHE</application>
</applications>
</item>
<item type="0" key="apache[TotalKBytes]" value_type="0">
<description>Apache/TotalKBytes.</description>
<ipmi_sensor></ipmi_sensor>
<delay>60</delay>
<history>7</history>
<trends>365</trends>
<status>0</status>
<data_type>0</data_type>
<units></units>
<multiplier>0</multiplier>
<delta>0</delta>
<formula>0</formula>
<lastlogsize>0</lastlogsize>
<logtimefmt></logtimefmt>
<delay_flex></delay_flex>
<authtype>0</authtype>
<username></username>
<password></password>
<publickey></publickey>
<privatekey></privatekey>
<params></params>
<trapper_hosts></trapper_hosts>
<snmp_community></snmp_community>
<snmp_oid></snmp_oid>
<snmp_port>161</snmp_port>
<snmpv3_securityname></snmpv3_securityname>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authpassphrase></snmpv3_authpassphrase>
<snmpv3_privpassphrase></snmpv3_privpassphrase>
<valuemapid>0</valuemapid>
<applications>
<application>APACHE</application>
</applications>
</item>
<item type="0" key="apache[Uptime]" value_type="0">
<description>Apache/Uptime.</description>
<ipmi_sensor></ipmi_sensor>
<delay>60</delay>
<history>7</history>
<trends>365</trends>
<status>0</status>
<data_type>0</data_type>
<units></units>
<multiplier>0</multiplier>
<delta>0</delta>
<formula>0</formula>
<lastlogsize>0</lastlogsize>
<logtimefmt></logtimefmt>
<delay_flex></delay_flex>
<authtype>0</authtype>
<username></username>
<password></password>
<publickey></publickey>
<privatekey></privatekey>
<params></params>
<trapper_hosts></trapper_hosts>
<snmp_community></snmp_community>
<snmp_oid></snmp_oid>
<snmp_port>161</snmp_port>
<snmpv3_securityname></snmpv3_securityname>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authpassphrase></snmpv3_authpassphrase>
<snmpv3_privpassphrase></snmpv3_privpassphrase>
<valuemapid>0</valuemapid>
<applications>
<application>APACHE</application>
</applications>
</item>
<item type="0" key="apache[version]" value_type="0">
<description>Apache/version.</description>
<ipmi_sensor></ipmi_sensor>
<delay>60</delay>
<history>7</history>
<trends>365</trends>
<status>0</status>
<data_type>0</data_type>
<units></units>
<multiplier>0</multiplier>
<delta>0</delta>
<formula>0</formula>
<lastlogsize>0</lastlogsize>
<logtimefmt></logtimefmt>
<delay_flex></delay_flex>
<authtype>0</authtype>
<username></username>
<password></password>
<publickey></publickey>
<privatekey></privatekey>
<params></params>
<trapper_hosts></trapper_hosts>
<snmp_community></snmp_community>
<snmp_oid></snmp_oid>
<snmp_port>161</snmp_port>
<snmpv3_securityname></snmpv3_securityname>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authpassphrase></snmpv3_authpassphrase>
<snmpv3_privpassphrase></snmpv3_privpassphrase>
<valuemapid>0</valuemapid>
<applications>
<application>APACHE</application>
</applications>
</item>
<item type="0" key="apache[WaitingForConnection]" value_type="0">
<description>Apache/WaitingForConnection.</description>
<ipmi_sensor></ipmi_sensor>
<delay>60</delay>
<history>7</history>
<trends>365</trends>
<status>0</status>
<data_type>0</data_type>
<units></units>
<multiplier>0</multiplier>
<delta>0</delta>
<formula>0</formula>
<lastlogsize>0</lastlogsize>
<logtimefmt></logtimefmt>
<delay_flex></delay_flex>
<authtype>0</authtype>
<username></username>
<password></password>
<publickey></publickey>
<privatekey></privatekey>
<params></params>
<trapper_hosts></trapper_hosts>
<snmp_community></snmp_community>
<snmp_oid></snmp_oid>
<snmp_port>161</snmp_port>
<snmpv3_securityname></snmpv3_securityname>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authpassphrase></snmpv3_authpassphrase>
<snmpv3_privpassphrase></snmpv3_privpassphrase>
<valuemapid>0</valuemapid>
<applications>
<application>APACHE</application>
</applications>
</item>
</items>
<templates/>
<graphs/>
<macros/>
</host>
</hosts>
<dependencies/>
</zabbix_export>