【发布时间】:2018-12-18 21:54:50
【问题描述】:
我想知道对于 Cloud Composer 部署,将结构化日志记录发送到 Stackdriver 的合适方法是什么。我已经查看了 google-cloud-logging 模块供 python 调用插件或 DAG,但看起来这适用于尚未部署日志记录的项目。
我已按照this guide 将我的记录器的输出修改为 stdin / stderr 为 json 格式,输出类似于:{"message": "test error", "severity": "ERROR"}
但在检查 Stackdriver 日志时,它不会被解析为 JSON,而是按原样放置在消息正文中。
下面是它在 Stackdriver UI 中的外观(我已将敏感信息替换为泛型。消息字符串中 json 后面的新行是它在 Stackdriver 控制台中的外观)。
{
insertId: "xxxxxxxxx"
jsonPayload: {
message: "{"message": "This is WARN TEST", "severity": "WARNING"}
"
python_logger: "airflow.processor"
}
logName: "projects/project_name/logs/airflow-scheduler"
receiveTimestamp: "2000-01-01T00:00:0.0000000Z"
resource: {
labels: {
environment_name: "ariflow-environment-name"
location: "us-location2"
project_id: "project_name"
}
type: "cloud_composer_environment"
}
severity: "INFO"
timestamp: "2000-01-01T00:00:0.0000000Z"
}
有没有人使用上述或其他方法成功地将结构化日志从 Composer 发送到 Stackdriver?
【问题讨论】:
标签: google-kubernetes-engine google-cloud-stackdriver google-cloud-composer