InfluxDB 中的 CollectD 协议支持
此页面记录了早期版本的 InfluxDB OSS。InfluxDB OSS v2 是最新的稳定版本。请参阅 InfluxDB v2 文档。
collectd 输入允许 InfluxDB 接受以 collectd 原生格式传输的数据。此数据通过 UDP 传输。
关于 UDP/IP 缓冲区大小的说明
如果您运行的是 Linux 或 FreeBSD,请调整您的操作系统 UDP 缓冲区大小限制,请点击此处查看更多详细信息。
配置
每个 collectd 输入都允许设置绑定地址、目标数据库和目标保留策略。如果数据库不存在,则会在初始化输入时自动创建。如果未配置保留策略,则使用数据库的默认保留策略。但是,如果设置了保留策略,则必须显式创建该保留策略。输入不会自动创建它。
每个 collectd 输入还会对其接收的点执行内部批处理,因为批量写入数据库效率更高。默认批处理大小为 1000,待处理批处理因子为 5,批处理超时时间为 1 秒。这意味着输入将写入最大大小为 1000 的批次,但如果批次在将第一个点添加到批次后的 1 秒内未达到 1000 个点,则无论大小如何,它都会发出该批次。待处理批处理因子控制内存中可以同时存在的批次数量,允许输入在传输一个批次的同时仍然构建其他批次。
多值插件可以通过两种方式处理。将 parse-multivalue-plugin 设置为 “split” 将解析并将多值插件数据(例如,df free:5000,used:1000)存储到单独的度量中(例如,(df_free, value=5000) (df_used, value=1000)),而 “join” 将解析并将多值插件存储为单个多值度量(例如,(df, free=5000,used=1000))。“split” 是与先前版本的 influxdb 向后兼容的默认行为。
还可以设置 collectd 类型数据库文件的路径。
大型 UDP 数据包
请注意,大于标准大小 1452 的 UDP 数据包在摄取时会被丢弃。请务必在 collectd 配置中将 MaxPacketSize
设置为 1452。
配置示例
[[collectd]]
enabled = true
bind-address = ":25826" # the bind address
database = "collectd" # Name of the database that will be written to
retention-policy = ""
batch-size = 5000 # will flush if this many points get buffered
batch-pending = 10 # number of batches that may be pending in memory
batch-timeout = "10s"
read-buffer = 0 # UDP read buffer size, 0 means to use OS default
typesdb = "/usr/share/collectd/types.db"
security-level = "none" # "none", "sign", or "encrypt"
auth-file = "/etc/collectd/auth_file"
parse-multivalue-plugin = "split" # "split" or "join"
内容来自 GitHub 上的 README。
此页内容对您有帮助吗?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一份子!我们欢迎并鼓励您提供关于 InfluxDB 和本文档的反馈和错误报告。要查找支持,请使用以下资源
拥有年度合同或支持合同的客户 可以联系 InfluxData 支持。