search
数据采集 采集源配置 external 指标采集

external 指标采集

简介

external 采集源支持执行一些外部采集器,这些外部采集器通常对运行环境有一定依赖(如依赖特定动态库,或者依赖 Python 环境)。

前置条件

配置

进入 DataKit 安装目录下的 conf.d/external 目录,复制 external.conf.sample 并命名为 external.conf。示例如下:

[[inputs.external]]

# 外部采集器名称
name = 'some-external-inputs'  # required

# 是否以后台方式运行外部采集器
daemon = false

# 如果以非 daemon 方式运行外部采集器,则以该间隔多次运行外部采集器
#interval = '10s'

# 运行外部采集器所需的环境变量
#envs = ['LD_LIBRARY_PATH=/path/to/lib:$LD_LIBRARY_PATH',]

# 外部采集器可执行程序路径(尽可能写绝对路径)
cmd = "python" # required

args = []

比如 oraclemonitor 采集器就是通过 external 这个采集器来实现的:

[[inputs.external]]

daemon = true   # oraclemonitor 采集器启动之后,在后台运行
name = 'oraclemonitor'

# 外部采集器的程序路径
cmd  = "/usr/local/cloudcare/dataflux/datakit/externals/oraclemonitor" 

# 外部采集器参数列表
args = [ 
    '-instance-id'    , '<your-instance-id>'        ,
    '-metric-name'    , 'oracle_monitor'            ,
    '-internal'       , '1m'                        ,
    '-instance-desc'  , '<your-oracle-description>' ,
    '-host'           , '<your-oracle-host>'        ,
    '-port'           , '1521'                      ,
    '-username'       , '<oracle-user-name>'        ,
    '-password'       , '<oracle-password>'         ,
    '-service-name'   , '<oracle-service-name>'     ,
    '-cluster-type'   , 'single'                    ,
    '-oracle-version' , '11g'                       ,
]

# 外部采集器所需的动态库链接路径
envs = [ 
    'LD_LIBRARY_PATH=/opt/oracle/instantclient_19_8:$LD_LIBRARY_PATH',
]