Ops Agent 第三方应用配置实践( 二 )

必须在 nginx 配置文件中启用 stub_status 模块,以设置在本地可访问的网址,例如,为状态页面设置
http://www.example.com/status 。
server {listen 80;server_name 127.0.0.1;location /status {stub_status on;access_log off;allow 127.0.0.1;deny all;}location / {root /dev/null;}} 

  1. 为 nginx 配置 Ops Agent
以下命令会创建配置文件,以收集和注入 nginx 的日志和指标,并在 Linux 上重启 Ops Agent 。
sudo tee /etc/google-cloud-ops-agent/config.yaml > /dev/null << EOFlogging:receivers:nginx_access:type: nginx_accessinclude_paths:- /var/log/nginx/access.lognginx_error:type: nginx_errorinclude_paths:- /var/log/nginx/error.logprocessors:parse_json:type: parse_jsonset_http_request:type: modify_fieldsfields:httpRequest.status:move_from: jsonPayload.http_statustype: integerhttpRequest.requestUrl:move_from: jsonPayload.pathhttpRequest.referer:move_from: jsonPayload.refereromit_if: jsonPayload.referer = "-"service:pipelines:nginx:receivers:- nginx_access- nginx_errorprocessors: [parse_json, set_http_request]metrics:receivers:nginx:type: nginxstub_status_url: http://127.0.0.1:80/statusservice:pipelines:nginx:receivers:- nginxEOFsudo service google-cloud-ops-agent restart 
  1. 测试验证
重启代理后,通过测试请求验证,在 Cloud Logging中观察获取到的日志
Ops Agent 第三方应用配置实践

文章插图
 

Ops Agent 第三方应用配置实践

文章插图
 
Ops Agent & MySQL配置实践MySQL 集成会收集与 InnoDB、缓冲池和各种其他操作相关的性能指标 。它还会收集常规、错误和慢查询日志,并将其解析为 JSON 载荷 。错误日志会被解析为其错误代码和子系统 。慢查询日志会被解析为描述查询性能的键值对,包括查询时间和检查的行 。
  1. 配置示例
sudo tee /etc/google-cloud-ops-agent/config.yaml > /dev/null << EOFlogging:receivers:mysql_error:type: mysql_errormysql_general:type: mysql_generalmysql_slow:type: mysql_slowservice:pipelines:mysql:receivers:- mysql_error- mysql_general- mysql_slowmetrics:receivers:mysql:type: mysqlservice:pipelines:mysql:receivers:- mysqlEOFsudo service google-cloud-ops-agent restart 
  1. 以mysql_general 为例,日志包含 LogEntry 中的以下字段:
字段
类型
说明
jsonPayload.tid
数字
日志源自的线程 ID
jsonPayload.command
字符串
要记录的数据库操作的类型
jsonPayload.message
字符串
数据库操作的日志
timestamp
字符串 (Timestamp)
记录条目的时间
 
  1. Insert 测试

Ops Agent 第三方应用配置实践

文章插图
 
Ops Agent & Apache Kafka配置实践Apache Kafka 集成会收集代理指标,例如主题请求数和失败数 。它还会监控代理上的分区 。此外,该集成还会收集 Kafka 日志并将其解析为 JSON 载荷 。结果将包含日志记录器、级别和消息字段 。
  1. 配置示例
logging:receivers:kafka:type: kafkainclude_paths:- /tmp/kafka-logs/*service:pipelines:kafka:receivers:- kafkametrics:receivers:kafka:type: kafkaservice:pipelines:kafka:receivers:- kafka 
  1. 记录的内容
kafka 日志的 logName 派生自配置中指定的接收器 ID 。LogEntry 中的详细字段如下所示 。
字段
类型
说明
jsonPayload.source
字符串
发起日志的模块和/或线程 。
jsonPayload.logger
字符串
发起日志的日志记录器的名称 。
jsonPayload.message
字符串
日志消息,包括详细的堆栈轨迹(如果提供) 。
severity
字符串 (LogSeverity)
日志条目级别(已转换) 。
timestamp
字符串 (Timestamp)
收到请求的时间 。
任何空白或缺失的字段都不会出现在日志条目中 。
  1. 测试
  • 发布消息测试

Ops Agent 第三方应用配置实践

文章插图
 
  • Cloud Logging 查看日志

Ops Agent 第三方应用配置实践

文章插图
 
常见问题