получение журналов из файла с помощью Ops Agent

# #google-cloud-platform #google-cloud-logging #google-cloud-ops-agent

Вопрос:

У меня есть скрипт python на виртуальной машине, который записывает журналы в файл, и я хочу использовать их в журнале Google.

Я попробовал эту конфигурацию yaml:

 logging:
  receivers:
    syslog:
      type: files
      include_paths:
      - /var/log/messages
      - /var/log/syslog
    etl-error-logs:
      type: files
      include_paths:
      - /home/user/test_logging/err_*
    etl-info-logs:
      type: files
      include_paths:
      - /home/user/test_logging/out_*
  processors:
  etl_log_processor:
    type: parse_regex
    field:       message
    regex:       "(?<time>d{4}-d{2}-d{2} d{2}:d{2}:d{2})s(?<severity>INFO|ERROR)s(?<message>.*)"
    time_key:    time
    time_format: "%Y-%m-%d %H:%M:%S"
  service:
    pipelines:
      default_pipeline:
        receivers: [syslog]
      error_pipeline:
        receivers: [etl-error-logs]
        processors: [etl_log_processor]
        log_level: error
      info_pipeline:
        receivers: [etl-info-logs]
        processors: [etl_log_processor]
        log_level: info
metrics:
  receivers:
    hostmetrics:
      type: hostmetrics
      collection_interval: 60s
  processors:
    metrics_filter:
      type: exclude_metrics
      metrics_pattern: []
  service:
    pipelines:
      default_pipeline:
        receivers: [hostmetrics]
        processors: [metrics_filter]
      error_pipeline:
        receivers: [hostmetrics]
        processors: [metrics_filter]
      info_pipeline:
        receivers: [hostmetrics]
        processors: [metrics_filter]
 

и это пример журналов: 2021-11-22 11:15:44 INFO testing normal

Я не до конца понял документы Google, поэтому я создал yaml настолько хорошо, насколько я понял, и со ссылкой на их основной пример, но я понятия не имею, почему он не работает

среда: виртуальная машина GCE

Вы хотите использовать эти журналы в GCP Log Viewer: да

За какими документами вы следили: https://cloud.google.com/stackdriver/docs/solutions/agents/ops-agent/configuration#logging-receivers

Как вы установили OpsAgent: в gce я ввел каждый экземпляр виртуальной машины, перешел в observability, и появилась возможность установить ops agent в облачной оболочке

Какие журналы вы хотите сохранить: я хочу сохранить все журналы, которые записываются в мой файл журнала в реальном времени.

журналы конкретных приложений: это процесс etl, который выполняется на python и сохраняет свои журналы в локальный файл на виртуальной машине

Комментарии:

1. Не могли бы вы поделиться более подробной информацией о своем окружении? Это виртуальная машина GCE? Вы хотите использовать эти журналы в GCP Log Viewer? Каким документам вы следовали? Как вы установили OpsAgent? Какие журналы вы хотите сохранить, журналы конкретных приложений?

2. @PjoterS Я добавил всю информацию к вопросу

3. Для подтверждения, вы изменили конфигурацию ops agent по умолчанию в /etc/google-cloud-ops-agent/config.yaml и перезапустили агент после изменений с помощью sudo service google-cloud-ops-agent restart command? Также не могли бы вы проверить, все ли в порядке с OPS Agent, используя эту документацию по устранению неполадок?

Ответ №1:

 sudo journalctl -xe | grep "google_cloud_ops_agent_engine"
 

Попробуйте выполнить эту команду, она должна показать вам точную (почти) ошибку