Использование опций для фильтрации и форматирования логов сервиса
На этом этапе мы рассмотрим некоторые полезные опции для фильтрации и форматирования вывода команды docker service logs
. Эти опции помогут вам найти конкретную информацию в логах и сделать вывод более читаемым.
Одной из распространенных потребностей является просмотр только самых последних записей лога. Вы можете использовать опцию --tail
, чтобы указать количество строк, которые нужно отобразить с конца логов. Например, чтобы просмотреть последние 5 строк логов для сервиса my-service
:
docker service logs --tail 5 my-service
Это выведет последние 5 записей лога из сервиса.
my-service.1.abcdefghijkl 64 bytes from 1.2.3.4: seq=10 ttl=50 time=123.456 ms
my-service.1.abcdefghijkl 64 bytes from 1.2.3.4: seq=11 ttl=50 time=123.456 ms
my-service.1.abcdefghijkl 64 bytes from 1.2.3.4: seq=12 ttl=50 time=123.456 ms
my-service.1.abcdefghijkl 64 bytes from 1.2.3.4: seq=13 ttl=50 time=123.456 ms
my-service.1.abcdefghijkl 64 bytes from 1.2.3.4: seq=14 ttl=50 time=123.456 ms
Другая полезная опция - --since
, которая позволяет просматривать логи, сгенерированные после определенного временного штампа или периода времени. Например, чтобы просмотреть логи, сгенерированные за последние 5 минут:
docker service logs --since 5m my-service
Вы также можете указать конкретный временной штамп в формате RFC3339Nano, дату (ГГГГ-ММ-ДД) или дату и время (ГГГГ-ММ-ДДТЧЧ:ММ:СС).
Чтобы включить временные штампы в вывод, используйте флаг --timestamps
или -t
:
docker service logs -t my-service
Это добавит временной штамп в начало каждой записи лога.
2023-10-27T10:30:00.123456789Z my-service.1.abcdefghijkl PING labex.io (1.2.3.4): 56 data bytes
2023-10-27T10:30:01.123456789Z my-service.1.abcdefghijkl 64 bytes from 1.2.3.4: seq=0 ttl=50 time=123.456 ms
...
Наконец, вы можете комбинировать эти опции, чтобы уточнить просмотр логов. Например, чтобы просмотреть последние 10 записей лога с временными штампами:
docker service logs --tail 10 -t my-service
Эти опции обеспечивают гибкость в просмотре и анализе логов Docker-сервиса, упрощая мониторинг и устранение неполадок в ваших приложениях.
Перед завершением лабораторной работы очистим созданный нами сервис. Мы можем удалить сервис с помощью команды docker service rm
.
docker service rm my-service
Вы увидите вывод, подтверждающий удаление сервиса.
my-service
Эта команда останавливает и удаляет все задачи, связанные с сервисом.