Отладка и диагностика
Разбор проблем, логи, strace, core dump, контрольные суммы, производительность и расследования.
Материалы для случаев, когда что-то сломалось, тормозит или ведет себя подозрительно.
Less и секретный режим мониторинга
Я пробовал разные инструменты, но только less позволил мне объединить просмотр и поиск в одном окне. Я могу прыгать по строкам, искать IP‑адреса и мгновенно возвращаться в режим слежения нажатием SHIFT+F. Это экономит кучу времени и делает работу с логами почти приятным развлечением. Если ты ищешь лёгкий способ улучшить наблюдение за логами, этот трюк спасёт тебя.
Тайна вызова Less в Linux утилитах
Знаешь этот бесконечный скролл в git log? Кто-то привык к пагинации, кто-то тупо шпарит grep. Я расскажу тебе как git управляет выводом истории коммитов через внешнюю утилиту less. И да, если её убить — простыня посыплется без остановки. Я даже strace подключил чтобы убедиться. А под конец вскрою тему переменной PAGER — ты можешь туда воткнуть что угодно, хоть vim, хоть lolcat. И это жирный вектор атаки, который пентестеры обожают.
Awk для новичков. Как автоматизировать анализ логов
Я знаю, что сейчас все гонятся за JSON, и это удобно для новичков. Но когда речь заходит о реальной работе с большими логами, я всегда возвращаюсь к awk. Мой опыт показывает, что для быстрых фильтров и обработки огромных объемов данных awk часто обходит современные форматы. Я покажу, как использовать его мощь, когда другие инструменты начинают тормозить.
Диагностика проблем 1С через контрольные суммы
Если 1С начинает работать с ошибками и стандартные методы не помогают, причина может быть в повреждённых файлах. В посте показан способ сравнения каталогов с помощью rsync и md5sum. Разбираем, как найти расхождения и подтвердить проблемы с диском. Актуально для системных администраторов и DevOps инженеров.
Как дебажить Kubernetes и Docker с помощью «тулбоксов»
Любишь Kubernetes и Docker, но дебаг — головная боль? Покажу, как тулбоксы с набором утилит помогают быстро диагностировать проблемы и даже внедрять debug-контейнеры прямо в pod. Работает и на обычном докере!
Как nano и vim работают с файлами
Иногда кажется, что редакторы работают одинаково, но это не так. Вчера проверял, почему lsof видит открытый файл в vim, но не в nano. В посте простой разбор с примерами и выводами.
Секретный инструмент в DevTools - Sensors
Если ты фронтендер или тестировщик — это must-have фича. Sensors помогает эмулировать геолокацию и поведение устройства, а Throttling — скорость сети, чтобы увидеть настоящие баги и слабые места.
Помещаем процессы в «клетку» или cgroups для начинающих
Сегодня покажу, как ограничить жор ресурсов у своих скриптов. Если хочешь, чтобы сервер не превращался в печку — тебе сюда.
Почему Docker возвращает неправильный Exit Code
Почему контейнер Docker «маскирует» код выхода приложения и как правильно настроить запуск, чтобы видеть настоящий exit code.
Как я оптимизировал тормоза 1С на PostgreSQL с помощью pidstat
Делюсь скриптом и лайфхаками, которые помогли нам понять, где именно «тормозит» база и 1С в реальной работе.
Настройка core dump в Docker
Если приложение в Docker внезапно упало, этот пост поможет настроить сбор дампов и разбираться с ошибками.
Погружение в Linux ядро. Мой опыт с fanotify и eBPF
Иногда проще сделать chown -R, но я решил заморочиться и написать свой мониторинг на eBPF. Рассказываю, что из этого вышло и почему это стоило того.
Коллизии MD5 и почему один байт может сломать всё
Показываю на примере, как MD5 может выдать одинаковый хеш для двух разных файлов и почему стоит перейти на более надёжные алгоритмы.
Ищем узкие места в проде с помощью strace
Если продакшен тормозит, strace поможет найти виновника и быстро исправить ситуацию.
Дебаг при подключении кастомного S3 к TaskWarrior
Мои попытки избавиться от сервера синхронизации и подключить кастомное S3 хранилище от Selectel в качестве базы данных для синхронизации между устройствами.
Закончилось место на диске? Или же закончились inode?
Ситуация неприятная и чаще всего выходом служит удаление «ненужных» файлов. Рассмотрим ситуацию, когда все файлы нужны, то есть удалять ничего не будем.
Telnet для сетевых инженеров. Автоматизация и обход логина
Если тебе надо быстро подключиться к сетевому устройству и выполнять команды — этот пост для тебя. Поделюсь рабочими скриптами для Telnet с и без логина, а также лайфхаками по парсингу ответов.
Как в процессе дебага убить 4 часа
Когда лезешь в логи, меняешь конфиги и думаешь, что проблема глобальная, а решается она одной галкой.
Манипулируем логами с помощью systemd-cat
Как направить логи прямиком в journald без костылей и внешнего софта.