Облачная платформаEvolution

Настроить сбор пользовательских логов в ops-agent

Эта статья полезна?

Примечание

Функциональность ops-agent находится на стадии Private Preview. Чтобы настроить сбор пользовательских логов для вашей организации, обратитесь в техническую поддержку.

По умолчанию агент собирает только системные логи. Дополнительно можно настроить сбор пользовательских логов.

Перед началом работы

  • Убедитесь, что на хосте установлен ops-agent.

  • Убедитесь, что необходимые лог-файлы созданы и содержат данные для сбора.

Внимание

Логи могут иметь разные форматы (текстовые, JSON, CSV и др.). Для корректной настройки сбора и разбора логов ознакомьтесь с инструкциями по поддерживаемым форматам в документации Telegraf.

Порядок действий

  1. Откройте терминал на виртуальной машине или физическом сервере.

  2. Создайте файл конфигурации в /etc/ops-agent/conf.d/logs.conf.

  3. Добавьте раздел inputs.tail и укажите пути к лог-файлам:

    [[inputs.tail]]
    ## -----------------------------------------------------------------
    ## Files to watch – change the path to where your log files live.
    ## -----------------------------------------------------------------
    files = ["/home/user/error_log.log"]
    ## Read from the beginning of the file on start? (usually false)
    from_beginning = false
    max_undelivered_lines = 100
    name_override = "myapp_log"
    watch_method = "inotify"
    ## -----------------------------------------------------------------
    ## Tell Ops-agent the lines are JSON.
    ## -----------------------------------------------------------------
    data_format = "json"
    ## -----------------------------------------------------------------
    ## Timestamp handling
    ## -----------------------------------------------------------------
    # The key that holds the timestamp string in the JSON document.
    json_time_key = "timestamp"
    # Layout that matches the ISO‑8601 format you emit.
    # 2006‑01‑02T15:04:05.000Z07:00 == 2025‑09‑17T11:45:46.474+00:00
    json_time_format = "2006-01-02T15:04:05.000Z07:00"
    # The `message` field is a free‑form string. Explicitly tell the JSON
    # parser to keep it as a string (otherwise it would also become a tag).
    json_string_fields = ["message"]
    [inputs.tail.tags]
    metric_type = "logaas"
  4. При необходимости добавьте несколько файлов:

    files = ["/var/log/myapp/app.log", "/var/log/other.log"]
  5. Перезапустите ops-agent:

    sudo systemctl restart ops-agent
  6. Проверьте работу агента сбора логов:

    sudo journalctl -efu ops-agent

Результат

Логи можно посмотреть в лог-группах. Название виртуальной машины, с которой получены логи, указано в столбце ID источника.