Kafka中提供多项监控指标,您可以将Kafka中的监控指标接入到全栈监控应用中,进行可视化展示。

前提条件

  • 已创建实例。具体操作,请参见创建实例
  • 已在Kafka服务器上安装Java 1.6或以上版本。

步骤一:创建Logtail采集配置

  1. 登录日志服务控制台
  2. 日志应用区域,单击全栈监控
  3. 全栈监控页面,单击目标实例。
  4. 数据接入页面,选择Kafka。

    首次创建目标监控项的接入配置时,打开创建开关,可进入配置页面。如果您已创建过接入配置,则单击创建图标,可进入配置页面。

  5. 安装logtail配置向导中,选择目标机器,然后单击下一步
    • 如果是在ECS中安装Logtail,则在ECS机器页签中,选中目标ECS,单击立即执行即可。更多信息,请参见安装Logtail(ECS实例)
    • 如果在自建服务器或其他云厂商服务器上安装Logtail,则需手动在目标服务器中安装Linux Logtail 0.16.48及以上版本。具体操作,请参见安装Logtail(Linux系统)
    注意 请确保用于安装Logtail的服务器可连接Kafka服务器。
  6. 创建机器组配置向导中,创建机器组,然后单击下一步
    日志服务支持创建IP地址机器组和用户自定义标识机器组,详细参数说明请参见创建IP地址机器组创建用户自定义标识机器组
  7. 机器组配置配置向导中,将目标机器组从源机器组移动到应用机器组,然后单击下一步
    注意 如果创建机器组后立刻应用,可能因为连接未生效,导致心跳为FAIL,您可单击自动重试。如果还未解决,请参见Logtail机器组无心跳进行排查。
  8. 数据源设置配置向导中,配置如下参数,然后单击完成
    参数名称 说明
    配置名称 自定义设置Logtail采集配置的名称。
    集群名称 自定义设置Kafka集群的名称。

    设置该参数后,日志服务会为通过该Logtail采集配置采集到的Kafka监控数据添加cluster=集群名称的标签。

    注意 请确保该集群名称唯一,否则可能出现数据冲突。
    服务器列表 设置Kafka服务器信息,具体配置项说明如下:
    • 地址:Kafka服务器的地址,支持IP地址、主机名或域名。
    • 端口:Kafka服务器的端口号,默认为7777。

    您可以根据业务需求,添加多台Kafka服务器的信息。

    自定义标签 为采集到的Kafka监控数据添加自定义标签,该标签为键值对形式。

    设置该参数后,日志服务会为通过该Logtail采集配置采集到的Kafka监控数据添加标签。

    设置完成后,日志服务将自动生成Metricstore等资产。更多信息,请参见资产说明

步骤二:设置JavaAgent

创建Logtail采集配置后,您还需在Kafka服务器上设置JavaAgent。日志服务支持通过Jolokia设置JavaAgent。您可以按照Jolokia官方文档下载及使用Jolokia,也可以使用日志服务Logtail自带的Jolokia JavaAgent。Logtail自带的Jolokia JavaAgent位于/etc/logtail/telegraf/javaagent/jolokia-jvm.jar中。

  1. 在Kafka所在机器上设置KAFKA_JVM_PERFORMANCE_OPTS环境变量。
    例如设置为export KAFKA_JVM_PERFORMANCE_OPTS=-javaagent:/etc/logtail/telegraf/javaagent/jolokia-jvm.jar=port=7777,其中7777为服务器的端口号,要与步骤一:创建Logtail采集配置中配置的端口号保持一致。
    说明 默认Jolokia JavaAgent只在127.0.0.1上监听,即只允许本机请求。如果您的Logtail和被监控的应用不在相同的机器上,您可以在添加的脚本中补充host=字段,使其可监听其他IP地址。如果设置为host=0.0.0.0,则表示监听所有IP地址。相关命令如下所示:
    -javaagent:/tmp/jolokia-jvm.jar=port=7777,host=0.0.0.0
  2. 重启Java应用。
    如果您暂时无法重启应用,可使用如下命令将Jolokia JavaAgent连接到指定的Java进程,实现实时生效。其中Java进程PID请根据实际值替换。
    注意 该操作仅用于测试。在实际场景中,请确保已按照上述操作完成配置,否则重启后将失效。
    java -jar /etc/ilogtail/telegraf/javaagent/jolokia-jvm.jar --port 7777 start Java进程PID
    如果返回如下类似信息,表示连接成功。
    Jolokia is already attached to PID 752
    http://127.0.0.1:7777/jolokia/
  3. 访问目标URL,验证连接是否正常。
    curl http://127.0.0.1:7777/jolokia/
    如果返回如下类似信息,表示连接正常。
    {"request":{"type":"version"},"value":{"agent":"1.6.2","protocol":"7.2","config":{"listenForHttpService":"true","maxCollectionSize":"0","authIgnoreCerts":"false","agentId":"30.43.124.186-752-5b091b5d-jvm","debug":"false","agentType":"jvm","policyLocation":"classpath:\/jolokia-access.xml","agentContext":"\/jolokia","serializeException":"false","mimeType":"text\/plain","maxDepth":"15","authMode":"basic","authMatch":"any","discoveryEnabled":"true","streaming":"true","canonicalNaming":"true","historyMaxEntries":"10","allowErrorDetails":"true","allowDnsReverseLookup":"true","realm":"jolokia","includeStackTrace":"true","maxObjects":"0","useRestrictorService":"false","debugMaxEntries":"100"},"info":{"product":"tomcat","vendor":"Apache","version":"8.5.57"}},"timestamp":1602663330,"status":200}⏎

后续步骤

接入Kafka监控数据后,全栈监控应用会自动生成专属仪表盘。您可以通过仪表盘分析监控数据。更多信息,请参见查看仪表盘