Apache的卡夫卡是一个流行的分布式流媒体平台,成千上万的像New Relic的,尤伯杯和广场用于构建可扩展,高吞吐量,可靠的实时流系统的公司。但管理这样一个平台并非易事。亚马逊为Apache Kafka管理流媒体(MSK)抽象了Kafka的管理,因此您不必担心维护自己的数据流管道。

亚马逊MSK暴露在普罗米修斯兼容格式指标。而且,由于新文物普罗米修斯OpenMetrics集成从兼容的任何端点普罗米修斯收集的指标,您可以发送MSK指标到New Relic的一个平台

通过在New Relic One中收集Amazon MSK指标,您将能够将这些数据与基于代理的APM和基础设施数据结合起来;记录应用程序和主机的数据;和其他第三方遥测数据,如分布的痕迹,以创建一个实体中心的记录系统。然后可以使用这些组合数据构建仪表板图表和设置警报,目的是在整个应用程序堆栈中创建可观察性。

在这篇文章中,我们将解释如何收集和New Relic的使用亚马逊MSK指标。

第1步:建立一个Amazon MSK簇

要设置一个新的Amazon MSK集群,请按照亚马逊MSK入门指南

在设置集群时,可以使用以下JSON格式的定义文件:

clusterinfo。{"InstanceType": "kafka.m5. "大”、“ClientSubnets”:[“subnet-1”、“subnet-2”,“subnet-3”),“SecurityGroups”:“sg-1”},“EncryptionInfo ":{“EncryptionInTransit”:{“InCluster”:假的,“ClientBroker”:“明文”}},“ClusterName”:“PrometheusTest”、“EnhancedMonitoring”:“PER_TOPIC_PER_BROKER”、“KafkaVersion”:“2.2.1”、“NumberOfBrokerNodes OpenMonitoring“:3:{“普罗米修斯”:{" JmxExporter ":{“EnabledInBroker”:真},“NodeExporter”:{“EnabledInBroker”:真}}}}
  1. 确保安全组中的节点具有访问端口上的Prometheus指标的规则1100111002。有关管理安全组的详细信息,请参阅AWS文档。)
  2. 然后,发现你的卡夫卡节点的DNS名称:
    AWS卡夫卡列表节点--cluster-ARN “ARN:<簇ARN>”

    结果应该是相似的:

    “NodeInfoList”:[{ “AddedToClusterTime”: “2019-11-28T07:28:30.421Z”, “BrokerNodeInfo”:{ “AttachedENIId”: “ENI-XXX”, “BrokerId”: “2”, “ClientSubnet”:“子网-2”, “ClientVpcIpAddress”: “172.31.1.2”, “CurrentBrokerSoftwareInfo”:{ “KafkaVersion”: “2.2.1”}, “端点”:[“b-2.prometheustest.XXXX.kafka.us-east-2.amazonaws.com”]}, “InstanceType”: “m5.large”, “NodeARN”: “阿尔恩:AWS:卡夫卡:美东2:XXX”, “节点类型”: “经纪人”},
  3. 选择在你的子网中的节点,并记录这些信息。你需要它来配置New Relic的普罗米修斯OpenMetrics整合。
  4. 确认您可以访问普罗米修斯端点:
    卷曲:11001 /指标卷曲:11002 /指标

步骤2:建立新的Relic Prometheus OpenMetrics集成

如果你还没有这样做的话,创建一个EC2实例在同亚马逊虚拟私有云。

接下来,部署New Relic Prometheus OpenMetrics集成:

  1. 创建一个配置文件(config.yaml),或者使用我们的示例配置文件
    重要的是:一定要更改cluster_name设置。
  2. 配置配置文件中的亚马逊MSK终点目标:
    目标: - 描述:MSK网址:[ “HTTP:// :11001 /指标”, “HTTP:// :11002 /指标”]
  3. 添加HTTP://本地主机:8080 /度量端点来收集关于集成本身的度量。
  4. 开始使用以下命令整合:
    docker run -d——重启未停止\——name nri-prometheus \ -e LICENSE_KEY="YOUR_LICENSE_KEY" \ -v "$(pwd)/config.yaml:/config。yaml " \ newrelic / nri-prometheus: 1.2

    重要的是:取代你YOUR_LICENSE_KEY与你的New Relic许可密钥(要求)。

  5. 确认容器运行正常:
    泊坞窗ps的-f “NAME = NRI-普罗米修斯”

有关配置选项和使用Prometheus OpenMetrics集成的详细信息,请参见New Relic的文档

使用您的Amazon MSK指标在New Relic的数据

你得到的一体化运行后,它会立即开始发送亚马逊MSK指标,New Relic的。下面的例子演示了如何使用这些指标。

示例1:监视Kafka节点上的文件系统

Kafka的偏移保持策略可能会导致节点上的磁盘被填满。监视磁盘使用情况,以确保节点运行正常。

New Relic One制图器,选择度量node_filesystem_avail_bytes,在由小面域,选择设备名称即可查看每个设备文件系统的使用在集群。

New Relic的一个仪表盘图表,显示在亚马逊MSK集群文件系统的使用情况。

实施例2:监视生产者请求速率

为了确保健康的管道,你可以跟踪每秒发送的请求生产者的平均数量。

在“图表构建器”中,选择度量kafka_server_BrokerTopicMetrics_Count并过滤(缩小到)名称TotalProduceRequestsPerSec

实施例3:对卡夫卡节点存储警报

使用New Relic的通知创建一个警报条件以确保您的亚马逊MSK节点不违反关键存储阈值。

设置节点存储在亚马逊的MSK集群警报状态。

看到亚马逊MSK文档指标的完整列表你可以收集你的集群。

至于Kubernetes在New Relic的一个产品经理,JF帮助客户做的,排除故障意识,优化其Kubernetes环境。此前,他设计,部署,管理和自动化的全球和大型基础设施即服务解决方案的电信公司,并曾担任在启动显影开源网络虚拟化和分析软件的产品经理。通过查看帖子

有兴趣为新遗迹博客写作吗?188博彩体育网址给我们一个间距