Tracking goal progress
With runZero goals, you create goals for your security initiatives and monitor progress toward achieving them. Every goal type is built on the runZero query language, and goal tracking supports all types of inventory queries.
runZero has two types of goals:
- A Saved query goal is based on the results of a user-defined or runZero system query against all inventory.
- A Baseline goal is based on the results of a user-defined query against a subset of inventory, which another user-defined query specifies.
Goal creation
Users whose default role is user or greater can create goals from the Goals page in the console. Users with viewer-level or greater access can view the goals page and see the goals that apply to organizations they have access to.
To create a new goal, click the New goal button on the Goals page in the console.
Creating saved query goals
- On the Goal type tab, select the Saved query type.
- On the Build goal tab, complete the fields you want:
- Name: A name for your goal.
- Description: A description of the goal.
- Notes: Any notes about this goal.
- Organization access: By default, the goal is created for the currently selected organization, but you may select additional organizations. Any user with User role access to every organization associated with the goal can edit it, and any user with Viewer role access to at least one of those organizations can read it.
- Query: Select the query that tracks progress for this goal from the table. If needed, use the search field to find it.
- Threshold: Choose whether progress is calculated as Greater than or equal or Less than or equal, and as a percent or a fixed number, then set the threshold value.
- Target date: An optional target date for achieving this goal.
- To preview the goal’s current state, click Preview.
- Click Save when you’re ready, or keep making changes.
Creating baseline goals
- On the Goal type tab, select the Baseline type.
- On the Build goal tab, complete the fields you want:
- Name: A name for your goal.
- Description: A description of the goal.
- Notes: Any notes about this goal.
- Organization access: By default, the goal is created for the currently selected organization, but you may select additional organizations. Any user with User role access to every organization associated with the goal can edit it, and any user with Viewer role access to at least one of those organizations can read it.
- Inventory dataset: The inventory type that the target and baseline queries search.
- Target query: The query that defines what the goal targets. Its count becomes the numerator of the fraction that represents the goal’s state, which runZero compares to the threshold to determine progress.
- Target label: A label for the target query in the goal breakdown. Without one, runZero uses a default.
- Baseline query: The query that defines the goal’s scope. Its count becomes the denominator of the fraction that represents the goal’s state, which runZero compares to the threshold to determine progress.
- Baseline label: A label for the baseline query in the goal breakdown. Without one, runZero uses a default.
- Threshold: Choose whether progress is calculated as Greater than or equal or Less than or equal, and as a percent or a fixed number, then set the threshold value.
- Target date: An optional target date for achieving this goal.
- To preview the goal’s current state, click Preview.
- Click Save when you’re ready, or keep making changes.
Goal progress calculation
After you create a goal, runZero calculates its progress once a day and whenever tasks complete. The historical line chart may therefore show a different number of metric calculations from day to day, depending on how many tasks completed on a given day.
The overall status in the Goal details card on a goal details page reflects progress toward completion across all the configured organizations you have access to, so a user with more or less per-organization access may see a different status.
When a goal applies to multiple organizations, runZero calculates progress per organization and extrapolates it across all applicable organizations.
Goal events and notifications
The events system includes these goal events:
goal-created: fires when a goal is created and saved.goal-updated: fires when a goal is modified and saved.goal-completed: fires when a goal’s progress crosses the completion threshold.goal-lapsed: fires when the progress of a previously completed goal falls below the completion threshold.goal-removed: fires when a goal is deleted.
Pair these events with channels and rules to get notified when a goal’s status changes. After you create a notification channel, create a rule for the event you want and select the channel that should receive the notification.