MonitorAgent 实现


负责周期性的采集数据,并将数据 PUSH 到服务器。

0. 参数列表

详细参数可以直接通过 nodus -h 命令查看。

0.1 检查配置

通过 -t 参数检查配置文件是否合法,一般使用命令 nodus -t -L test.log ,也就是同时指定日志文件地址,防止日志被混淆。

如果成功则会显示 Success 否则 Failed!!! ,同时程序返回值分别为 01

假设要测试某个配置文件是否合法,可以通过如下命令测试。

$ nodus -f -C nodus.server.conf -L server.log
0.2 测试插件

也就是通过 -T 参数,同样一般使用命令 nodus -T -L test.log ,会将插件的一次采集打印出来,格式以及其中的示例如下。

采集时间/周期 插件名(采集指标数/types.db指标数) 采集值1/类型1 采集值2/类型2 ... 采集值N/类型N

1511965574.110/10.000 load(3/3) 2.71/G 2.53/G 2.43/G

1. 控制命令

提供了一个常见的控制命令用于操作,也就是 nodusctl ,如果要查看与服务端的详细通讯过程,可以在执行命令之前设置环境变量,也就是 NODUS_TRACE=1; ,常见示例如下。

----- 查看当前加载了那些插件
$ NODUS_TRACE=1; ./nodusctl plugin list

----- 删除某个插件
$ NODUS_TRACE=1; ./nodusctl plugin remove load

----- 停止某个插件的数据采集
$ NODUS_TRACE=1; ./nodusctl plugin stop load

----- 启动某个插件的数据采集
$ NODUS_TRACE=1; ./nodusctl plugin start load

5. 常见问题

5.1 查看读函数

查看读插件的调用情况,会显示读线程以及各个读函数的调用过程,需要打开 DEBUG 日志。

$ tail -f nodus.log | grep -E '([Rr]ead-function|[Rr]ead thread)'


This Site was built by Rimond, generated with Jekyll, and hosted on GitHub Pages
©2013-2018 – Rimond