Bot Group: Edge

Example Edge, simulating traffic coming through into a web app from the Internet

Bots

Select one of the bots to see Sireus working on an individual agent level, which is where the scoring and Actions take place.

Name States
SFO-WAS-11 Attack Risk.Default, Operation.Default, Traffic.Default
SFO-LAS-27 Attack Risk.Default, Operation.Default, Traffic.Default

Configuration Data

For the purpose of the demo, these are not editable, but that will be added after the Design RFC is complete.

This is the configuration data that creates the Sireus Decision System.

Queries

Queries collect metrics from Prometheus, so we can populate variables.

Name Query Server Info
Demo App Requests irate(demo_requests[30s]) prometheus_primary Demo-only information, simulation of requests from the Internet, outside the edge
Edge Octets In irate(demo_if_in_octets{bot_group="Edge"}[30s]) prometheus_primary Rate of octet ingress
Edge Octets Out irate(demo_if_out_octets{bot_group="Edge"}[30s]) prometheus_primary Rate of octet egress
Circuit Circuit State demo_if_link_state{bot_group="Edge"} prometheus_primary Is the circuit up or not?

Variables

Variables population has two phases, extracting from Queries, and synthesizing new variables by evaluating expression on from queried variables.

Name Type Query Name Query Key Range Start Range End Invert
demo_app_requests Demo App Requests 1 1 false
octets_in Edge Octets In 1 1 false
octets_out Edge Octets Out 1 1 false
link_state Circuit Circuit State 1 1 false

States

States are specialized State Machines, they only go forward or reset. They can skip entries forward. The combination of several state pipelines allows us a lot of expression about what the current state of the operational system is.

Only moving forward or resetting removes inner loops of the state machines where it can be stuck. The entire state pipeline is a loop that will find the appropriate state on reset.

Name Info States
Operation Basic operational states, to group Actions Default, Problem, Evaluate, Escalate, EscalateWait
Traffic What does our traffic situation look like? Default, High, Low, None
Attack Risk What is the likelihood we are under attack now? Default, Low, High, Critical

Lock Timers

Lock Timers can be required by Actions before they can run, so you can lock concurrency, and are given a timeout so that they will always unlock later, and the system never gets stuck.

Name Type Info
Single Bot Lock 1 Per bot lock, so that each bot can operate independently. Use for Node or Agent level control.
Full Bot Group Lock 0 Lock for controlling the entire Bot Group. Use for Service or Platform level control.