@cryptotaxi247 / netdata-1 / commits / de4a000ac

Add sections for class, component and type. (#10984)

* Add sections for class, component and type. Add sections in the documentation for the new `class`, `component` and `type` attributes, that the PR https://github.com/netdata/netdata/pull/10961 adds to the stock alarms configuration files. The documentation can be perhaps extended to provide information on how those attributes are used in the cloud. * Update REFERENCE.md Add a list of stock alarms class attributes. * Add notes for default value Unknown * Update REFERENCE.md Fill more class descriptions (and change the name of the column). * Update REFERENCE.md Add collapsible class table. * Update health/REFERENCE.md Use dot Co-authored-by: Ilya Mashchenko <ilya@netdata.cloud> * Update health/REFERENCE.md Spelling Co-authored-by: Joel Hans <joel@netdata.cloud> * Update health/REFERENCE.md Spelling Co-authored-by: Joel Hans <joel@netdata.cloud> * Update health/REFERENCE.md Grammar Co-authored-by: Joel Hans <joel@netdata.cloud> Co-authored-by: Ilya Mashchenko <ilya@netdata.cloud> Co-authored-by: Joel Hans <joel@netdata.cloud>

Emmanuel Vasilakis committed May 17, 2021 at 21:10 UTC de4a000acd55bf29dd3cbb966d9bf1e459d6c668
1 file changed +64
health/REFERENCE.md
+64
@@ -59,6 +59,9 @@ Netdata parses the following lines. Beneath the table is an in-depth explanation
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. |
@@ -131,6 +134,67 @@ You're interested in what comes after the comma: `disk.io`. That's the name of t
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