Assign checks with config packages
Assign monitoring checks to many devices at once with rule-based config packages, matched on OS, device class, tags, customer, or site.
Written By Stefan Steuer
Last updated 8 days ago
A monitoring check does not attach to a device on its own — you assign it. octoja gives you two ways to do that, and the one that scales is the config package: a reusable bundle of checks that octoja assigns to devices automatically, based on rules you define. This guide shows you how to build a rule-based package, add checks to it, and target the right devices — whether that is one server or every Windows server across all your customers.
Two ways to assign a check
The two approaches work together: a device can carry directly-assigned checks and match several rule-based packages at the same time, and all of those checks run on it. This guide covers the rule-based package, because that is how you monitor a fleet without editing devices one by one.
Prerequisites
- The Monitoring checks permission (
monitoring-checks.manage), granted through groups under Administration → Groups — see Assign Permissions. This permission lets you create and edit config packages. If you do not see Configuration → Config Packages, ask an administrator to grant it. - For tag-based rules, the devices you want to target should already carry the tags you will match on — see Configure Tag Rules.
Create a rule-based package
Config packages live under Configuration → Config Packages, split into Rule-based Packages and Device Direct Packages. The animation below walks through creating one and adding a check.

- Go to Configuration → Config Packages and make sure the Rule-based Packages tab is selected.
- Click Create Package.
- Enter a Name (for example,
Standard Server Checks) and an optional Description so the next administrator understands what the package is for. To start from an existing package, pick one under Clone from; otherwise leave it on Empty package. - Click Create. You land on the package's detail page, which has Checks, Software, Agent, Automations, and Rules tabs.
You can also click Start from Template and pick one of octoja's built-in packages as a ready-made starting point.
Add checks to the package
- On the package's Checks tab, find the Included Checks section and click Add Check.
- Choose a check type and set its thresholds. Each check type has its own configuration guide — see the Check Configuration and Check Reference sections in the sidebar.
- Repeat for every check this package should carry. A package can bundle as many checks as you need; they are all assigned together when the package matches a device.
Set fleet-wide agent settings (optional)
Beyond checks and software, a package can also apply agent settings to every device it matches. Open the package's Agent tab and turn on the settings you want. A device's effective value combines all of its packages, and you can override any of them per device from the device page.
Target the right devices with assignment rules
Assignment rules decide which devices the package applies to. Open the package's Rules tab and click Edit Rules — the animation shows how a rule narrows down to the devices you want.

- Under Customers, choose the customers this package should apply to. Leave this empty to apply the package to every customer — that is how one package covers your whole fleet.
- Under Device rules, build a condition in the form Apply to devices where <field> <operator> <value> — for example, Device Class is Windows Server.
- Click Add Condition to add another condition to the same rule. Conditions in one rule are joined with and (every condition must be true).
- To express or (a device matches if it satisfies any rule), add a second rule, or start a new block with or alternatively…. A device is included as soon as one rule matches.
- Click Save. octoja re-evaluates the rule and assigns — or removes — the package's checks on matching devices automatically.
This is the same rule engine used by tag rules. The simple sentence builder handles and/or conditions; for nested groups, octoja switches to the Advanced editor, where you write the rule in octoja Query Language (OQL) directly.
Rule fields
Available operators depend on the field: text fields offer equals, does not equal, contains, does not contain, starts with, and does not start with; Device Class uses is and is not; Tags and Customer Tags use contains and does not contain.
The Device Class values are Windows Server, Windows Workstation, Linux Server, Linux Desktop, and macOS.
Confirm the rule matches the right devices
While you edit the rules, octoja shows a live count of how many devices currently match — for example, "12 devices matched", with a breakdown by customer and device class. This is your check that the package will actually land somewhere.
- If you see "No devices match these rules.", the package is valid but will run on zero devices — it sits quietly and monitors nothing. This is not an error and you will not be warned about it later, so always read the match count before you rely on a package. A common cause is a tag in the rule that no device carries yet.
- If you save with no customers selected, octoja warns with "No customers selected" and reminds you that the rules will then apply to devices of all customers — confirm only if that is what you intend.
Reuse one package across customers
A rule-based package is not tied to a single customer. Leave the Customers field empty and the package applies across every customer in your instance — so a rule like Device Class is Windows Server covers all Windows servers you manage from one package. Build the standard once, and every new matching device picks it up automatically the next time it reports in.
Tips
- Directly-assigned checks and rule-based packages add up on a device — use direct assignment for exceptions and packages for the standard.
- Alert rules live on the check inside the package, so a package can carry both the check and how you are notified when it fails — see Set up alerts for a check.
- Use the live match count as a sanity check after every rule change — an unexpected drop to zero usually means a condition is now too strict, or a tag is missing.
- Start from a built-in template when you want a sensible default set of checks rather than a blank package.
- Use the Automations tab to attach scheduled automations to a rule-based package — they then run on every device the package matches.