Google cloud platform 使用Logback'记录到Stackdriver;s控制台JSON追加器
我正在使用计算引擎虚拟机上的日志代理和Logback的控制台JSON附加程序,试图让Stackdriver正确地提取日志 在logback中,我有以下配置:Google cloud platform 使用Logback'记录到Stackdriver;s控制台JSON追加器,google-cloud-platform,logback,stackdriver,google-cloud-stackdriver,google-cloud-logging,Google Cloud Platform,Logback,Stackdriver,Google Cloud Stackdriver,Google Cloud Logging,我正在使用计算引擎虚拟机上的日志代理和Logback的控制台JSON附加程序,试图让Stackdriver正确地提取日志 在logback中,我有以下配置: 在Compute VM上,我安装了日志代理,并使用结构化配置: curl-sSOhttps://dl.google.com/cloudagents/install-logging-agent.sh sudobash安装-logging-agent.sh--结构化 来自应用程序的日志是JSON,并最终位于syslog中,大致如下: Se
在Compute VM上,我安装了日志代理,并使用结构化配置:
curl-sSOhttps://dl.google.com/cloudagents/install-logging-agent.sh
sudobash安装-logging-agent.sh--结构化
来自应用程序的日志是JSON,并最终位于syslog
中,大致如下:
Sep 11 08:21:08 backend-1 env[2440]: {"timestampSeconds":1568190068,"timestampNanos":703000000,"severity":"DEBUG","thread":"main","logger":"com.zaxxer.hikari.HikariConfig","message":"idleTimeout.....................600000","context":"default"}
问题是Stackdriver将其作为文本提取,并最终在Stackdriver日志查看器中处于错误状态:
{
insertId: "y5oc1500...f1j4fh"
jsonPayload: {
host: "backend-1"
ident: "env"
message: "{"timestampSeconds":1568190911,"timestampNanos":802000000,"severity":"DEBUG","thread":"HikariPool-1 connection closer","logger":"com.zaxxer.hikari.pool.PoolBase","message":"HikariPool-1 - Closing connection org.postgresql.jdbc.PgConnection@64c28b76: (connection has passed idleTimeout)","context":"default"}"
pid: "2440"
}
labels: {…}
logName: "projects/g...o/logs/syslog"
receiveTimestamp: "2019-09-11T08:35:17.538019705Z"
resource: {…}
timestamp: "2019-09-11T08:35:11Z"
}
它似乎没有将消息中的JSON作为日志条目,而是将其视为原始文本。我错过了什么