The SignifAI Community Hub

Welcome to the SignifAI Community Hub.
This is the place for you to find something new, express your thoughts, share and collaborate with other people. You'll find comprehensive guides and documentation to help you start working with SignifAI as quickly as possible, as well as support if you get stuck. Let's jump right in!

Ansible

Using Ansible to announce deployment events

Integrating with Ansible Using a Web Collector

SignifAI supports Ansible callback integration so you can get more visibility into your deployments and configuration changes while executing Ansible runs.

By collecting real-time data from your Ansible runs, SignifAI tracks key changes across your infrastructure every time an Ansible script or playbook is running. We correlate between other events and failures in your infrastructure.

Web Collector Installation

  1. Ensure the prerequisite python libraries are installed on the server: pyyaml (install with pip install pyyaml)
  2. Clone this GitHub repo.
  3. Copy the whole directory (exclude test-pb.yml) into the roles/signifai subdirectory starting from the directory of your playbook. Create the directory if it does not exist.
  4. Create a signifai_collector.yml file alongside signifai.py, and set its contents. You can also add roles: section before the tasks section and refer to signifai.
  5. Make sure your yml file contains jwt_token: JWT_TOKEN (from the SignifAI console).
  6. Within your playbook, before the tasks section, put a line like this:
  roles:
    - signifai

Syntax

Attribute Value/Type Required Description
event_type 'incident', 'deployment', 'metric' Y Type of event.
event_description String Y ('incident' or 'deployment') Description of event.
metric_description String Y (only for 'metrics') Description of metric.
name String N Name of event, incident, metric
event_source String Y App/object generating the event.
attributes Dictionary N Additional attributes.[1]
value (for 'metric') (Inferred from value/schema) Y Metric's value
value (for 'incident') 'critical', 'high', 'medium', 'low' Y The priority/status of the incident.
value (for 'deployment') 'started', 'finished-with-errors', 'finished-successfully', 'error', 'rolledback' Y Deployment's current state.
application String If no 'service' or 'host' The application the event applies to.
service String If no 'application' or 'host' The service the event applies to.
host String If no 'service' or 'application' The host the event applies to.
jwt_token String Y Your customer jwt token (from registration)
collectors_host String N Alternate collector hostname to report to

You can specify 'application', 'service' and 'host' at the same time, but you must specify at least one.

The 'metric' value is implied by its type as specified in your parameter and/or by our schema.

Neet help with the integration?

Contact us at: support@signifai.io and we will be happy to help.

Ansible

Using Ansible to announce deployment events