Introduction
This is a project suggested by Marco Zennaro of ICTP Trieste to build a PingER monitoring host based on an inexpensive embedded Linux platform. If successful one could consider using these in production reducing the costs, power drain (they draw about 5W of 120V DC power compared to typically over 100W for a deskside computer or 20W for a laptop) and space (6x6") assisting monitoring sites to be able to procure and support such monitoring hosts. This could be very valuable for sites in developing countries where cost, power utilization and to a lesser extent space may be crucial. The ICTP Science Dissemination Unit (SDU) decided to donate two such embedded hosts to Zambia and worked with Les Cottrell of SLAC to set up the machines with PingER.
Embedded Linux Processor
The initial two machines were alix2d2 models purchased from PCEngines located in Switzerland. The cost is about $110/machine. The machines purchased each have 256MB RAM, on a 500MHZ AMD Geode CPU, with 128KB L2 cache, and a 4GB Flash memory. They have 2 USB and 2 Ethernet interfaces. There is a picture here of one of the machines, and there is more information at the PCEngines site.
Operating System
The installed system is called Voyage Linux a Debian Linux variant. The machines had perl and Apache installed. We accessed it through ssh. We also had to install: make, dig, mail, and XML::Simple. In /etc/ssh/sshd_config we also commented the line where it sets a local environment variable from the client environment variable.
Installation of PingER2
Following the instructions in PingER End-to-end Reporting version 2, we logged in via ssh from SLAC to the machines located at ICTP and installed PingER2 under the /root/pinger-2.0.2 directory. There is an example of the installation here.
Crontab is different on Voyage Linux.
- Rather than using crontab -e one simply edits and saves the /etc/crontab file after having done a remountrw.
- Also note that there is an extra field for the username.
There is an example of a Voyage crontab.
After installing the PingER2 monitoring code, we installed the ping_data gathering agent, and the traceroute server following the instructions.
We temporarily entered the machines as monitors in the PingER meta data base of hosts and successfully gathered the data using the standard overnight cronjob.
Deployment
After installing and testing we plan to place the first ePingER host at the University of Zambia in Lusaka, Zambia following the SCINDA/IHY meeting in Livingstone, Zambia June 2009. We requested an IP address and the name pinger.unza.zm. We also clarified how to get customs clearance and requested a formal donation letter from ICTP.
ePingER Management
Some information on this can be found in ePingER Management. We have not determined how or if to apply patches automatically.
We added a cronjob (pinger_trimmer.pl) to run on the 28th of each month to trim the data files (in /usr/local/share/pinger/ping-yyyy-mm.txt) to remove all but the last 2 months of data. This prevents the datafiles from growing indefinitely. This script can be downloaded.
Experiences
Marco any concerns about flash memory and repeated accesses, lifetime etc.?
The first ePingER machines were carried to Zambia by Sandro Radicella of ICTP, and in a brief ceremony on Tuesday June 9th at the SCINDA/IHY meeting, they were handed over by Sandro and Les to Habatwa Mwenge of the University of Zambia in Lusaka.
L to R Les Cottrell, Sandro Radicella, Habatwa Mwenge |
---|
Two days later Les and Habatwe found time to sit down and Les successfully demonstrated how to logon from his laptop and configure the embedded host.
On Monday 27th July, 2009, we heard from the Director of the Computer Centre at UNMA that the host had been set up and provided a globally visible IP address. It's name was not registered in the Domain Name Services (DNS). We validated that measurements were being made and recorded, that we could gather data, and that the traceroute/ping server was working. As a result we added an entry in the PinGER meta (NODEDETAILS) data base.
On August 2, 2009 since the host had not been entered into the DNS, we set up the host to not require a DNS entry. To make sure data was properly labelled we changed the SRCName container in the pinger.xml file to read <SrcName>pinger.unza.zm</SrcName>
On August 22nd we added remote hosts for Zambia's neighboring countries to the HostList container in pinger.xml.
On Sunday 23 August, we changed pinger.xml so it only sends 100Byte pings. This should reduce bandwidth utilization by a factor of 10. We also made mail.unza.zm into a Beacon node. We could not make pinger.unza.zm (AKA 193.194.69.34) into a Beaon node since it has no DNS and has a node of pinger.unzm.za in NODEDETAILS.