Giter Club home page Giter Club logo

icinga-slack-bot's People

Contributors

bb-ricardo avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

icinga-slack-bot's Issues

parse filters with quotes differently to allow for explicit names

Allow to use filters like "reset" to allow Icinga to search for hosts or services called reset instead of triggering the bot action to reset an action command. This would also add the possibility to search for services like "HTTPS Cert" which would not return service https on host cert.

Add Grafana support to display performance data

Following steps need to be added/documented

  • add config options
    • grafan url
    • grafana api key
    • grafana image_size
    • grafana timeperiod
  • read icinga host/service vars (or add config option to define)
    • vars.grafana_dashboard
    • vars.grafana_panelid

Add action button to detailed view and deliver image as attachment

ignore @ mentions which are not meant for the bot itself

from #43

We have the bot in a shared channel with all lot of people who probably muted this channel, and sometimes you want to @ a person and you will get the response I didn't understand the command I would love a ignore character if a line starts with @ or # the line is not ment for the bot this would save some responses of the bot during a short convo about the problem like # I have acked the problem working on it or @here, working on it

Add ticket system support

Hi,

I was playing with this bot and wonderd if it was possible to add a 'ticket' command in the ack style. or as a extra question to the ack command do you want a ticket?

It would be great to call a python script with a name like send_ticket.py with arguments: host service state

the first argument would be the subject
the second and third arguments would be the description like:
f"Service: {var1} State: {var2}"

With that we can send it towards Fresh service. We don't want Icinga to do this as it would just be creating too many tickets.

Help would be appreciated. Or if it could become a feature out of the box would just be superb!
I can imagine adding every ticket sollotion in the world would be too much to ask but this way users could implement it really easy themselfs in the send_ticket.py and setting a ini value to enable this feature

Add a icinga status (is) command

Get a quick idea about the status of the Icinga instance your Slack bot is connected to.

Similar to the bot startup message but with more details.

Add limit of max returned results

With big Instances it could be a problem if the result list gets too long.

A config option should be added to limit the amount of returned/requested results.

Add comments and downtime details to object details view

Add comment and downtime information to detailed object view.

This might clutter the view with to much information. Needs to be tested if this helps or not.

Otherwise there needs to be another command to view comments and downtime’s which is also not very helpful.

Reschedule host or service

Command suggestions
• reschedule host check (rhc)
• reschedule service check (rsc)

Add force option at the end

Split code into modules

Split code into modules to have a cleaner approach

  • take care of Docker installation to include modules

Add a Docker file

Add a docker file and document the building steps in the README.md

Behind Corporate proxy

Had problems connecting to Slack API.
Did the following changes:

Icinga-bot.ini:
Added entry for proxy under [slack]
proxy_url = <PROXY SERVER>:<PORT>

i2_slack_modules/common.py:
Added parser under 'read common section'
config_dict["slack.proxy_url"] = config_handler.get(this_section, "proxy_url", fallback="")

Icinga-bot.py:
Added proxy to connection methods:
client = slack.WebClient(token=config["slack.bot_token"], ssl=slack_ssl_context, proxy=config["slack.proxy_url"], run_async=True)
and
rtm_client = slack.RTMClient( token=config["slack.bot_token"], ssl=slack_ssl_context, run_async=True, loop=loop, proxy="http://" + config["slack.proxy_url"] )

The last will probably fail splendidly if no proxy is defined :) But since the rim_client demanded 'http://' ...

Probably better ways to do this, but it works.

Thanks for making this bot!
R.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.