Ответ
Мой рабочий день строится вокруг набора утилит для разных задач:
Для оперативного мониторинга и отладки:
htop/btop— мониторинг ресурсов (CPU, память, процессы).nethogs,iftop— анализ сетевого трафика.journalctlиtail -f— просмотр логов в реальном времени.strace/perf— профилирование и отладка процессов.kubectl(если работаю с K8s) — основной инструмент для управления кластером.
Для анализа и обработки данных:
jq— незаменим для парсинга и форматирования JSON (например, ответов от API).grep,awk,sed— классика для обработки текста в конвейерах (pipes).tcpdumpиwireshark(в CLI режиме) — для глубокого анализа сетевых пакетов.
Для автоматизации и управления инфраструктурой:
- Скрипты: Пишу на Bash для простых задач и на Python (с библиотеками
boto3,requests) для более сложной логики, например, для автоматического сбора метрик или управления облачными ресурсами. - Конфигурация: Использую Ansible для управления конфигурацией множества серверов.
Пример: Чтобы быстро найти все failed-поды в Kubernetes и увидеть причину, я часто использую связку:
kubectl get pods --all-namespaces --field-selector=status.phase!=Running | grep -v "Completed"
А затем детально смотрю логи конкретного пода с помощью kubectl logs <pod_name> --previous.