0
0
Fork 0
mirror of https://github.com/netdata/netdata.git synced 2025-04-16 10:31:07 +00:00
netdata_netdata/docs/netdata-cloud/node-rule-based-room-assignment.md
Juan Cañete b0baedab91
Add missing information in rule based membership document ()
Co-authored-by: fotis <fotis@netdata.cloud>
Co-authored-by: ilyam8 <ilya@netdata.cloud>
2025-01-21 10:37:33 +02:00

85 lines
3.2 KiB
Markdown

# Node Rule-Based Room Assignment
Organize Nodes within Rooms automatically using configurable label-based rules. This feature simplifies infrastructure management by dynamically assigning Nodes to appropriate Rooms based on their host labels, eliminating manual intervention.
**Important**:
- Rules work with all Rooms except the "All Nodes" Room, as it includes all Nodes by default.
- Creating and editing Rules requires Node management permissions.
- Rules are evaluated in real-time as labels change.
- Exclusion rules always override inclusion rules.
## Rule Structure
The rules consist of the following elements:
| Element | Description |
|:--------|:--------------------------------------------------------------------------------------------------|
| Action | Determines whether matching Nodes will be included or excluded from the Room |
| Clauses | Set of conditions that determine which Nodes match the Rule (all must be satisfied - logical AND) |
Each clause consists of:
| Element | Description |
|:---------|:-----------------------------|
| Label | The host label to check |
| Value | The comparison method |
| Operator | The value to compare against |
Below is a conceptual representation of a rule that includes all production database Nodes. The structure is shown in YAML format for clarity:
```yaml
Action: Include
Clauses:
- Label: environment
Operator: equals
Value: production
- Label: service-type
Operator: equals
Value: database
```
### Comparison Operators
The following operators can be used to compare label values:
| Operator | Description |
|:------------|:----------------------------------------------------|
| equals | Matches the exact value |
| starts_with | Matches if the value begins with the specified text |
| ends_with | Matches if the value ends with the specified text |
| contains | Matches if the text appears anywhere in the value |
## Rule Evaluation Order
- Exclusion rules are evaluated first
- Inclusion rules are evaluated second
In cases where both an inclusion and exclusion rule match, the exclusion rule takes precedence.
## Creating Rules
1. Access Settings
- Click ⚙️ (Room settings)
- Select "Nodes" tab
2. Create Rule
- Click "Add new Rule"
- Select Action (Include/Exclude)
- Add clause(s)
- Save changes
## Membership Status
Nodes can have multiple membership types in a Room:
| Status | Description |
|:----------------|:---------------------------|
| STATIC | Manually added to the Room |
| RULE | Added by matching Rule(s) |
| STATIC and RULE | Both manual and Rule-based |
You can view each Node's membership status in the Room's Nodes table under the "Membership" column.
> **Note**
>
> Group membership can be either STATIC or RULE—these work independently. A node can belong to groups through STATIC assignments (added manually) or through RULE assignments (matched automatically). RULEs cannot override STATIC memberships, and removing a node's STATIC membership does not affect its RULE memberships.