为 collectd 实现一个简单的 Java writer 插件
Implementing a simple Java writer plugin for collectd
我正在尝试为 collectd 开发一个非常简单的 Java 编写器插件,但没有成功。也没有找到任何关于 Java 插件开发的文档。
我一遍又一遍地遇到同样的错误,在代理启动时找不到 LoadPlugin 元素 (collectd.config) 中提供的 class。
这是我所做的:
- 使用以下命令安装了 collectd:sudo apt-get install collectd。
- 已下载 collectd 源。
- 在 /bindings/java/org/collectd/java 下添加了一个新的(非常简单的)编写器插件。
- 修改了/bindings/java/Makefile.am:
- 将作者添加到 EXTRA_DIST 列表
- 将以下行添加到 java-build-stamp 任务(为新编写器创建 jar):jar cf .lib/simple.jar “com.microsoft.java”/ *.class
- 在 install-exec-local 任务中添加了以下行:$(INSTALL) –m 644 .libs/simple.jar \ “$(DESTDIR)$(pkgdatadir)/java”
- 从源代码根目录执行 ./configure。
- 执行 sudo make all install 从 bindings/java 目录。
- 已修改 collectd.config:
- 启用 Java 插件
- 通过添加启用新插件:“LoadPlugin“com.microsoft.java.SimpleWriter”到Java插件部分
- 更新 JVM class 路径参数以包含包含新插件的 jar。
- 通过执行开始收集:sudo /etc/init.d/collectd start
当我启用 GenericJMX 插件时,它已成功加载。
有谁知道我做错了什么?
将 jar 内容解压到 classpath 文件夹中解决了问题。似乎如果您的 class 名称是 com.company.foo.FooClass,CollectD 会在目录 (class_path_dir)/com/company/foo/FooClass.class
下搜索它
我正在尝试为 collectd 开发一个非常简单的 Java 编写器插件,但没有成功。也没有找到任何关于 Java 插件开发的文档。
我一遍又一遍地遇到同样的错误,在代理启动时找不到 LoadPlugin 元素 (collectd.config) 中提供的 class。
这是我所做的:
- 使用以下命令安装了 collectd:sudo apt-get install collectd。
- 已下载 collectd 源。
- 在 /bindings/java/org/collectd/java 下添加了一个新的(非常简单的)编写器插件。
- 修改了/bindings/java/Makefile.am:
- 将作者添加到 EXTRA_DIST 列表
- 将以下行添加到 java-build-stamp 任务(为新编写器创建 jar):jar cf .lib/simple.jar “com.microsoft.java”/ *.class
- 在 install-exec-local 任务中添加了以下行:$(INSTALL) –m 644 .libs/simple.jar \ “$(DESTDIR)$(pkgdatadir)/java”
- 从源代码根目录执行 ./configure。
- 执行 sudo make all install 从 bindings/java 目录。
- 已修改 collectd.config:
- 启用 Java 插件
- 通过添加启用新插件:“LoadPlugin“com.microsoft.java.SimpleWriter”到Java插件部分
- 更新 JVM class 路径参数以包含包含新插件的 jar。
- 通过执行开始收集:sudo /etc/init.d/collectd start
当我启用 GenericJMX 插件时,它已成功加载。 有谁知道我做错了什么?
将 jar 内容解压到 classpath 文件夹中解决了问题。似乎如果您的 class 名称是 com.company.foo.FooClass,CollectD 会在目录 (class_path_dir)/com/company/foo/FooClass.class
下搜索它