One particularly useful tool for systems administration is top. One thing you may not be aware of, is that you can output the information top provides to a file. You may also not know that you can run commands like this remotely via ssh. Here is a short script that demonstrates this: #!/bin/sh /usr/bin/ssh user@domain.com […]
Grabbing Top Stats Remotely
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 […]
Using Composite To Create Status Wallpaper
We have written several articles on pulling stats from various locations and integrating them. Well, Agatha has been busy, and finally got her desktop integrated. Here is a snapshot of Agatha’s desktop using these techniques: Click for a larger image The trick to creating this desktop is to use gozer to create images from the […]
Creating Log Archives on Windows 2000
We have a process that creates a log file, and we want to archive the log files every day. The easiest way to rotate these logs is to create a batch file that copies the log file to a filename that includes the date of the file as the file name. Now, we can’t really […]
Monitoring a Bunch of Servers in Windows Performance Monitor
We recently had to monitor a farm of Windows servers with Performance Monitor. True, we could add one counter at a time from the various servers… point, click, wait, pulldown, click, ok, click…. aaarghhh. Burning hot pokers in the brain working on these boxes. Now, it turns out that you can edit the log settings […]
Ping Monitoring Over a WAN – Introduction
One problem with monitoring servers over a WAN is that the WAN is often down during the night. Now, if the WAN is down hard, that is a separate issue. But, just because a host does not respond to a ping does not mean the WAN is really down, or that the server is down. […]
Ping Monitoring Over a WAN – Main Routine
We introduced a ping monitoring program in this article. In this article, we will start documenting our script by going over the main routine: use Time::Local; use Mail::Sendmail; use Net::Ping::External qw(ping); $pmwrap=0; while (6 ne 9){ # Loop forever… I don’t mind. system(“cp new.dnsf dnsfc”); # Each pass through the servers, copy dnsf again to […]
Ping Monitoring Over a WAN – Check/Log Routines
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 […]
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 […]
Forwarding Rsyslog Logs to Central Server
If you would like to forward your logs to a central syslog server, add something like this to the bottom of rsyslog.conf: $WorkDirectory /var/spool/rsyslog # where to place spool files $ActionQueueFileName fwdRuleall # unique name prefix for spool files $ActionQueueMaxDiskSpace 1g # 1gb space limit (use as much as possible) $ActionQueueSaveOnShutdown on # save messages […]
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 […]
Syslog Client for Windows
The Rsyslog Windows Agent from Adiscon provides a comprehensive and scalable syslog client that runs on all Microsoft Windows operating systems from 2000 on up to 2012, even Windows 8. Installation is a typical next, next, next: The configuration options are many, and you can use TCP: Notice that you can queue at the client […]
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 […]
LMHOSTS Generator
In the Name Resolution section, we wrote about a technique for forcing the NBT cache to contain entries for critical servers on a network. Even if the WINS server is down or the entries are corrupt, the cached entries will allow name resolution. An LMHOSTS file is needed that contains all of the server names, […]
Monitoring Systems With Zabbix – Initial Configuration – Part 2
Part 1 | Part 2 | Part 3 | Part 4 | Part 5 | Part 6 We are going to configure this as a server, without SNMP support, and with MySQL as a database: [root@srv-1 data]# cd .. [root@srv-1 create]# cd .. [root@srv-1 zabbix-1.1beta8]# ./configure –enable-server –with-mysql checking for a BSD-compatible install… /usr/bin/install -c […]
Monitoring Systems With Zabbix – Initial Configuration – Part 3
Part 1 | Part 2 | Part 3 | Part 4 | Part 5 | Part 6 Start the server: [root@srv-1 zabbix-1.1beta8]# cd /usr/local/bin [root@srv-1 bin]# ./zabbix_server [root@srv-1 bin]# cat /tmp/zabbix_server.log 027362:20060418:104022 Starting zabbix_server. ZABBIX 1.1beta8. 027364:20060418:104022 server #1 started [Alerter] 027366:20060418:104022 server #2 started [Timer] 027368:20060418:104022 server #3 started [ICMP pinger] 027373:20060418:104022 server #4 […]
Monitoring Systems With Zabbix – Initial Configuration – Part 4
Part 1 | Part 2 | Part 3 | Part 4 | Part 5 | Part 6 Run make [root@srv-1 zabbix-1.1beta8]# make Making all in src make[1]: Entering directory `/usr/local/src/zabbix-1.1beta8/src’ Making all in libs make[2]: Entering directory `/usr/local/src/zabbix-1.1beta8/src/libs’ Making all in zbxcommon . . . gcc -g -O2 -o zabbix_sender zabbix_sender.o ../libs/zbxcommon/libzbxcommon.a -lresolv -lnsl make[3]: […]
Monitoring Systems With Zabbix – Initial Configuration – Part 5
Part 1 | Part 2 | Part 3 | Part 4 | Part 5 | Part 6 The agent files also end up in /usr/local/bin by default: [root@srv-1 zabbix-1.1beta8]# cd /usr/local/bin/ [root@srv-1 bin]# ls zab* zabbix_agent zabbix_agentd zabbix_get zabbix_sender zabbix_server [root@srv-1 bin]# ls -l zab* -rwxr-xr-x 1 root root 179347 Apr 18 10:56 zabbix_agent -rwxr-xr-x […]
Monitoring Systems With Zabbix – Initial Configuration – Part 6
Part 1 | Part 2 | Part 3 | Part 4 | Part 5 | Part 6 When first logging on to Zabbix, the login name is admin, and the password is blank: Change the admin password as soon as you can: Use configuration/hosts to add a host. Make sure you link with the correct […]
Monitoring HTTP Connections
Here is a perl script that determines the number of HTTP connections on a server, and displays the rusults on one of the seven segment displays on the NetAdminWorld console: open (HC, “ssh -p <port> root\@example.com ‘netstat | grep http | wc -l ‘|”); while (<HC>){ $count=$_/6 } use IO::Socket; my $sock = new IO::Socket::INET […]

