📄 Использование Papertrail для логирования
1. Описание сервиса
Papertrail — это облачный сервис для централизованного сбора, хранения и анализа логов из различных источников: серверов, контейнеров, микросервисов, мобильных приложений и других систем. Он предоставляет удобный интерфейс для поиска, фильтрации и уведомлений о событиях в реальном времени.
Возможности:
- Централизованный сбор логов
- Поиск по ключевым словам и фильтрация
- Уведомления по email, Slack, Webhook
- Поддержка множества технологий (syslog, Heroku, Docker, Rails, Node.js и др.)
- Сохранение истории логов с возможностью архивации
2. Регистрация и настройка аккаунта
- Перейдите на https://papertrailapp.com
- Зарегистрируйте новый аккаунт
- После регистрации вы попадёте в веб-интерфейс Papertrail
- В меню слева выберите
Systems
→Add a system
- Следуйте инструкциям для подключения нужного источника логов (сервер, приложение, контейнер)
3. Настройка отправки логов
Papertrail принимает логи через протоколы syslog (UDP/TCP) или HTTP.
3.1. Пример: Логирование с сервера Linux через rsyslog
Шаги:
-
Откройте файл конфигурации rsyslog:
bash sudo nano /etc/rsyslog.conf
-
Добавьте строку внизу файла (замените
logsX.papertrailapp.com
иPORT
на значения из вашего аккаунта):bash *.* @@logsX.papertrailapp.com:PORT
-
Перезапустите 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-уведомления
- Перейдите в раздел
Alerts
→Add an alert
- Укажите условия (например, "все ошибки уровня ERROR")
- Выберите получателей email
- Нажмите Save
5.2. Интеграция с Slack
- В разделе
Settings
→Log Destinations
нажмитеAdd Destination
- Выберите
Slack Webhook
- Вставьте URL из Incoming Webhook Slack
- Назначьте фильтры и сохраните
6. Безопасность
- Papertrail использует шифрование данных на транспортном уровне (TCP/TLS)
- Рекомендуется использовать TCP вместо UDP для более надежной передачи логов
- Все данные хранятся в зашифрованном виде на стороне сервиса
7. Планы и стоимость
Тариф | Лимит логов/мес | Хранение | Уведомления |
---|---|---|---|
Free | 100 МБ | 2 дня | базовые |
Hobby | 1 ГБ | 7 дней | расширенные |
Pro | от 5 ГБ | до 30 дн | Slack, API |
Enterprise | неограниченно | до 1 г. | SSO, SAML |