UNPKG

icinga-hubot-script

Version:

A hubot script that takes notification messages from Icinga and post them to any IRC channel

41 lines (30 loc) 1.43 kB
hostStates = 0: "Up and running. Nothing to worry about." 1: "Host down! Host down! Host down! .. Panic" 2: 'Not reachable, I really do not have any idea where it might be gone.' serviceStates = 0: "Ok, working as expected." 1: "Warn, I guess someone should take a look at it!" 2: "Critical, we are in troubles Sir! Fix it!" 3: "Unknown, actually I don't know how it's behaving. Check for yourself." problemMessage = "Houston, we've had a problem." recoverMessage = "Problem solved. As you are!" class MessageCreator _createHostStateChangedMessage: (message, notification) -> return "#{message} '#{notification.hostname()}': #{hostStates[notification.hostState()]}" _createServiceStateChangedMessage: (message, notification) -> return "#{message} '#{notification.serviceDescription()}' on '#{notification.hostname()}': #{serviceStates[notification.serviceState()]}" messages: (notification) -> messages = [] if notification.isProblem() statusMessage = problemMessage else if notification.isRecovery() statusMessage = recoverMessage else statusMessage = 'Unknown Icinga notification type.' if notification.isHostNotification() messages.push(@_createHostStateChangedMessage(statusMessage, notification)) else messages.push(@_createServiceStateChangedMessage(statusMessage, notification)) return messages module.exports = MessageCreator