59
| --------------------------------------------------- | --------------- | ------------------------------------------------------------------------------------- |
60
| [`alarm`/`template`](#alarm-line-alarm-or-template) | yes | Name of the alarm/template. |
61
| [`on`](#alarm-line-on) | yes | The chart this alarm should attach to. |
62
+| [`class`](#alarm-line-class) | no | The general classification of the alarm. |
63
+| [`component`](#alarm-line-component) | no | Specify the component of the class of the alarm. |
64
+| [`type`](#alarm-line-type) | no | The type of error the alarm monitors. |
65
| [`os`](#alarm-line-os) | no | Which operating systems to run this chart. |
66
| [`hosts`](#alarm-line-hosts) | no | Which hostnames will run this alarm. |
67
| [`plugin`](#alarm-line-plugin) | no | Restrict an alarm or template to only a certain plugin. |
134
135
If you create a template using the `disk.io` context, it will apply an alarm to every disk available on your system.
136
137
+#### Alarm line `class`
138
+
139
+Specify the classification of the alarm or template.
140
+
141
+Class can be used to indicate the broader area of the system that the alarm applies to. For example, under the general `Database` class, you can group together alarms that operate on various database systems, like `MySQL`, `CockroachDB`, `CouchDB` etc. Example:
142
+
143
+```yaml
144
+class: Database
145
+```
146
+<details>
147
+<summary>Netdata's stock alarms use the following `class` attributes by default, but feel free to adjust for your own requirements.</summary>
148
+
149
+| Class | Description |
150
+| ------------------------ | ------------------------------------------------------------------------------------------------ |
151
+| Ad Filtering | Services related to Ad Filtering (like pi-hole) |
152
+| Certificates | Certificates monitoring related |
153
+| Cgroups | Alerts for cpu and memory usage of control groups |
154
+| Computing | Alerts for shared computing applications (e.g. boinc) |
155
+| Containers | Container related alerts (e.g. docker instances) |
156
+| Database | Database systems (e.g. MySQL, Postgress, etc) |
157
+| Data Sharing | Used to group together alerts for data sharing applications |
158
+| DHCP | Alerts for dhcp related services |
159
+| DNS | Alerts for dns related services |
160
+| Kubernetes | Alerts for kubernetes nodes monitoring |
161
+| KV Storage | Key-Value pairs services alerts (e.g. memcached) |
162
+| Linux | Services specific to Linux (e.g. systemd) |
163
+| Messaging | Alerts for message passing services (e.g. vernemq) |
164
+| Netdata | Internal Netdata components monitoring |
165
+| Other | Use as a general class of alerts |
166
+| Power Supply | Alerts from power supply related services (e.g. apcupsd) |
167
+| Search engine | Alerts for search services (e.g. elasticsearch) |
168
+| Storage | Class for alerts dealing with storage services (storage devices typically live under `System`) |
169
+| System | General system alarms (e.g. cpu, network, etc.) |
170
+| Virtual Machine | Virtual Machine software |
171
+| Web Proxy | Web proxy software (e.g. squid) |
172
+| Web Server | Web server software (e.g. Apache, ngnix, etc.) |
173
+| Windows | Alerts for monitor of wmi services |
174
+
175
+</details>
176
+
177
+If an alarm configuration is missing the `class` line, its value will default to `Unknown`.
178
+
179
+#### Alarm line `component`
180
+
181
+Component can be used to narrow down what the previous `class` value specifies for each alarm or template. Continuing from the previous example, `component` might include `MySQL`, `CockroachDB`, `MongoDB`, all under the same `Database` classification. Example:
182
+
183
+```yaml
184
+component: MySQL
185
+```
186
+As with the `class` line, if `component` is missing from the configuration, its value will default to `Unknown`.
187
+
188
+#### Alarm line `type`
189
+
190
+This indicates the type of error (or general problem area) that the alarm or template applies to. For example, `Latency` can be used for alarms that trigger on latency issues in network interfaces, web servers, or database systems. Example:
191
+
192
+```yaml
193
+type: Latency
194
+```
195
+
196
+`type` will also (as with `class` and `component`) default to `Unknown` if the line is missing from the alarm configuration.
197
+
198
#### Alarm line `os`
199
200
The alarm or template will be used only if the operating system of the host matches this list specified in `os`. The