Sent "server down" information to Slack channel

Run a script hourly as a cronjob that checks if your servers are up and running, if not, sent message to a certain Slack channel.

PYTHON · CODING · SLACK · LINUX

The other day we had a power-cut. I was forewarned, so I was able to shut down my server in time. Before I did so, I was sending messages to my team via Slack, so that they could finish up their work before the server went down. This got me thinking. I thought it would be neat to have a message automatically appearing in a Slack channel if some server of interest could not be reached anymore, so that one can investigate.

Slack allows the integration of “apps”. One particular intersting app is called “incoming webhook”. This allows to sent messages to a channel via a URL POST request. Great.

I wrote a quick and dirty Python script that checks the health of a list of hosts via a “ping” (yes, not very sophisticated). Should a ping fail, the script will sent a message to the specified Slack channel:

I save the above in a file, and make the file executable. Finally, I set up a cronjob that runs the script every hour. Edit you cronfile with crontab -e and add the following line at the bottom:

Save the file. Done!

Obviously Slack’s “incoming webhook” can be used for a range of other things. Pretty neat.


Publications // latest

DES-ncRNA: A knowledgebase for exploring information about human micro and long noncoding RNAs based on literature-mining. RNA Biology, 2017, 10.1080/15476286.2017.1312243.

An atlas of human long non-coding RNAs with accurate 5' ends. Nature, 2017, 543:199–204.

TcoF-DB v2: update of the database of human and mouse transcription co-factors and transcription factor interactions. Nucleic Acids Research, 2017, 45(D1): D145-D150, doi: 10.1093/nar/gkw1007

Workshops // upcoming

[ Nov 2017 ] Software Carpentry Workshop, Massey University Auckland

Tweets // latest