我想知道对于Cloud Composer部署来说,向Stackdriver发送结构化日志记录的合适方法是什么。我已经研究了python的google-cloud-logging模块,以便在插件或DAG中调用,但它看起来是为尚未部署日志的项目设计的。
我遵循this guide将我的记录器的输出修改为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?
https://stackoverflow.com/questions/51275624
复制相似问题