Хелло май диа френдз. Сегодня
Но поговорим не про системное логирование процесса crond, а про более развернутое. Развернем наизнанку, кровь кишки, как ты любишь...
К примеру у тебя есть консольное приложение, после запуска которого, на экран выводится какой-либо результат.
Всё хорошо когда запустил ручками и посмотрел. Словил ВАУ эффект! Но если повесить эту задачу на cron, то в системном журнале ты увидишь лишь дату и время запуска.
Jul 11 00:00:01 bashdays CRON[123456]: (user) CMD (/var/www/htdocs/bin/console export:users)Пожалуй очень информативно, правда? Ну запустился, а что произошло внутри,
Щас исправим и получим красивое. Достаточно в конец команды добавить:
>> /var/log/cronlogs/www-console.log
тип того:* */1 * * * php /var/www/htdocs/bin/console export:users >> /var/log/cronlogs/www-console.logТеперь весь выхлоп с команды
console export:users будет аккуратненько логироваться в файл www-console.log. По итогу в файле получаем красоту:Папку только не забудь создать в /var/log, а то оно дурное и не додумается само.
[2023-07-11 10:04:20] service.stats.INFO: Processing usersПо желанию грепаем нужное нам, ну и всегда остаемся в курсе событий, зная что же происходит под капотом. Кстати отлично помогает при дебаге. То что кроновская задача выполнилась, еще ни о чем не говорит, внутри может быть злобный эксепшен 😡
[2023-07-11 10:04:20] service.stats.INFO: Updating local stats
[2023-07-11 10:04:20] service.stats.INFO: Updating count users
[2023-07-11 10:04:26] service.stats.INFO: Updating total stats
[2023-07-11 10:04:26] service.stats.INFO: Export Success
Да и не забываем накинуть logrotate, чтобы место на диске не сжирало бигдатой, а лучше сразу перенаправляй это дело в какой-нибудь агрегатор логов типа ELK или LOKI.
Бонусом лови конфиг для logrotate, чтоб в гугле не лопатить:
/var/log/cronlogs/www-console.log {
su root root
daily
missingok
rotate 14
compress
notifempty
sharedscripts
}
Есть ли другие способы мониторинга для подобных ситуаций? Конечно есть! Но способ который я описал выше, используется практически всеми. По крайней мере я на него натыкаюсь постоянно у ребят в различных компаниях.Потому что люди не любят усложнять и предпочитают быстренько наговнокодить, получить желаемый результат и дальше смотреть свои любимые сериальчики и наши мемчики тут и тут.
О других способах я обязательно напишу отдельный пост, пусть это будет интригой, ну а может ты сам загуглишь и нам потом расскажешь.
В общем адью, албибэк, увидимся! 😎
tags: #linux
—
🟢 Подпишись: @bashdays