Рубрика «логирование»

Когда я начал разбираться в SOC (Security Operations Center), то довольно быстро понял, что стандартная Windows не дает особого понимания, что вообще внутри нее происходит. События входа, создание процессов, изменение политик – все это просто не пишется либо пишется в достаточно урезанном виде.

Читать полностью »

Знакомая ситуация: бот вроде бы работает. Люди тыкают кнопки, получают ответы, всё хорошо. Но иногда случается странное.

Прилетает сообщение в поддержку: «Бот не отвечает». Или ещё хуже: «Бот выдал какую‑то ошибку и всё». Вы бежите к терминалу, поднимаете историю... и ничего не видите. Ни ошибки, ни стека, ни даже намёка на то, где именно всё сломалось.

Вы просто слепы.

Без нормальных логов вы не понимаете ровно ничего: обработчик не сработал, API молчит, база данных упала или вы просто забыли зарегистрировать хендлер. Спойлер: я через это проходил, и не раз.

Читать полностью »

Эпоха монолитов прошла, и сейчас логи больше путают, чем помогают. Несколько сервисов, несколько журналов и противоречащие друг другу строки — ни одной очевидной причины в этом монотонном расследовании. Но поиск можно сузить, а ответ почти всегда находится в цепочке событий. 

Как читать логи, когда их слишком много - 1

Читать полностью »

“Где мои логи — в /var/log/messages, /var/log/syslog или только в journalctl?” — этот вопрос рано или поздно задает себе каждый инженер, который вынужден переключаться между разными дистрибутивами: Ubuntu, CentOS, Alpine, корпоративные Unix системы. 

Типичный сценарий: вы заходите на сервер, ищете /var/log/messages, а его или нет, или он есть, но journalctl показывает гораздо больше событий, чем файл.

Свою лепту вносит разнородный парк, где рядом с Ubuntu живут динозавры на AIX и Solaris, путаница приобретает глобальный характер.

Читать полностью »

Привет! Я Никита, Staff-инженер в крупном финтехе. В этой статье я хочу поделиться нашим опытом построения системы observability. Мы прошли путь от простых логов до сквозной трассировки, и я покажу, как это работает на фронтенде.

TL;DR: В статье разбираем опыт внедрения OpenTelemetry в крупном финтех-проекте.
Проблема: Логи без контекста не позволяют быстро найти причину 500-й ошибки в распределенной системе.
Решение: Сквозная трассировка (Distributed Tracing) от фронтенда до бэкенда.
Что внутри: Реализация CompositeLogger на TypeScript, патчинг fetchЧитать полностью »

«Жизнь требует движения» (Аристотель)

«Жизнь требует движения» (Аристотель)

Привет! Это моя первая статья тут, я надеюсь получилось читабельно и интересно :-)

Читать полностью »

Введение: Боль и страдания от print() и стандартного logging

Если вы пишете на Python, скорее всего, ваша карьера разработчика начиналась с одной простой, но незаменимой команды — print(). Нужно проверить значение переменной? print(my_variable). Хотите убедиться, что функция вообще вызвалась? print("Я внутри функции!"). Этот метод прост, интуитивно понятен и кажется верным другом в мире отладки.

Но дружба эта длится ровно до первого серьезного проекта. Внезапно оказывается, что ваш терминал завален десятками отладочных сообщений, и вы уже не понимаете, какое из них к чему относится. Вы начинаете писать print("--- HERE ---")Читать полностью »

Next.js меня окончательно достал - 1

Наконец, настал этот момент, и я решился написать статью. Давно хотел, но как-то не хватало мотивации. А ведь, знаете, как говорят: «гнев — лучший мотиватор». Есть же такое выражение?

Предыстория

Читать полностью »

Привет! Какое-то время назад, в процессе изучения bash-скриптов, старался углубляться в тему и искал себе больше практики посредством решения любых, даже мельчайших задач. Одной из таких был скрипт, удаляющий временные файлы, старые дампы, папки node_modules от давно забытых проектов. Нашёл его на днях совершенно случайно. Протестил его на виртуалке, скрипт рабочий, но ужасно костыльный и неприятный визуально.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js