更新时间:2024-10-23 GMT+08:00

自定义插件接入

操作场景

您可以使用自定义插件创建采集任务,监控用户指定的相关指标,并通过Exporter上报数据库指标,用于异常报警和Grafana监控大盘展示。

前提条件

创建自定义插件

UniAgent支持用户按需求自定义创建插件。您可以通过自定义脚本的方式创建插件,并在自定义插件接入中创建采集任务使用该插件,完成采集。

  1. 登录AOM 2.0控制台。
  2. 在左侧导航栏选择“接入中心”。
  3. 在“Prometheus 自定义插件接入”面板单击“新增自定义插件”卡片。
  4. 在创建插件页面中,配置相关参数信息。

    • 插件信息
      表1 插件信息参数表

      参数

      说明

      插件名称

      自定义插件的名称。由字母、数字、下划线组成,且以字母开头,最大32个字符。

      插件类型

      插件的类型。默认为自定义类型。

      描述

      对创建插件的描述。描述长度不能超过10000个字符。

    • 插件配置
      表2 插件配置参数表

      参数

      说明

      插件版本

      自定义插件的版本号。

      插件脚本

      自定义插件脚本,脚本类型为Linux和Windows。

      Linux:Shell脚本和Python脚本。

      示例:

      #!/bin/bash
      #Examples
      echo "metric_name{label_name=\"label_value\"} 100"

      Windows:Bat脚本

      示例:

      ::Examples
      @echo off
      echo metric_name{label_name="label_value"} 100

      默认脚本参数

      用户自定义脚本参数模板。支持字母、数字和下划线,具体的填写规则如下:

      • -字母:例如:-a
      • 字符组合:例如:http://127.0.0.1:80。不能包含黑名单字符("&"、"|"、">"、"<"、";"、"`"、"!"、"("、")"、"$"、"-")。
      • ${参数名}:参数名必须是字母开头、数字和下划线,长度不能超过64个字符,例如:${a_b}

      您可以根据自己的需求任意组合,以空格分隔,字符长度不能超过250。

      脚本参数

      默认脚本参数中的参数。输入默认脚本参数后,会根据默认脚本参数中的脚本参数自动识别脚本参数。

      脚本参数的参数信息如下:

      • 必填:开启该按钮,插件调试中的参数值为必填项;关闭该按钮,插件调试中的参数值可不填写。
      • 参数名:脚本参数的名称。
      • 默认值:脚本参数默认值。
      • 描述:对参数的描述。

  5. 完成后,单击“保存”。

    插件创建完成后,您可以对自定义插件进行编辑插件、为插件创建新版本和删除插件等操作。

    表3 相关操作

    操作

    说明

    查看插件状态

    选择待操作的插件,鼠标悬浮选显示,选择“版本”。在弹出页面中查看插件状态。

    • 未上线:当新建插件或创建新版本插件时,插件状态为“未上线”;单击版本号可以编辑插件信息。
    • 已上线:当单击操作列下的“上线”后,插件状态为“已上线”;单击版本号可以查看插件信息。

    创建新版本

    选择待操作的插件,鼠标悬浮选显示,选择“版本”。单击“创建新版本”,在弹出页面中,进行插件配置。

    说明:
    • 一个插件最多可创建5个不同版本。
    • 当只有一个插件版本时,操作列下只有复制插件操作;当存在两个及以上版本的插件时,操作列下有复制和删除操作,单击插件对应操作列下的“删除”按钮,可删除该插件版本信息。

    编辑插件

    选择待操作的插件,鼠标悬浮选显示,选择“编辑”,在弹出的编辑页面中,修改插件信息。

    删除插件

    选择待操作的插件,鼠标悬浮选显示,选择“删除”,在弹出页面中,单击“确认”,删除插件。

    说明:

    若插件已配置采集任务,则删除后,该插件对应的采集任务也会被删除。

自定义插件接入

  1. 登录AOM 2.0控制台。
  2. 在左侧导航栏选择“接入中心”,单击“Prometheus 自定义插件接入”面板已创建的自定义插件卡片的。
  3. 在采集任务配置页面中,参考下表配置相关参数信息。

    图1 配置采集任务
    表4 采集任务参数配置表

    操作

    参数

    说明

    选择实例

    Prometheus实例

    选择一个ECS Prometheus实例用于存储采集数据。

    采集任务通过关联ECS Prometheus实例,对采集数据进行标记分类。若当前没有可选的Prometheus实例,可以单击“创建普罗实例”,在Prometheus实例界面创建ECS Prometheus实例

    插件配置

    操作系统

    主机的操作系统,支持Linux和Windows。基于创建的自定义插件脚本的操作系统自动选择。

    采集插件

    默认已创建的自定义插件卡片。

    插件版本

    选择插件的版本。
    说明:

    未上线的插件版本,则置灰,无法选择。

    采集任务

    采集任务名

    采集任务的名称。大小写字母、数字、下划线、中划线,1-50个字符,开头字母开头。

    主机

    单击“添加主机”,选择主机。

    指定主机:选择已接入的主机。

    • 在指定主机页面,可通过主机名称、IP地址和Agent状态搜索选择主机。
    • 在指定主机页面,可通过右上角,取消已勾选的主机。
    • 选择的主机必须是UniAgent状态为运行中的主机,否则创建的采集任务无法采集数据。
    说明:

    当采集插件为自定义插件时,可以选择多个主机。

    高级设置

    包括采集周期和超时时间。

    • 采集周期(秒):采集数据的周期,单位为秒(s),默认为60s,可选择10s、30s和60s。
    • 超时时间(秒):执行采集任务的超时时间,单位为秒(s),默认为60s,可选择10s、30s和60s。
      说明:

      超时时间必须小于等于采集周期。

    • 执行用户:执行采集任务的用户,即所选主机的用户,默认为root。您可以根据主机用户,填写执行采集任务的用户,推荐填写root。

  4. 单击“创建”,完成自定义插件接入。
  5. 已接入的插件会显示在采集任务页面。单击对应的采集任务名称,在弹出的面板中可以查看采集任务的配置信息。