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

Другие вопросы по тегам