Ops Agent 第三方应用配置实践

作者:MeshCloud脉时云公有云架构师许多杰
引言Ops Agent 在 google Cloud Compute Engine 中将日志记录和指标组合到单个代理中,提供了用于收集日志和指标的基于 YAML 的配置,并具有高吞吐量日志记录功能,并且可以配置 Ops Agent 以从受支持的第三方应用收集日志和指标 。
 
整体架构

Ops Agent 第三方应用配置实践

文章插图
 
技术简介将 Ops Agent下载到 Compute Engine中,采用Ops Agent 自定义配置的方式,修改配置文件以覆盖默认的内置配置文件 。在Ops Agent配置文件中通过手动设置receivers、processors和service,以达到我们收集指定第三方应用log和metric的目的 。
 
Ops agent 自定义配置介绍
  1. 配置模型
Ops Agent 使用内置默认配置;您无法直接修改此内置配置 。但是,您可以创建包含替换内容的文件,代理重启时这些替换内容会与内置配置合并 。
 
配置的构成要素如下:
  • receivers:此元素描述代理要收集的信息 。
  • processors:此元素描述代理可以如何修改收集的信息 。
  • service:此元素将接收器和处理器连接在一起,以创建数据流,称为“流水线” 。service 元素包含一个 pipelines 元素,后者可包含多个流水线 。
内置配置由这些元素组成,我们可以使用相同的元素来替换该内置配置 。
每个接收器和每个处理器都可以用于多个流水线 。
 
  1. 内置配置
Ops Agent 的内置配置定义了日志和指标的默认收集 。下面显示了适用于 linux 和 windows 的内置配置:默认情况下,Ops Agent 会收集基于文件的 syslog 日志和主机指标 。
logging:receivers:syslog:type: filesinclude_paths:- /var/log/messages- /var/log/syslogservice:pipelines:default_pipeline:receivers: [syslog]metrics:receivers:hostmetrics:type: hostmetricscollection_interval: 60sprocessors:metrics_filter:type: exclude_metricsmetrics_pattern: []service:pipelines:default_pipeline:receivers: [hostmetrics]processors: [metrics_filter] 
  1. 用户指定的配置
如需替换内置配置,您需要向用户配置文件添加新配置元素 。将您的 Ops Agent 配置放在以下文件中:
  • 对于 Linux:/etc/google-cloud-ops-agent/config.yaml 。
  • 对于 Windows:C:Program FilesGoogleCloud OperationsOps Agentconfigconfig.yaml 。
用户指定的配置将在代理重启时与内置配置合并 。
 
如需替换内置接收器、处理器或流水线,请使用相同的标识符在 config.yaml 文件中重新定义它 。
例如,指标的内置配置包含一个指定 60 秒收集时间间隔的 hostmetrics 接收器 。如需将主机指标的收集时间间隔更改为 30 秒,请在 config.yaml 文件中添加名为 hostmetrics 的指标接收器,并将 collection_interval 值设置为 30 秒,如以下示例所示:
metrics:receivers:hostmetrics:type: hostmetricscollection_interval: 30s 
  1. 日志记录接收器
receivers 元素包含一组接收器,每个接收器由有 RECEIVER_ID 标识,,并包含一个 type 元素 。接收器描述如何检索日志;例如,通过跟踪文件、使用 TCP 端口或者从 Windows 事件日志检索 。
 
  1. 日志记录处理器
可选的 processors 元素包含一组处理指令,每个指令均由 PROCESSOR_ID 标识,并包含一个 type 元素 。处理器描述如何操作接收器收集的信息 。
  • parse_json:解析 JSON 格式的结构化日志 。
  • parse_multiline:解析多行日志 。(仅 Linux)
  • parse_regex:通过正则表达式模式解析文本格式日志,将其转换为 JSON 格式的结构化日志 。
 
  1. 日志记录服务
日志记录服务可自定义 Ops Agent 自己的日志的详细程度,并将日志记录接收器和处理器同时连接到流水线中 。service 部分包含两个元素:log_level 和 pipelines 。
 
Ops Agent & Nginx配置实践
  1. 概述
nginx 集成会收集连接指标和访问日志 。连接指标可捕获连接的当前状态:活动、读取或等待 。系统会根据连接详情解析访问日志,其中包括映射到请求、客户端、服务器和消息的字段 。
 
  1. 前提


    推荐阅读