Posted by Buzz in python
Again this is a late blog post about some code committed several months ago, in this case the code was committed 09/06/2009
It is a very short python script to force a subversion commit message to be greater than 10 characters in length
Installation:
svn export http://svn.saiweb.co.uk/branches/python/svn_force_message.py /path/to/your/svn/hooks/pre-commit
chmod +x /path/to/your/svn/hooks/pre-commit
Note installation this way will replace your current pre-commit hooks file.
Tags:
commit,
force,
Subversion
No Comments »
Pre-req reading:
Nagios customization: Alerting via SMS, or anything you like!
Making the bird tweet using python
or
Update twitter in a single line
This entry will cover how to send nagios alerts to twitter, in the examples to follow curl will be used however you can choose to use the python example (link above) in place of this.
Firstly edit /usr/local/nagios/etc/objects/commands.cfg
And add the two following commands.
UPDATE 24/03/2011 Twitter no longer supports basic auth, use my oAuth updater here
1 2 3 4 5 6 7 8 9
| define command {
command_name notify-by-twitter
command_line /usr/bin/curl --basic --user "twitteruser:twitterpassword" --data-ascii "status=[Nagios] $NOTIFICATIONTYPE$ $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$" http://twitter.com/statuses/update.json
}
define command {
command_name host-notify-by-twitter
command_line /usr/bin/curl --basic --user "twitteruser:twitterpassword" --data-ascii "status=[Nagios] $HOSTSTATE$ alert for $HOSTNAME$" http://twitter.com/statuses/update.json
} |
Now define a contact for this twitter service
/usr/local/nagios/etc/objects/contacts.cfg
1 2 3 4 5 6 7 8 9
| define contact{
contact_name twitter
service_notification_commands notify-by-twitter
host_notification_commands host-notify-by-twitter
service_notification_period 24x7
host_notification_period 24x7
service_notification_options a
host_notification_options a
} |
Choose your own notification options, for my feed I only choose alerts, I also have this send updated to a ‘private feed’ which I then follow.
Add this contact into your existing contact groups, i.e.
1 2 3 4 5
| define contactgroup{
contactgroup_name admins
alias Nagios Administrators
members nagiosadmin,sms_alert,twitter
} |
Then run a nagios-verify to ensure you have no syntax errors, and restart nagios.
Trigger an alert by manually switching a monitored service off or entering a manual result to test.
Tags:
alert,
Nagios,
sms,
text,
twitter
4 Comments »
Some two months after the fact, I thought it may well be time to post a blog on this little code snippet.
As some of you have noticed every commit message to my subversion repository is infact updating my twitter.
This code was uploaded to subversion on 10/06/2009, so sorry for the late write up!
Requirements
Python 2.5 or higher
Subversion server
Installation
- svn co http://svn.saiweb.co.uk/branches/python/svn_tweeter.py /usr/bin/svn_tweeter
- chmod +x /usr/bin/svn_tweeter
- cd /path/to/svn/hooks
- Edit post-commit with your favorite text editor
1
| /usr/bin/python /usr/bin/svn_tweeter -u twitterusername -p twitterpassword -r $REV -s $REPOS |
Now try a commit, and check your syslog for entries from the script.
Aug 24 11:36:26 132 python: SVN_TWEETER: http://twitter.com/statuses/update.json query complete
UPDATE 24/03/2011 Twitter has removed basic authentication, you must use oauth (admittedly it has been like this for a fair while now) use this nagios_bot instead
Tags:
hooks,
post-commit,
Subversion,
svn,
twitter
No Comments »