In this article we introduced a ping monitoring perl script. We talked about the main routine in this article. Now, let’s go over the printtime() and ckserv() functions. The printtime function simply writes a timestamp to mon.txt: sub printtime{ open (PM,”>> mon.txt”); ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time); $mon++; $year=$year+1900; print PM “\n”.$mon.”/”.$mday.”/”.$year.”-“.$hour.”:”.$min.”\n”; close PM; } The >> in the […]
Ping Monitoring Over a WAN – Check/Log Routines
Ping Monitoring Over a WAN – Adding Perl Mods
A couple of modules that we use in our ping monitoring script are Mail::Sendmail and Net::Ping::External. To install these, use the CPAN shell to search for the available Sendmail mods: root@srv-1 root # perl -MCPAN -e shell Warning [/etc/inputrc line 28]: Re-binding char #27 from [F_ViEndInsert] to meta for [91 49 126] => BeginningOfLine. cpan […]
Ping Monitoring Over a WAN – pf and rf routines
Pf and rf are the two final subroutines we need to discuss for our Ping Monitoring Over a WAN perl script. Both modules use the Net::Ping::External module, which we chose because it works on Windows and GNU/Linux (and because of this, probably works on most every platform that perl runs on). Here is the pf […]
Make Windows Talk to Syslog
One of our networks has just a few production Windows servers on it, and a whole bunch of Linux boxes. Being a Unix sysadmin by trade and inclination, this situation is mostly dreamy except for one thing: auditing the event logs on the Windows servers. We can’t just put our head in the sand and […]
Graphical Ps With Xps
Xps shows *nix processes as a tree. The status is indicated by color. Compile and run: u-1@srv-1 xps $ ls xps-4.2.tar.gz u-1@srv-1 xps $ tar -xzf *.gz u-1@srv-1 xps $ cd xps* u-1@srv-1 xps-4.2 $ u-1@srv-1 xps-4.2 $ ./configure checking for a BSD-compatible install… /bin/install -c checking whether build environment is sane… yes checking for […]
Using Ps-watcher to Monitor Processes
Ps-watcher can run ps periodically and match patterns based on the output of ps. You can check for memory usage, number of processes, etc. Let’s grab the program and try to compile: [root@test psw]# ls ps-watcher-1.0.tar.gz [root@test psw]# tar -xzf *.gz [root@test psw]# cd ps* [root@test ps-watcher-1.0]# ls aclocal.m4 configure install-sh mkinstalldirs README touch.pl AUTHORS […]
Disabling Performance Counters on Windows
One extremely annoying thing to get alerted about in the Windows application logs are the Perflib errors: The Open Procedure for service “pcAnywhere” in DLL “C:\Program Files\ Symantec\pcAnywhere\PcaPerfCtrs.dll” failed. Performance data for this service will not be available. Status code returned is data DWORD 0. or: The Open Procedure for service “ISAPISearch” in DLL “QPerf.dll” […]
A Simple Perl Load Monitoring Script
I wondered how to monitor load on my GNU/Linux boxen. Sure, there are a lot of canned apps out there. But what if I wanted to use Perl? (IUD SIS, you must use Perl, cuz Perl’s the best… Readin’ from my Camel book like you wanted me… script the pain away…) Anyhoo… I wanna use […]
Monitoring Windows CPU Performance With Perl
The Win32::PerfLib module is a glorious way to extract performance data from Windows boxen. Check out this site for more information. We used perl 5.6.1. Here is a script that shows how to use this module: use Win32::PerfLib; $processor = 238; $proctime = 6; while (6 ne 9){ if(my $perflib = new Win32::PerfLib(‘srv-48’)){ $proc_ref0 = […]
Troubleshooting Slowness/Lockups Over a WAN or VPN
One problem with network monitoring is that latency and router performance do not tell the whole story. What you really want to know is if you can transfer data at the application level across the WAN/VPN. This is particularly useful if you are skimping on your connection to your remote offices by using DSL or […]
AreWeDown TCP Latency Tester
There is a service we wrote available at AreWeDown.com that will measure the network health of TCP connections. It does this by issuing two insert commands via a MySQL ODBC connection from a system service at 30 second intervals. The idea is that this can be loaded on XP workstations at client sites on the […]
Monitoring Java VM Performance With JConsole
J2SE 5.0 includes monitoring. For more details on management of Java-based systems, see this article. The JDK 5.0 includes a tool called JConsole that will provide performance information. In this article we will use JConsole to monitor a Geronimo server. The first step is to call the jar file for the app you want to […]
Installing SNMP via RPMs on CentOS 4
SNMP is the primary protocol for monitoring networking equipment; however, due to security and performance considerations, it was often a bad choice for servers. SNMP v 3 now has security improvements that make this a possibility for servers. For more on this, see RFC 3414. We have used Big Brother and Big Sister in the […]
Setting up SNMPv3 Users
[Note: for a Windows version of these instructions, see this article] SNMP version 3 has the capability of using authentication. It can be configured so that you need a user name and password before you can request information from a particular agent. For binary folks, make sure you have the net-snmp-devel package. We used yum […]
Installing SNMP on Windows Server 2003 Using Net-SNMP
Net-SNMP is an open source SNMP project that is released under a BSD license. Installing SNMP will allow you to further Monitor your Servers or Network devices via a Centralized software or management console as well as monitoring bandwidth usage and utilization. To install on Windows Server, grab the .exe from here. Simply run the […]
Configuring SNMPv3 Security On Windows Server 2003
In this article we set up SNMP using the Net-SNMP package. We showed how to set up user security for GNU/Linux on our Centos 4 box in this article. The procedure is a little different for Windows, because the net-snmp-config command is not available. The userid and passphrase need to be in the snmpd.conf file: […]
Live Graph of Apache Processes – Part 1 – Introduction
There are 3 parts to this article: Part 1 – Part 2 – Part 3 One benchmark that we are interested in while monitoring Apache on GNU/Linux is the number of httpd processes running. Here is an example graph of the number of httpd processes running that is created by the scripts in this article: […]
Live Graph of Apache Processes – Part 2 – Displaying Scale
There are 3 parts to this article: Part 1 – Part 2 – Part 3 In the introduction to this series we showed a graph of Apache processes (httpd). This article will show how to create the scale of the graph and the initial fig file entries. See Xfig.org for more details on the graphing […]
Live Graph of Apache Processes – Part 3 – Counting and Displaying
There are 3 parts to this article: Part 1 – Part 2 – Part 3 In this article we introduced this graph and showed how it looks live, and in this article we created the scale. Finally, we will get to the part that creates the blue bars that comprise the graph. Here is the […]
Monitoring Systems With Zabbix – Initial Configuration – Part 1
Part 1 | Part 2 | Part 3 | Part 4 | Part 5 | Part 6 Zabbix is an open source (GPL) monitoring system with a database back end. The system can be configured via a web browser. We used CentOS 4 for this install. Do set this up in a lab, first. Read […]