Alert Management and Automation

What is CitoEngine?

Configuring monitoring systems to alert properly is an art. It's a fine art of configuring thresholds when your monitoring parameters vary widely or when the monitoring tools lack capability to monitor dynamic workloads. It also takes discipline in working with monitoring systems during release process or outages. Not all monitoring systems are configured or maintained properly. In the end you have alerts and lots of it!

CitoEngine allows you to manage large volume of alerts and trigger actions. These actions could notify or act on the alert by executing a script (a plugin). It is ideal alert management service for teams who have multiple monitoring systems.

What can it do?

  • Accept alerts from monitoring systems such as Nagios, Sensu, Cron-jobs, etc. and aggregate alerts.
  • Lookup such alerts (called Incidents) to user-defined Event ID's and enable any action based on rules that meet a user-defined criteria
  • Plugins enable actions on Incidents. Plugins can be any script that run commands or make API calls.
  • Dashboards to give you an overview of all incoming alerts or grouped by Teams


Source code is available at http://github.com/CitoEngine and is licensed under Apache 2.0.


The current code is beta quality. We need more testing to make it production ready. We will be adding minor features as well. As more reports of testing is available, we will tag the release production ready.

Authors and Contributors

CitoEngine is created and maintained by Cyrus Dasadia (@ExtremeUnix). He is reachable at cyrus at citoengine dot org


Check out the documentation at http://citoengine.readthedocs.org. Pull requests to improve the documentation are welcome!

Reporting Bugs and Support

CitoEngine is open source. If you find bugs, please open an issue here. If you have a patch, we will be thrilled to review and accept pull requests! Join our discussion group citoengine-users@googlegroups.com if you want to reach out to the devlopers and users.