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.
- Ensure the prerequisite python libraries are installed on the server: pyyaml (install with pip install pyyaml)
- Clone this GitHub repo.
- 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.
- 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.
- Make sure your yml file contains jwt_token: JWT_TOKEN (from the SignifAI console).
- Within your playbook, before the tasks section, put a line like this:
|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.|
|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: email@example.com and we will be happy to help.