Op is a powerful operations-oriented language for gathering information about your infrastructure and proactively managing issues to maintain a stable operational environment. Op has five types of objects that you will be working with:
- Resources - Resources are infrastructure objects in your environment. Resources can be hosts, pods, containers, virtual machines, or database instances. You can have different Resources on different platforms, e.g., pods and containers for Kubernetes (k8s) and virtual machines for AWS, GCP, or Azure.
- Metrics - Time series data associated with your Resources such as CPU utilization, latency, throughput, or error rate. You can query the Metrics gathered to monitor the environment. You also use Metrics to determine if you've met a condition or threshold requiring you to take an Action.
- Alarms - Indicators that tell you when something has gone wrong and/or needs attention. Alarms are defined by a combination of Resources, Metrics, Linux commands, and system state; and are triggered when a condition is met.
- Actions - Shell commands and shell scripts that help you mitigate and remediate problems that an Alarms have identified. The Op CLI comes with a basic set of actions. You can define custom actions and encode an entire operational workflow into a runbook using Actions.
- Bots - Bind Alarms and Actions together using IF-THEN-ELSE constructs. Bots specify the Actions to take when the Alarm triggers.
A selection of core commands include:
- auth - Authenticate to a Shoreline cluster
- enable - Enable core objects
- delete - Delete core objects
- list - List core objects, such as Actions, Alarms, and Bots
Check out all the other commands and Op docs in the navigation menu to learn much more.