You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The rule list is extensible, and you can always extend it by overwriting the
108
+
[`config/kernel-monitor.json`](https://github.com/kubernetes/node-problem-detector/blob/v0.1/config/kernel-monitor.json). The rule list is extensible. You can extend the rule list by overwriting the
125
109
configuration.
126
110
127
-
### Add New NodeConditions
111
+
### Add new NodeConditions
128
112
129
-
To support new node conditions, you can extend the `conditions` field in
130
-
`config/kernel-monitor.json` with new condition definition:
113
+
To support a new `NodeCondition`, you can extend the `conditions` field in
114
+
`config/kernel-monitor.json` with a new condition definition such as:
131
115
132
116
```json
133
117
{
@@ -137,10 +121,10 @@ To support new node conditions, you can extend the `conditions` field in
137
121
}
138
122
```
139
123
140
-
### Detect New Problems
124
+
### Detect new problems
141
125
142
126
To detect new problems, you can extend the `rules` field in `config/kernel-monitor.json`
143
-
with new rule definition:
127
+
with a new rule definition:
144
128
145
129
```json
146
130
{
@@ -151,31 +135,28 @@ with new rule definition:
151
135
}
152
136
```
153
137
154
-
### Change Log Path
155
-
156
-
Kernel log in different OS distros may locate in different path. The `log`
157
-
field in `config/kernel-monitor.json` is the log path inside the container.
158
-
You can always configure it to match your OS distro.
159
-
160
-
### Support Other Log Format
138
+
### Configure path for the kernel log device {#kernel-log-device-path}
plugin to translate kernel log the internal data structure. It is easy to
164
-
implement a new translator for a new log format.
140
+
Check your kernel log path location in your operating system (OS) distribution.
141
+
The Linux kernel [log device](https://www.kernel.org/doc/Documentation/ABI/testing/dev-kmsg) is usually presented as `/dev/kmsg`. However, the log path location varies by OS distribution.
142
+
The `log` field in `config/kernel-monitor.json` represents the log path inside the container.
143
+
You can configure the `log` field to match the device path as seen by the node problem detector.
165
144
145
+
### Add support for another log format {#support-other-log-format}
166
146
147
+
Kernel monitor uses the
148
+
[`Translator`](https://github.com/kubernetes/node-problem-detector/blob/v0.1/pkg/kernelmonitor/translator/translator.go) plugin to translate the internal data structure of the kernel log.
149
+
You can implement a new translator for a new log format.
167
150
168
151
<!-- discussion -->
169
152
170
-
## Caveats
171
-
172
-
It is recommended to run the node problem detector in your cluster to monitor
173
-
the node health. However, you should be aware that this will introduce extra
174
-
resource overhead on each node. Usually this is fine, because:
175
-
176
-
* The kernel log is generated relatively slowly.
177
-
* Resource limit is set for node problem detector.
178
-
* Even under high load, the resource usage is acceptable.
179
-
(see [benchmark result](https://github.com/kubernetes/node-problem-detector/issues/2#issuecomment-220255629))
153
+
## Recommendations and restrictions
180
154
155
+
It is recommended to run the node problem detector in your cluster to monitor node health.
156
+
When running the node problem detector, you can expect extra resource overhead on each node.
157
+
Usually this is fine, because:
181
158
159
+
* The kernel log grows relatively slowly.
160
+
* A resource limit is set for the node problem detector.
161
+
* Even under high load, the resource usage is acceptable. For more information, see the node problem detector
0 commit comments