The UNIX and Linux Forums  
Hello and Welcome from United States to the UNIX and Linux Forums! Thank You for Visiting and Joining Our Global Community.

Go Back   The UNIX and Linux Forums > Special Forums > Web Programming, Web 2.0 and Mashups
.
google unix.com



Web Programming, Web 2.0 and Mashups Discuss Web Programming and Web Server Administration, including LAMP, Apache, MySQL, Flash, HTML, SEO, Mashups and other Web APIs and topics.

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
Perl Scripting for monitoring logs solitare123 UNIX for Dummies Questions & Answers 1 06-25-2008 06:49 AM
Log Monitoring through Perl solitare123 Shell Programming and Scripting 0 06-25-2008 06:42 AM
pERL SCRIPT FOR MONITORING DATE/TIME STAMPS FOR START AND STOP OF APPLICAION IN A LOG FREDDIE091970 Shell Programming and Scripting 4 03-31-2008 09:59 PM

Reply
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish
 
LinkBack Thread Tools Search this Thread Rate Thread Display Modes
  #1 (permalink)  
Old 03-09-2009
Neo's Avatar
Neo Neo is offline Forum Staff  
Administrator
  
 

Join Date: Sep 2000
Location: Asia Pacific
Posts: 6,522
Zabbix Template and PERL Script for Monitoring Apache2

Hello,

Kindly find attached a copy of the Zabbix template and PERL script we are using to monitor our Apache2 server.

Here are the entries for zabbix_agentd.conf

Code:
UserParameter=apache2.total_accesses,/etc/zabbix/zabbix_apache2.pl|cut -f1 -d":"
UserParameter=apache2.total_kbytes,/etc/zabbix/zabbix_apache2.pl|cut -f2 -d":"
UserParameter=apache2.cpuload,/etc/zabbix/zabbix_apache2.pl|cut -f3 -d":"
UserParameter=apache2.uptime,/etc/zabbix/zabbix_apache2.pl|cut -f4 -d":"
UserParameter=apache2.reqpersec,/etc/zabbix/zabbix_apache2.pl|cut -f5 -d":"
UserParameter=apache2.bytespersec,/etc/zabbix/zabbix_apache2.pl|cut -f6 -d":"
UserParameter=apache2.bytesperreq,/etc/zabbix/zabbix_apache2.pl|cut -f7 -d":"
UserParameter=apache2.busyworkers,/etc/zabbix/zabbix_apache2.pl|cut -f8 -d":"
UserParameter=apache2.idleworkers,/etc/zabbix/zabbix_apache2.pl|cut -f9 -d":"
UserParameter=apache2.totalworkers,/etc/zabbix/zabbix_apache2.pl|cut -f10 -d":"
zabbix_apache2.pl and the template Template_Apache2_Server (zabbix_apache2.xml) are attached.

If you need additional installation instructions or want to report bugs or fixs, feel free to ask or post.
Attached Files
File Type: xml zabbix_apache2.xml (6.3 KB, 176 views)
File Type: pl zabbix_apache2.pl (1.4 KB, 243 views)
  #2 (permalink)  
Old 03-10-2009
Neo's Avatar
Neo Neo is offline Forum Staff  
Administrator
  
 

Join Date: Sep 2000
Location: Asia Pacific
Posts: 6,522
Version 2: Zabbix Template and PERL Script for Monitoring Apache2

Based on a recommendation at the Zabbix forums, we updated this Zabbix template and PERL script we are using to monitor our Apache2 server.

Here are the entries for zabbix_agentd.conf

Code:
UserParameter=apache2.total_accesses,cut -f1 -d":" /tmp/apache_data.txt
UserParameter=apache2.total_kbytes,cut -f2 -d":" /tmp/apache_data.txt
UserParameter=apache2.cpuload,cut -f3 -d":" /tmp/apache_data.txt
UserParameter=apache2.uptime,cut -f4 -d":" /tmp/apache_data.txt
UserParameter=apache2.reqpersec,cut -f5 -d":" /tmp/apache_data.txt
UserParameter=apache2.bytespersec,cut -f6 -d":" /tmp/apache_data.txt
UserParameter=apache2.bytesperreq,cut -f7 -d":" /tmp/apache_data.txt
UserParameter=apache2.busyworkers,cut -f8 -d":" /tmp/apache_data.txt
UserParameter=apache2.idleworkers,cut -f9 -d":" /tmp/apache_data.txt
UserParameter=apache2.totalworkers,cut -f10 -d":" /tmp/apache_data.txt
Basically, we have moved the PERL script to a crontab running every minute and we then write the results to a /tmp file. Then the Zabbix agent reads the data from the file instead of calling the PERL script 10 times. This is more efficient.

