StackStorm helps automate common operational patterns. Some examples are:
- Facilitated Troubleshooting - triggering on system failures captured by Nagios, Sensu, New Relic and other monitoring, running a series of diagnostic checks on physical nodes, OpenStack or Amazon instances, and application components, and posting results to a shared communication context, like HipChat or JIRA.
- Automated remediation - identifying and verifying hardware failure on OpenStack compute node, properly evacuating instances and emailing VM about potential downtime, but if anything goes wrong - freezing the workflow and calling PagerDuty to wake up a human.
- Continuous deployment - build and test with Jenkins, provision a new AWS cluster, turn on some traffic with the load balancer, and roll-forth or roll-back based on NewRelic app performance data.
StackStorm plugs into the environment via the extensible set of adapters: sensors and actions.
-
Sensors are python plugins for inbound integration
that watch for events from external systems and fire a StackStorm
trigger when an event happens.
-
Triggers are StackStorm representations of external
events. There are generic triggers (e.g. timers, webhooks) and
integration triggers (e.g. Sensu alert, JIRA issue updated). A new
trigger type can be defined by writing a sensor plugin.
-
Actions are StackStorm outbound integrations. There
are generic actions (ssh, REST call), integrations (OpenStack, Docker,
Puppet), or custom actions. Actions are either python plugins, or any
scripts, consumed into StackStorm by adding a few lines of metadata.
Actions can be invoked directly by user via CLI or API, or used and
called as part of automations - rules and workflows.
-
Rules map triggers to actions (or to workflows), applying matching criterias and mapping trigger payload to action inputs.
-
Workflows stitch actions together into
“uber-actions”, defining the order, transition conditions, and passing
the data. Most automations are more than one-step and thus need more
than one action. Workflows, just like “atomic” actions, are available in
action library, can be invoked manually or triggered by rules.
-
Packs are the units of content deployment. They
simplify the management and sharing of StackStorm pluggable content by
grouping integrations (triggers and actions) and automations (rules and
workflows). A growing number of packs is available on StackStorm
community. User can create their own packs, share them on Github, or
submit to StackStorm community repo.
-
Audit trail of action executions, manual or
automated, is recorded and stored with full details of triggering
context and execution results. It is is also captured in audit logs for
integrating with external logging and analytical tools: LogStash,
Splunk, statsd, syslog.
https://github.com/StackStorm/st2
https://exchange.stackstorm.org/
No comments:
Post a Comment