33 Commits

Author SHA1 Message Date
Yang Guo
ddb1d76178 Support waiting for kube-apiserver to be ready with timout during NPD startup 2019-07-09 10:24:25 -07:00
Xuewei Zhang
225de07427 Correctly identify failures in problem daemon starting. 2019-06-26 17:55:11 -07:00
Xuewei Zhang
be2647a686 Allow compilation time disabling for each type of Problem Daemon. 2019-06-17 16:02:45 -07:00
Lantao Liu
d520ca89bd Build node-problem-detector from a directory.
Signed-off-by: Lantao Liu <lantaol@google.com>
2019-06-13 18:54:23 -07:00
Lantao Liu
f2d17ee77b Do not import plugins unnecessarily.
Signed-off-by: Lantao Liu <lantaol@google.com>
2019-06-13 17:57:53 -07:00
Xuewei Zhang
7ad5dec712 Add disk metrics support. 2019-06-13 00:51:17 -07:00
Xuewei Zhang
23dc265971 Add Prometheus exporter. 2019-06-13 00:51:17 -07:00
Xuewei Zhang
a07176073a Add existing monitors into the problem daemon registration hook. 2019-06-13 00:51:17 -07:00
Xuewei Zhang
63f0e35e56 Implement dynamic problemdaemon registration and initialization.
Added package problemdaemon. All future problem daemons should be
registered by calling problemdaemon.register().

CLI interfaces will be automatically generated for all registered
problem daemons in the form of "--config.DAEMON_NAME"
2019-06-12 18:29:18 -07:00
Xuewei Zhang
5814195ad5 Move apiserver-reporting logic into k8s_exporter.
Added CLI option "enable-k8s-exporter" (default to true). Users can use
this option to enable/disable exporting to Kubernetes control plane.

This commit also removes all the apiserver-specific logic from package
problemdetector.

Future exporters (e.g. to local journald, Prometheus, other control
planes) should implement types.Exporter interface.
2019-06-12 18:29:18 -07:00
liangwei
4110e5350d node-problem-detector --version should not require monitors specify 2019-04-17 09:58:12 +08:00
Zhen Wang
7e766a4ec0 Disable glog writing to files for log-counter 2019-04-03 13:25:07 -07:00
Kenjiro Nakayama
a248e2a842 Add validation for the required flag
If --system-log-monitors or --custom-plugin-monitors are not
specified, npd gave us unclear message.

This patch adds the validation and clear error message.
2019-01-17 13:38:19 +09:00
Zhen Wang
1f636381b8 Detect kubelet and container runtime frequent crashes 2018-11-26 22:41:06 -08:00
SataQiu
91adf37050 fix typo: NDDE -> NODE, permenantly -> permanently 2018-11-21 17:36:08 +08:00
David Ashpole
bf730e9c63 add log-counter go plugin 2018-06-20 15:55:19 -07:00
gkGaneshR
821b8f41aa Modify unit testing of cmd/options
1. Why is this change necessary ?
   Modify unit testing of options in such a way that we specify
the WantedNodeName

2. How to verify this change ?
   Run, make test

Signed-off-by: gkGaneshR <gkganesh126@gmail.com>
2018-03-09 13:17:52 +05:30
gkGaneshR
ca76dc12ee Add dot(.) at the end of comments
Signed-off-by: gkGaneshR <gkganesh126@gmail.com>
2018-03-09 12:08:05 +05:30
gkGaneshR
c75a35099e Avoided changing hostname and changing var names
1. Why is this change necessary ?
 The program avoids changing hostname and the variable name "Options" is changed to
"options". Also, added more comments and formatted. Removed hostname in options since
it will not be changed in tests.

2. How does this change address the issue ?
 While the program is being run, the hostname is not changed. And options can't be
accessed outside(not exported).

3. How to verify this change ?
 Run, make test

Signed-off-by: gkGaneshR <gkganesh126@gmail.com>
2018-03-05 13:49:10 +05:30
gkGaneshR
a591ce52f9 Added copyright 2018 statement
1. Why is this change necessary ?
 Added copyright 2018 statement on options_test.go and added space
between // and text on the comments.

Signed-off-by: gkGaneshR <gkganesh126@gmail.com>
2018-03-04 21:05:16 +05:30
gkGaneshR
25b6c169a2 Unit testing for SetNodeNameOrDie in package cmd/options
1. Why is this change necessary ?
fixes: kubernetes/node-problem-detector#161

2. How does this change address the issue ?
Under package cmd/options, the testing for SetNodeNameOrDie need
to decide Nodename based on environment variable "NODE_NAME" or
hostname or hostnameoverride variable.

3. How to verify this change ?
Run "go test" with admin privilege

Signed-off-by: gkGaneshR <gkganesh126@gmail.com>
2018-03-02 21:03:59 +05:30
Andy Xie
10dbfef1a8 add custom problem detector plugin 2017-11-22 10:14:09 +08:00
Ajit Kumar
5cfe97cd15 change NPD port 2017-07-20 10:36:41 -07:00
Andy Xie
0a914cae09 refactor options pkg 2017-02-23 08:23:52 +08:00
Random-Liu
6170b0c87f Add multiple log monitoring support. 2017-02-15 13:15:18 -08:00
Random-Liu
10fc831409 Change kernel specific name in code base and change syslog to filelog. 2017-02-15 13:07:01 -08:00
Random-Liu
ee2a5b1a5f Create a goroutine for the http server. 2017-02-07 19:12:47 -08:00
Andy Xie
d0e0a8c765 add options pkg 2017-02-07 18:44:21 +08:00
Andy Xie
b28c622d83 change flag to pflag 2017-02-07 10:31:19 +08:00
Random-Liu
20ffe37cea Add NPD endpoints: /debug/pprof, /healthz, /conditions. 2017-02-03 11:07:06 -08:00
Random-Liu
c15d463ad5 Finish the journald support 2017-01-19 01:59:09 -08:00
Andy Xie
7302c70143 add -hostname-override 2017-01-18 23:45:30 +08:00
Random-Liu
aedb371d06 Add --version flag. 2017-01-12 02:07:25 -08:00