Also, we change the template to update every 60 seconds instead of 30 seconds to match the crontab entry.

Files attached. If you have any questions, please post here.
Attached Files
File Type: pl zabbix_apache2.cron.pl (1.5 KB, 228 views)
File Type: xml zabbix_apache2_v2.xml (6.3 KB, 178 views)
  #3 (permalink)  
Old 03-19-2009
Neo's Avatar
Neo Neo is offline Forum Staff  
Administrator
  
 

Join Date: Sep 2000
Location: Asia Pacific
Posts: 6,522
Version 3: Zabbix Scripts for Monitoring Apache2 (+ vBulletin)

We updated this Zabbix template and scripts we are using to monitor our Apache2 server. In this version, we add monitoring for web crawlers (spiders), Treason uncloaked! (TCP bug) and for vBulletin online users stats:

Here are the addition entries for zabbix_agentd.conf

Code:
UserParameter=spider.googlebot,cut -f1 -d":" /tmp/zabbix_spiders.dat
UserParameter=spider.slurp,cut -f2 -d":" /tmp/zabbix_spiders.dat
UserParameter=spider.others,cut -f3 -d":" /tmp/zabbix_spiders.dat
UserParameter=vbulletin.totalonline,cut -f1 -d":" /tmp/zabbix_vbulletin.txt
UserParameter=vbulletin.membersonline,cut -f2 -d":" /tmp/zabbix_vbulletin.txt
UserParameter=vbulletin.guestsonline,cut -f3 -d":" /tmp/zabbix_vbulletin.txt
UserParameter=security.treason,cut -f1 -d":" /tmp/zabbix_security.dat
Here are the scripts (we run them in cron):

This simple one is for detecting spiders with a two minute delay, to give time for the log file to catch up. However, during heavy load times, more delay might be needed:

Code:
#!/bin/bash
#spiders.sh
TIME=`date +%d/%b/%Y:%H:%M`
LOG="/website/logs/apache2/access.log"
sleep 120
GBOT=`grep "$TIME" "$LOG"| grep Googlebot |wc -l`
SLURP=`grep "$TIME" "$LOG"|grep "Yahoo! Slurp" |wc -l`
OTHER=`grep "$TIME" "$LOG"|grep -i bot| grep -v "Yahoo! Slurp"|grep -v Googlebot |grep -v Firefox|wc -l`
echo $GBOT:$SLURP:$OTHER > /tmp/zabbix_spiders.dat
This simple one is for detecting the Treason Uncloaked! TCP Bug:

Code:
#!/bin/bash
#security.sh
TIME=`date +%d/%b/%Y:%k:%M`
LOG="/var/log/kern.log"
sleep 60
TREASON=`grep "$TIME" "$LOG"| grep -i "Treason Uncloaked" |wc -l`
echo $TREASON: > /tmp/zabbix_security.dat
This simple php code is for writing vBulletin online user information to a temp file for Zabbix:

Code:
$ourFileName = "/tmp/zabbix_vbulletin.txt";
$zabbixfile = fopen($ourFileName, 'w+');
vfprintf($zabbixfile,"%s:%s:%s\n",array($totalonline,$numberregistered,$numberguest));
fclose($zabbixfile);
We call this from a modified index.php file from cron instead of directly from the vB production code to minimize the load.
Sponsored Links
Reply

Bookmarks

Tags
apache2, zabbix

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT -4. The time now is 06:27 PM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited. Language translation by Google.
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios
The UNIX and Linux Forums Content Copyright ©1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant URLs by vBSEO 3.2.0