Home

Awesome

npm version

hubot-influxdb-alerts

Create and manage alerts in your chatroom using hubot and influxdb Runs pre-set influxdb queries periodically. If any queries return a result each row generates a seperate alert into chat.

##Configuration

The following options can be set as environment variables:

#Required
HUBOT_INFLUXALERTS_AUTO_ALERT_ROOM #the chat room to post alerts to

#Optional
HUBOT_INFLUXALERTS_HOURS_BEFORE_REPOST #Hours between posting an unclaimed alert. Default: 3
HUBOT_INFLUX_ALERTS_HOURS_BEFORE_ACK_REPOST #Hours between posting a claimed alert: Default 12 
HUBOT_INFLUX_ALERT_CHECK_INTERVAL #Time in ms between running the queries 60000

The rest of the config is handled in a json file in config/hubot-influx-config.json in the project directory

Authenticate with influxdb

   {
      "connection": {
      "username": "foo-user",
      "password": "bar-password",
      "host": "localhost",
      "port": "8086"
      },
      "default_database": "my-database", #if database is not specified in query config use this

Register queries

      "queries": {
        "my-database": {

This query will only run when a user calls influx run test-no-alert. It will not generate any alerts

          "test-no-alert": {
            "query": "SOMEINFLUXDBQUERY"
          },

This query is run as part of the alert suite. For each row "template" is written to chat with the template variables filled in using the columns in "columns".

          "test-alert": {
            "query": "select firstname,lastname from foo",
            "alert": true,
            "alert_msg": {
              "template": "Danger, {0} {1} everything is broken",
              "columns": ["firstname", "lastname"]
            }
          }
        }
      }
    }

##Commands

influx alerts {off|on}  #Manually toggle alerts on or off
influx show 		#Show Available Queries
influx run QUERY_NAME	#Run a query
influx alerts check	#Run all the alert queries
influx claim ID		#Claim an alert

##Author

Alexander Welch <amwelch3 (at) gmail.com>

##License

MIT