Skip to content

📄 Использование Papertrail для логирования

1. Описание сервиса

Papertrail — это облачный сервис для централизованного сбора, хранения и анализа логов из различных источников: серверов, контейнеров, микросервисов, мобильных приложений и других систем. Он предоставляет удобный интерфейс для поиска, фильтрации и уведомлений о событиях в реальном времени.

Возможности:

  • Централизованный сбор логов
  • Поиск по ключевым словам и фильтрация
  • Уведомления по email, Slack, Webhook
  • Поддержка множества технологий (syslog, Heroku, Docker, Rails, Node.js и др.)
  • Сохранение истории логов с возможностью архивации

2. Регистрация и настройка аккаунта

  1. Перейдите на https://papertrailapp.com
  2. Зарегистрируйте новый аккаунт
  3. После регистрации вы попадёте в веб-интерфейс Papertrail
  4. В меню слева выберите SystemsAdd a system
  5. Следуйте инструкциям для подключения нужного источника логов (сервер, приложение, контейнер)

3. Настройка отправки логов

Papertrail принимает логи через протоколы syslog (UDP/TCP) или HTTP.

3.1. Пример: Логирование с сервера Linux через rsyslog

Шаги:

  1. Откройте файл конфигурации rsyslog: bash sudo nano /etc/rsyslog.conf

  2. Добавьте строку внизу файла (замените logsX.papertrailapp.com и PORT на значения из вашего аккаунта): bash *.* @@logsX.papertrailapp.com:PORT

  3. Перезапустите rsyslog: bash sudo systemctl restart rsyslog


3.2. Пример: Логирование из Node.js приложения

Используйте библиотеку winston + winston-papertrail.

npm install winston winston-papertrail

Пример кода:

const winston = require('winston');
const Papertrail = require('winston-papertrail').Papertrail;

const logger = winston.createLogger({
  level: 'info',
  transports: [
    new Papertrail({
      host: 'logsX.papertrailapp.com',
      port: PORT,
      program: 'my-node-app',
      hostname: 'server-01'
    })
  ]
});

logger.info('Приложение запущено');

3.3. Пример: Интеграция с Docker

Добавьте параметры логирования при запуске контейнера:

docker run --log-driver=syslog \
  --log-opt syslog-address=udp://logsX.papertrailapp.com:PORT \
  --log-opt tag=my-docker-app \
  my-application

4. Работа с веб-интерфейсом

Основные возможности:

  • Live Tail: прослушивание логов в реальном времени
  • Search: поиск по ключевым словам, уровням логирования, источникам
  • Saved Searches: сохраненные запросы для быстрого доступа
  • Alerts: настройка уведомлений при появлении определенных строк
  • Groups & Systems: группировка по источникам логов

5. Настройка уведомлений

5.1. Email-уведомления

  1. Перейдите в раздел AlertsAdd an alert
  2. Укажите условия (например, "все ошибки уровня ERROR")
  3. Выберите получателей email
  4. Нажмите Save

5.2. Интеграция с Slack

  1. В разделе SettingsLog Destinations нажмите Add Destination
  2. Выберите Slack Webhook
  3. Вставьте URL из Incoming Webhook Slack
  4. Назначьте фильтры и сохраните

6. Безопасность

  • Papertrail использует шифрование данных на транспортном уровне (TCP/TLS)
  • Рекомендуется использовать TCP вместо UDP для более надежной передачи логов
  • Все данные хранятся в зашифрованном виде на стороне сервиса

7. Планы и стоимость

Тариф Лимит логов/мес Хранение Уведомления
Free 100 МБ 2 дня базовые
Hobby 1 ГБ 7 дней расширенные
Pro от 5 ГБ до 30 дн Slack, API
Enterprise неограниченно до 1 г. SSO, SAML

Подробнее на странице тарифов


8. Полезные ссылки