Monitor V7000 active alerts in Xymon





Continue with my previous post on installing the Xymon, you can write your own monitor scripts. I wrote a script named v7000alerts to check whether there are active alerts in my IBM StorWize V7000.

1) Download the script v7000alerts to /home/xymon/server/ext, and run ‘chmod a+x v7000alerts’ and ‘chown xymon:xymon v7000alerts’.

2) Add the following into /home/xymon/server/etc/tasks.cfg

ENVFILE /home/xymon/server/etc/xymonserver.cfg
NEEDS xymond
CMD $XYMONHOME/ext/v7000alerts

3) Add your V7000 into the /home/xymon/server/etc/hosts.cfg file, here is a example:

page storages STORAGES
group-compress <font size=”+1″>IBM StorWize V7000</font> SYD-V7000 # v7000alerts sslcert

The v7000alerts script can be downloaded from here:


Setup Xymon monitor


Xymon is an easy and nice and systems and network monitor tool. It was inspired by the Big Brother system and was called Hobbit. I have set it up in my environment (CentOS 6.5) to monitor some critical web sites and services. Here are my how-to notes:

1) Install Xymon from source code.

2) Change the fping permission.

chown root:root /usr/local/sbin/fping
chmod u+s /usr/local/sbin/fping

3) (Optional) If the Xymon is behide a proxy server, you need to add the –bb-proxy-syntax in the xymonet configuration in the file /home/xymon/server/etc/tasks.cfg.

ENVFILE /home/xymon/server/etc/xymonserver.cfg
NEEDS xymond
CMD xymonnet –report –ping –checkresponse –bb-proxy-syntax

4) (Optional) If you want to use Xymon to monitor the Domain Name validation, you need to:

– Install whois: yum install bind-utils jwhois

– Create a file /home/xymon/server/ext/dnsreg

– Add the following configurations to /home/xymon/server/etc/tasks.cfg

ENVFILE /home/xymon/server/etc/xymonserver.cfg
NEEDS xymond
CMD $XYMONHOME/ext/dnsreg

5) Add the targets in the file /home/xymon/server/etc/hosts.cfg.

The format is: <IP Address> <Hostname> # <Services>

There are so many Services you can monitor, check the help file to find out more. Here are just some simple examples:

http: monitor the web server. Add the proxy in front of the web if Xymon works behide the proxy.
noconn: ping check is enabled by default. noconn is to disable it.
sslcert: monitor the SSL certificate validation.
smtp: monitor the smtp service.
dns: monitor the dns service.
ldap: monitor the ldap service.
dnsreg: monitor the public DNS registration expiration date.

Here is the sample:

page webserver WEB

group-compress <font size=”+1″>INTERNAL</font> # #

group-compress <font size=”+1″>EXTERNAL</font>
2XX.1XX.1XX.1XX # noconn http://proxy-server:8080/
2XX.1XX.1XX.1XX # noconn sslcert http://proxy-server:8080/

page services SERVICES

subpage internal-service INTERNAL
group-compress <font size=”+1″>XYMON</font> # bbd

group-compress <font size=”+1″>SMTP</font> # smtp

group-compress <font size=”+1″>DNS LDAP</font> # DNS ldap

subpage external-service EXTERNAL

group-compress <font size=”+1″>DNS</font>
2XX.1XX.1XX.1XX # noconn DNS

page domain DOMAINS # noconn dnsreg

Setup GitHub in Linux

I should have done this earlier – to use GitHub to manage my scripts/configs/documentations. So I can have them managed and tracked. Later better than never, I got them setup Today in my Ubuntu box. Here is the how to:

1) Go to the to create an account.

2) Install git client.

jchen@mylaptop:~$ sudo apt-get install git -y

3) Configure the git user info and password caching.

jchen@mylaptop:~$ git config –global “jchen”
jchen@mylaptop:~$ git config –global “”
jchen@mylaptop:~$ git config –global credential.helper cache
jchen@mylaptop:~$ git config –global credential.helper ‘cache –timeout=3600’

4) Go to to create a repository, my first repository is bash-scripts

5) Initialize the Git local repository in ~/Google Drive/scripts/bash-scripts

jchen@mylaptop:~/Google Drive/scripts$ mkdir bash-scripts
jchen@mylaptop:~/Google Drive/scripts$ cd bash-scripts
jchen@mylaptop:~/Google Drive/scripts/bash-scripts$ git init
Initialized empty Git repository in /home/jchen/Google Drive/scripts/bash-scripts/.git/

6) Create README file in local repository, and add some descriptions.
jchen@mylaptop:~/Google Drive/scripts/bash-scripts$ touch README
jchen@mylaptop:~/Google Drive/scripts/bash-scripts$ vi README

7) Add README file to the commit list, then commit it.
jchen@mylaptop:~/Google Drive/scripts/bash-scripts$ git add README
jchen@mylaptop:~/Google Drive/scripts/bash-scripts$ git commit -m ‘general info’

8) Create a remote repository pointing to, and push my commits to it.
jchen@mylaptop:~/Google Drive/scripts/bash-scripts$ git remote add origin
jchen@mylaptop:~/Google Drive/scripts/bash-scripts$ git push origin master
Username for ‘;: jc1518
Password for ‘;:
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 252 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
* [new branch] master -> master

9) Add/Copy my first code to the local repository, and commit it, then push it to GitHub repository.
jchen@mylaptop:~/Google Drive/scripts/bash-scripts$ mkdir wallpaper-of-the-day
jchen@mylaptop:~/Google Drive/scripts/bash-scripts$ cp /usr/bin/wod wallpaper-of-the-day/
jchen@mylaptop:~/Google Drive/scripts/bash-scripts$ git add wallpaper-of-the-day/
jchen@mylaptop:~/Google Drive/scripts/bash-scripts$ git commit -m ‘wod first submit’
[master 73319e7] wod first submit
1 file changed, 27 insertions(+)
create mode 100755 wallpaper-of-the-day/wod
jchen@mylaptop:~/Google Drive/scripts/bash-scripts$ git push origin master
Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (4/4), 723 bytes | 0 bytes/s, done.
Total 4 (delta 0), reused 0 (delta 0)
6dfe1e4..73319e7 master -> master

RecordRoutingInfo: Unable to collect IPv4 routing table

One of my VMware Linux virtual machine takes a long time to boot. And there are couple warnings on the screen complaining RecordRoutingInfo: Unable to collect IPv4 routing table.


According to VMware KB2048572, this issue occurs when the Linux iputilis package causes a delay in the boot process. A warning message appears when the guestinfo plugin tool fails to parse the content from the /proc/net/route file. The guest operating system’s clock is ahead of the host on which it is running, causing the arping process to become unresponsive during boot. This results in the delayed boot times.

To work around this issue, add rtc.diffFromUTC=0 to the .vmx file of the affected virtual machine. This forces a time sync by setting the clock to UTC at power on, which enables the arping process to complete as expected leading to normal boot times.