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 […]
Creating Log Archives on Windows 2000
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 […]
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 […]
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 […]
Monitoring and Automatic Recovery of Services with Monit
Monit is a small, easy to configure monitoring system for *nix systems that will attempt to restart services that have failed. Grab the tarball, extract, configure, make, and make install: [usr-1@srv-1 ~]$ tar -xzf mon*4.7*.gz [usr-1@srv-1 ~]$ cd mon*7 [usr-1@srv-1 monit-4.7]$ ./configure checking for gcc… gcc checking for C compiler default output file name… a.out […]
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 […]
Logging Performance Monitor Counters to SQL Server – Part 1
There are 4 parts to this article: Part 1 – Part 2 – Part 3 – Part 4 On Windows Server 2003, Perfmon counters can be logged directly to a SQL database. Let’s do that. Create a database on your SQL Server. We called the database pmon: We’ll create a device for the database with […]
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 […]
Logging Performance Monitor Counters to SQL Server – Part 2
There are 4 parts to this article: Part 1 – Part 2 – Part 3 – Part 4 Use Windows NT authentication: Do not dynamically determine the port. Uncheck and make sure port 1433 is used: Change the default database to pmon: The rest of the defaults are OK: Click finish, and the summary screen […]
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 […]
