Как зарегистрировать python сценарий входа в систему регистрации в стеке Google, работающей на виртуальной машине Google Cloud - PullRequest
0 голосов
/ 15 марта 2020

Я использую виртуальную машину Google Cloud для запуска моих python сценариев, запланированных на cron, я ищу какой-нибудь способ проверить журналы сценариев, а также добавить свой журнал запуска сценариев в ведение журнала стека драйверов Google

В любом случае можно добавить python скрипт входа в журнал стека драйверов Google, добавляя его в файл журнала в вычислительном движке. Каковы обычные подходы для таких вещей? Пожалуйста, предложите.

          • / usr / bin / python / home / parida_srikanta / test .py >> logs.log 2> & 1

BR / SRIKANTA

Ответы [ 2 ]

0 голосов
/ 16 марта 2020

Вы можете использовать агент Cloud Logging с fluentd , таким образом вам не нужно менять свой скрипт, и вы можете хранить локальные файлы журналов на ваших виртуальных машинах.

Основные строки:

  • Настройка агента ведения журнала на вашей виртуальной машине (вручную или с помощью сценария запуска)
  • Настройка fluentd conf для создания выделенного журнала для ваших сценариев
  • Добавить журнал
  • Получить ваши журналы через Cloud Logging Viewer

См. Официальная документация для установки Cloud Logging Agent и Как настроить .

Основные шаги:

Установка агента на виртуальную машину:

curl -sSO https://dl.google.com/cloudagents/install-logging-agent.sh
sudo bash install-logging-agent.sh

Добавление выделенной конфигурации для вашего нового локального fluentd журнала внутри /etc/google-fluentd/config.d/:

<source>
    @type tail
    # Format 'none' indicates the log is unstructured (text).
    format none

    # The path of the log file.
    path /tmp/your-script-log.log

    # The path of the position file that records where in the log file
    # we have processed already. This is useful when the agent
    # restarts.
    pos_file /var/lib/google-fluentd/pos/your-script-log.pos

    read_from_head true

    # The log tag for this log input.
    tag your-script-log
</source>

Перезапустите агент

sudo service google-fluentd restart

Запишите в свой файл журнала: echo 'Test' >> /tmp/your-script-log.log

Вы получите ваш журнал внутри Cloud Logging Viewer

См. также мой ответ на другой вопрос, но с общей целью.

0 голосов
/ 15 марта 2020

Возможным решением будет создание сценария, который читает файл logs.log и записывает журналы в Stackdirver, предполагая, что у вашей виртуальной машины есть необходимые разрешения.

При использовании экземпляров виртуальной машины Compute Engine добавьте область доступа облачной платформы к каждому экземпляру. При создании нового экземпляра с помощью Google Cloud Console это можно сделать в разделе «Доступ к удостоверениям и API» на панели «Создать экземпляр». Используйте учетную запись службы Compute Engine по умолчанию или другую учетную запись по вашему выбору и выберите «Разрешить полный доступ ко всем облачным API-интерфейсам» в разделе «Доступ к API-интерфейсу». Какую бы учетную запись службы вы ни выбрали, убедитесь, что ей предоставлена ​​роль «Запись журналов» в разделе IAM & admin облачной консоли.

Настройка облачного ведения журнала для Python

Например, следующий скрипт:

 import google.cloud.logging
 import logging


 client = google.cloud.logging.Client()

 client.setup_logging()

 text = 'Hello, world!'

 logging.warning(text)

Вы можете найти журналы под журналом python в глобальном типе ресурса.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...