GCE虚拟机Ops Agent日志采集服务异常排查求助
排查GCE Ops Agent日志组件启动失败及OAuth2令牌获取错误的方向
深入分析SIGSEGV崩溃日志
- 检查Fluent Bit核心转储文件(若启用):路径通常为
/var/lib/google-cloud-ops-agent/fluent-bit/core - 使用GDB分析崩溃栈:执行
gdb /usr/bin/google-cloud-ops-agent-fluent-bit <core-file>,定位崩溃模块,重点关注MongoDB集成或Stackdriver输出相关逻辑 - 查看崩溃前详细日志:检查
/var/log/google-cloud-ops-agent/google-cloud-ops-agent-fluent-bit.log,寻找崩溃触发前的异常输出
- 检查Fluent Bit核心转储文件(若启用):路径通常为
验证OAuth2令牌获取的底层链路
- 手动调用元数据服务器获取令牌:执行
curl -H "Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/token,确认返回包含access_token字段 - 检查元数据服务器连通性:执行
ping metadata.google.internal,排除网络拦截问题 - 验证服务账号权限有效性:若安装了gcloud,执行
gcloud auth application-default print-access-token获取令牌,再调用Cloud Logging测试接口:curl -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" https://logging.googleapis.com/v2/entries:list,确认有权限访问
- 手动调用元数据服务器获取令牌:执行
排查MongoDB集成配置的兼容性问题
- 确认MongoDB版本是否近期变更:Ops Agent对MongoDB版本有兼容范围,版本不匹配可能导致输入插件崩溃
- 临时注释
/etc/google-cloud-ops-agent/config.yaml中的MongoDB日志采集配置,重启Ops Agent,验证日志组件是否能正常启动,排除配置触发的崩溃 - 检查MongoDB日志格式是否有变化:若新增特殊字符或异常字段,可能导致Fluent Bit解析时崩溃
检查Ops Agent版本与系统依赖
- 确认当前Agent版本:执行
google-cloud-ops-agent --version,对比官方稳定版,尝试升级(注意备份配置文件) - 检查系统依赖库:执行
ldd /usr/bin/google-cloud-ops-agent-fluent-bit,确认依赖库版本是否存在兼容性问题 - 查看系统级日志:检查
/var/log/syslog或/var/log/messages,寻找与Fluent Bit相关的系统错误
- 确认当前Agent版本:执行
确认服务账号访问范围与IAM政策
- 通过元数据服务器验证访问范围:执行
curl -H "Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/scopes,确认包含https://www.googleapis.com/auth/logging.write和https://www.googleapis.com/auth/cloud-platform - 排查组织级IAM政策:确认是否有组织层面的政策变更,限制了服务账号的令牌获取权限
- 通过元数据服务器验证访问范围:执行
内容的提问来源于stack exchange,提问作者Sandra Moreno
相关产品推荐
相关产品推荐

