Node.js @google-cloud/logging-winston не работает внутри экземпляра GCE
Я использую npm @google-cloud/logging-winston для отправки событий журнала приложений в приемники журналов стекового драйвера Google. Ниже приведен мой фрагмент кода, и он отлично работает в моем местном MacBook. Когда я пытаюсь запустить его внутри экземпляра GCE (экземпляр вычисления изображения ubuntu 16.10 в облаке Google), он не отправляет события журнала в приемники журналов, и я не могу увидеть его на панели управления журналом облака Google. Любая помощь здесь приветствуется
///// code start here
const winston = require('winston');
const Logger = winston.Logger;
const Console = winston.transports.Console;
const LoggingWinston = require('@google-cloud/logging-winston');
// Instantiates a Winston Stackdriver Logging client
const loggingWinston = LoggingWinston({
projectId: 'myproject-id',
keyFilename: 'mykey.json',
level: 'info',// log at 'warn' and above ,
labels: { "env": "poc" }
,
logName: "poc-gcl.log"
});
// Create a Winston logger that streams to Stackdriver Logging
// Logs will be written to: "projects/YOUR_PROJECT_ID/logs/winston_log"
const logger = new Logger({
level: 'info', // log at 'info' and above
transports: [
// Log to the console
new Console(),
// And log to Stackdriver Logging
loggingWinston
]
});
// Writes some log entries
logger.info('Node Winston logger initialized.Transport GCL Stakdriver logging',
{ type: "poc", server: "test" });
//code ends here.
заранее спасибо - зазубрина
2 ответа
Была такая же проблема, в конце концов, это потому, что я смотрел не на то место:
Если вы входите из-за пределов Google Cloud Platform (например, вашего компьютера), если вы не предоставили ресурс для входа, библиотека по умолчанию направляет журналы на ресурс "Global".
Когда вы делаете то же самое из Google Cloud Platform, журналы можно найти в категории "GCE VM Instance".
Возможно, не ответ, но это может помочь. У меня также была проблема с отправкой локальных журналов в Stackdriver и, наконец, я понял, что у моей служебной учетной записи нет необходимых прав доступа. В частности, роль "Писатель журналов".
https://cloud.google.com/iam/docs/granting-roles-to-service-accounts