如何安装配置collectd的FastJMX插件并将指标推送至Cloudwatch
完整操作步骤
一、获取FastJMX的jar包
collectd-fast-jmx属于社区第三方开发的插件,没有纳入默认的collectd yum源,所以无法通过yum直接安装,jar包可以通过两种方式获取:
- 新手优先选择到项目的Release页面下载预编译好的
collectd-fast-jmx.jar包,无需手动编译 - 找不到预编译包时可以手动编译:克隆项目代码到本地,确保本地已经安装JDK8+和Maven,进入项目根目录后执行
mvn clean package,编译完成后在target目录下即可拿到生成的jar包
二、安装配置FastJMX插件
- 把刚才获取的
collectd-fast-jmx.jar放到collectd的Java类库目录,默认路径为/usr/share/collectd/java/,如果目录不存在可以手动创建 - 编辑collectd主配置文件
/etc/collectd.conf,开启Java插件和FastJMX配置:
配置参考示例:
LoadPlugin java <Plugin java> JVMArg "-Djava.class.path=/usr/share/collectd/java/collectd-fast-jmx.jar:/usr/share/collectd/java/generic-jmx.jar" LoadPlugin "org.collectd.java.FastJMX" <Plugin "FastJMX"> # 配置JMX服务连接信息 <Connection> Host "你的JMX服务主机IP" Port "JMX服务端口,默认通常为1099" # JMX有权限校验时配置以下两行,无校验可以删除 User "jmx用户名" Password "jmx密码" # 配置需要采集的MBean指标,可按需求扩展 <MBean "java_lang_OperatingSystem"> ObjectName "java.lang:type=OperatingSystem" <Value> Type "gauge" InstancePrefix "os_system_cpu_load" Attribute "SystemCpuLoad" </Value> </MBean> </Connection> </Plugin> </Plugin>
三、配置指标推送至CloudWatch
- 先安装collectd的CloudWatch输出插件,可以直接通过yum安装
collectd-write_cloudwatch包 - 编辑collectd配置文件,开启CloudWatch输出插件:
配置参考示例:
LoadPlugin write_cloudwatch <Plugin write_cloudwatch> Region "你的AWS区域,例如cn-north-1" Namespace "自定义CloudWatch指标命名空间,例如collectd/jmx_metrics" # 运行collectd的设备绑定了具备CloudWatch写入权限的IAM角色则不需要配置AK/SK,否则补充以下两行 # AccessKey "你的AWS_ACCESS_KEY_ID" # SecretKey "你的AWS_SECRET_ACCESS_KEY" # 配置指标维度,可按需扩展 <Dimension> Name "HostName" Value "%{hostname}" </Dimension> </Plugin>
- 保存配置后执行
systemctl restart collectd重启服务,再执行systemctl status collectd确认服务运行无报错 - 等待1-2分钟后即可到CloudWatch控制台对应命名空间下查看上报的指标
常见问题排查
- collectd启动失败时优先查看
/var/log/collectd.log日志排查错误,常见问题包括jar包路径配置错误、JMX服务连接不通、CloudWatch权限不足 - 确保运行collectd的设备具备
cloudwatch:PutMetricData权限,否则指标无法正常上报
内容的提问来源于stack exchange,提问作者Nedialko Nedialkov
相关产品推荐
相关产品推荐

