cucullus |
|
Темы:
256
Сообщения:
3435
Участник с: 06 июня 2007
|
Имеется сервис, запускаемый по таймеру. Сервис делает запросы и иногда пишет в базу (локальную). Сервис выполняется от меня (моего пользователя). Надо сделать мониторинг работы сервиса на вебстранице. Скрипт запускает journalctl от http и, соответственно, логов сервиса не видит. Как поступить? Вижу 2 варианта. 1) Запускать сервис от http. Но тогда надо менять права на файлы (в т.ч. базу), и получать некоторый гемор с редактированием кода из-за прав... 2) Добавить http в группу systemd-journal, но тогда вебсервер сможет видеть все логи системы, что не есть хорошо (? или пофиг?) Может кто сталкивался? Как такие вопросы решаются в сурьёзном бизнесе? ;) P.S. У меня продакшен местячкового уровня ;)
такие дела.
|
nafanja |
|
Темы:
94
Сообщения:
9252
Участник с: 02 июня 2012
заблокирован
|
запустить второй http сервер на localhost и каком нибудь другом порту от пользователя...
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874 |
cucullus |
|
Темы:
256
Сообщения:
3435
Участник с: 06 июня 2007
|
nafanja, не совсем понял идею... Выхлоп второго сервера через iframe подтягивать на основной? Страница со статусом сервиса должна быть часть сайта и доступна для всех (условно).
такие дела.
|
vs220 |
|
Темы:
22
Сообщения:
8070
Участник с: 16 августа 2009
|
А выводить логи сервиса в файл с соответствующими правами и затем просто парсить этот файл не подходит? |
nafanja |
|
Темы:
94
Сообщения:
9252
Участник с: 02 июня 2012
заблокирован
|
cucullus, никаких iframe!!! скрипт на php, или что там у тя на продакшене, конектится к http://127.0.0.1:8088 (с параметрами или без) и получает от туда нужные данные, потом их выводит уже внешнему клиенту как хочет.
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874 |
indeviral |
|
Темы:
38
Сообщения:
3165
Участник с: 10 августа 2013
|
Так, а в .service нельзя указать чтобы писал логи от конкретного пользователя, нуили доступные всем... Если нет, то просто указать группу http в сервисе.
Ошибки в тексте-неповторимый стиль автора©
|
vasek |
|
Темы:
48
Сообщения:
11320
Участник с: 17 февраля 2013
|
vs220Или просто копировать journal, а уж смотреть на другом компьютере ... хотя можно и сразу читать из файла, используя strings - правда придется посмотреть как смотреть нужное типа такого strings /var/log/journal/5c106ec245e849408ab7b1321a3a16ff/system.journal | less .... файл 6 мегов ... и наверное проще его скопировать, а уж потом journalctl ... или user-1000.journal ... - не помню, что нужно. EDIT 1 - помнится есть одна прога hw-probe, которая вытаскивает всю инфу о железе, в том числе и все логи, которые потом перенаправляются на заданный url - подробности не помню. EDIT 2 - и все таки проще вариант vs220 - написать юнит/таймер, который будет выводить нужные логи в файл (типа journalctl -b .... > /file) и отправлять их куда нужно
Ошибки не исчезают с опытом - они просто умнеют
|
vs220 |
|
Темы:
22
Сообщения:
8070
Участник с: 16 августа 2009
|
vasekВроде штатная возможность системд systemd-journal-upload Ну и systemd-journal-gatewayd, systemd-journal-gatewayd до кучи |
cucullus |
|
Темы:
256
Сообщения:
3435
Участник с: 06 июня 2007
|
Спасибо за варианты! Отдельный сервер тяжеловато... Логи в файлы -- можно, но не слишком элегантно... Настроек логгирования в файле сервиса вроде нет, от кого запустили под тем и записали... vasek, копировать ничего не надо, всё в рамках одной машины.
такие дела.
|
cucullus |
|
Темы:
256
Сообщения:
3435
Участник с: 06 июня 2007
|
Можно ещё suid скриптик сделать и дергать его из вебстраницы...
такие дела.
|