一个collected输出插件,用于向sumo逻辑发送carbon 2.0格式的度量。
sumologic-collectd-metrics的Python项目详细描述
开始
sumo logic collected plugin是在collected python plugin上构建的。运行插件所需的最低版本是Python2.6。您可以从python下载页面下载并安装所需的python版本。
如果collectd已安装,则可以跳过此步骤。否则,请按照 collectd download 站点中的说明进行下载和安装。有关其他详细信息,请参见collected wiki中的 第一步 部分。
Mac操作系统
brew install collectd
debian/ubuntu
sudo apt-get install collectd
选项1:作为库安装
sudo pip install sumologic_collectd_metrics
所有必需的依赖项都将随库安装一起自动安装。
选项2:使用源代码安装
sumo logic collected插件源代码可以保存在系统的任何目录中。从 pythonidex>;包索引>;sumologic_collected_metrics 或:
git clone https://github.com/SumoLogic/sumologic-collectd-plugin.git
sumo logic collected插件使用 请求和 库来处理https请求。如果没有安装。使用pip安装它们:
sudo pip install requests sudo pip install retry
如果您当前没有相扑逻辑帐户,请创建一个相扑逻辑帐户。
按照这些说明在sumo逻辑中设置http源。创建http源后,请确保获取url端点。
sumo logic collectd插件支持以下参数。要配置插件,请修改collectD名为collectD.conf的配置文件(例如 /etc/collectD/collectD.conf )。
所需参数
以下参数是必需的,必须在模块配置中指定。
<表> < COLGROUP > < COL/> < COL/> < COL/> < COL/> <正文> 姓名 说明 键入 必需的 url 要将度量值发送到的URL。当 在相扑逻辑网络应用程序上创建http源 。 字符串 正确 SDB类 收集原始数据的数据集规范。有关types.db的更多信息,请参阅collectd types.db 。collectd附带一个默认types.db文件,该文件位于collectd root目录下,例如 /usr/share/collectd/types.db 字符串格式为 "types1.db" , "types2.db" … 正确 < > <表>基本参数
以下参数不是严格要求的。建议设置这些参数,因为这些参数对于对指标进行分类和按指标进行搜索非常有用。
<表> < COLGROUP > < COL/> < COL/> < COL/> < COL/> <正文> 姓名 说明 键入 必需的 源名称 度量源的名称。 \u sourcename 可用于从该源搜索度量。它将覆盖相扑逻辑源配置中配置的默认值。 字符串 错误 源主机 度量主机的名称。 \u sourcehost 可用于从该主机搜索度量。它将覆盖相扑逻辑源配置中配置的默认值。 字符串 错误 源类别 收集的度量的类别。 \u sourcecategory 可用于从该类别中搜索度量。它将覆盖相扑逻辑源配置中配置的默认值。 字符串 错误 尺寸 有助于标识度量的键值对。收集的数据具有内在维度,键为 主机 , 插件 , 插件实例 , 类型 , 类型实例 , DS名称 , DS类型 。此处指定的其他维度有助于分离从该集合实例收集的度量,而从其他集合实例收集的metircs则有助于分离这些度量。维度不能包含保留符号和保留关键字 格式为 "key1"="val1", "key2"="val2" .. 错误 元数据 不用于标识度量的键值对。元数据主要用于帮助搜索度量。收集的数据可能具有内部元数据。此处指定的其他元数据可用于丰富现有元数据集。元数据不能包含保留符号和保留关键字 格式为 "key1"="val1", "key2"="val2" .. 错误 < > <表>附加参数
有关其他配置参数,请参见下面的高级参数。
示例配置
插件的示例配置如下所示(代码将添加到 collectd root/etc 下的 collectd.conf ):
LoadPlugin python <Plugin python> # Uncomment and update the following line if sumologic collectd plugin installed with source code # ModulePath "/path/to/sumologic-collectd-plugin" LogTraces true Interactive false Import "sumologic_collectd_metrics" <Module "sumologic_collectd_metrics"> TypesDB "/path/to/your/collectd/share/collectd/types.db", "/path/to/my_own_types.db" # At lease one types.db file must be specified URL "https://<deployment>.sumologic.com/receiver/v1/http/<source_token>" # URL must be specified # Uncomment and update the following lines to override the default metadata configured in the the Sumo Logic Source configuration # SourceName "my_source" # SourceHost "my_host" # SourceCategory "my_category" # Uncomment and update the following lines to add additional key=value pairs # Dimensions "my_dim_key1"="my_dim_val1", "my_dim_key2"="my_dim_val2" # Metadata "my_meta_key1"="my_meta_val1", "my_meta_key2"="my_meta_val2" </Module> </Plugin>
其他推荐模块
建议在collectd.conf中设置以下两个插件。这两个插件的功能在collectd wiki中进行了说明:plugin:logfile和plugin:csv:
LoadPlugin logfile <Plugin logfile> LogLevel "info" File "/var/log/collectd.log" Timestamp true PrintSeverity true </Plugin> LoadPlugin csv <Plugin csv> DataDir "/usr/local/var/lib/collectd/csv" </Plugin>
如果在Collectd中启用了以下脉冲。conf ,允许收集cpu, 内存 , 磁盘 , 磁盘ollectd.org/wiki/index.php/plugin:interface" rel="nofollow">网络 系统指标:
LoadPlugin cpu LoadPlugin memory LoadPlugin disk LoadPlugin interface
collectd wiki中提供了所有collected插件的列表
保留符号
等号和空格是保留符号:
"=", " "
保留关键字
以下术语仅供Sumo Logic内部使用:
brew install collectd0
通过运行collectd开始发送度量,例如(命令将根据collectd的安装而不同):
brew install collectd1
查看日志
如果安装了日志文件,则可以通过跟踪collectd.log文件来查看日志,例如(命令可以不同,具体取决于collectd安装):
brew install collectd2
数据模型
sumo logic collectd插件将使用碳2.0格式发送度量,定义为:
brew install collectd3
维度 和 元数据 是由两个空格分隔的字符串的键/值对。 维度 唯一标识度量,而元数据对标识度量没有帮助。相反,它们用于对搜索指标进行分类。 值 是一个双数。 时间戳 是一个10位的unix epoch时间戳
压缩前的示例数据:
brew install collectd4
命名模式
collectd使用非常强大的命名模式来标识每个统计值。它已经被证明是非常通用和灵活的,但一开始可能会让人困惑,特别是对新用户来说。您可以通过以下wiki了解更多信息:collectd naming schema
压缩
在发送度量之前,对其进行批处理和压缩。压缩算法是 "deflate" 。有关该算法的详细说明,请参阅deflate算法的说明。或者,可以为gzip压缩指定 "gzip" ,为不压缩指定 "none" 。
错误处理
默认情况下,sumo logic collected插件在异常时重试。当所有重试都失败时,请求将被安排为以后的尝试,或者根据缓冲区状态被丢弃。默认情况下,会缓冲1000个请求。如果缓冲区已满,则将删除所有重试后失败的请求。否则,它将被放回处理队列以进行下一次运行。
要查看collectd插件发送的度量,请登录sumo logic并打开一个metrics选项卡。使用维度或元数据查询度量,例如:
brew install collectd5
您应该能够看到主图表中显示的指标。