Skip to content

Python script which sync Zabbix IT Services with Cachet

License

Notifications You must be signed in to change notification settings

qk4l/zabbix-cachet

Repository files navigation

Zabbix-Cachet

This is python script which provides synchronisation between Zabbix IT Services and Cachet

Description

The idea of Zabbix-Cachet is providing the easiest way to export Zabbix terms to Cachet. With this script you can maintain Cachet though Zabbix.

Zabbix-Cachet reads pre-configured Zabbix IT Services and automatically creates Cachet components. After that Zabbix-Cachet periodically checks Zabbix triggers (that linked to you IT Services) and manipulate with Cachet incidents and Component statuses based on triggers.

Zabbix-Cachet communicate with Zabbix and Cachet via API interface. To make it works you need a zabbix user with sufficient permissions to read triggers, items of services that is exported to Cachet and Cachet`s API key.

Features

  • Automatically creates Cachet Components and Components group
  • Automatically creates Cachet Incidents and update them with acknowledgement messages
  • Allow to specify root IT service where Zabbix-Cachet will work

Example

Zabbix IT Services.

  • Cachet - root_service for zabbix-cachet script.
  • Bitbucket, Network Connectivity - parent services. They will be Components Groups in Cachet.
  • GIT https, GIT ssh - Components in Cachet. Do not forget to set Zabbix trigger to this group.

Zabbix IT Services

Cachet

Cachet Components

Requirements

  • Cachet 2.2, 2.3
  • Zabbix 2.X, 3.X, 4.0, 5.0, 6.0, 6.4, 7.0
  • python 3.6+

Installation

Docker Installation

  1. Create /etc/zabbix-cachet.yml file based config-example.yml.
  2. Run Docker container
    docker run --name zabbix-cachet -v /etc/zabbix-cachet.yml:/config.yml qk4l/zabbix-cachet
    
  3. Drink a cup of tea (optional)

Python package

  1. Install python package via pip
    pip install zabbix-cachet
  2. Rename config-example.yml to config.yml and fill a file with your settings.
  3. Define CONFIG_FILE environment variable which point to your config.yml or change current work directory to folder with config
  4. Launch zabbix-cachet

Apt (outdated release)

  1. Add official Zabbix-Cachet PPA:
    add-apt-repository ppa:reg-tem4uk/zabbix-cachet
    apt-get update
  2. Install the package: apt-get install zabbix-cachet
  3. Configure it: nano /etc/zabbix-cachet.yml
  4. Restart it: systemctl enable zabbix-cachet && systemctl restart zabbix-cachet

Configuration

Settings are storing in config.yml file which should be placed in script's working directory. If you want to use another path for config.yml use CONFIG_FILE environment variable.

About

Python script which sync Zabbix IT Services with Cachet

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages