Перегляд журналів на віддаленому сервері Linux


21

Чи є приємні інструменти для того, щоб робити "хвостик -f" на віддаленому (Linux) сервері? Було б непогано мати змогу зробити щось на кшталт "taillog server_host / var / log / syslog" для перегляду журналів на різних серверах, без того, щоб ssh.

Як щодо програми, яка відображає кілька журналів поруч?

Відповіді:


16

Якщо файли журналів генеруються на клієнтському сервері через syslogоб'єкт, тоді найкращим способом є налаштування демона клієнтського системного журналу для пересилання цих журналів на окремий хост. Наприклад, якщо у мене є внутрішня назва, syslog.privateяка вказує на віддалений сервер, що я хочу отримувати записи журналу. Я можу додати наступний рядок до /etc/syslog.confклієнтського сервера.

*.*          @syslog.private

а потім перезапустіть демон клієнта syslog

service syslog reload

Це призведе до того, що кожен запис, що проходить через клієнтський системний журнал, буде надсилатися через провід, syslog.privateі якщо ця машина налаштована правильно, записи будуть доступні і там. У системах RedHat це контролюється /etc/sysconfig/syslogфайлом. Переконайтесь, що -rваріант присутній

% grep "SYSLOGD" /etc/sysconfig/syslog 
SYSLOGD_OPTIONS="-m 0 -r"

а потім перезапустіть демона syslog на приймальному сервері.

Ви також можете керувати тим, що передається на віддалений сервер, додаючи виключення, див. Приклад нижче

*.*;mail.none   @syslog.private

Що говорить, що все syslog.privateперераховується, за винятком всього, що надсилається до mailзакладу.

Якщо це рішення працює для вас, ви можете розглянути одну з альтернативних реалізацій syslog, наприклад rsyslog або syslog-ng , які надають додаткові можливості ведення журналу та зберігання.


1
+1. Централізовані журнали-сховища є важливою умовою. Це дуже приємно мати чистий набір журналів після Брекин. Ну, це не гарантовано чистота, оскільки вони можуть отруїтися зловмисником. Але зловмисник нічого не може зняти.
Командир Кін

Тоді використання багатоповерхового або сперланку на центральному сервері реєстрації - це чудовий спосіб відчути всю вашу мережу
Дейв Чейні

9

Якщо ви встановите на основі ключів ssh-аутентифікацію та sudo на віддалених хостах на віддалених хостах, щоб дозволити запускати хвіст проти файлів журналу без введення пароля. Було б досить легко створити сценарій запису, який виконує те, що ви хочете нижче. Це насправді не уникає ssh, але це заощадить вам кілька кроків.

#!/bin/bash
ssh $1 sudo tail -f $2

Або ви можете налаштувати syslog для пересилання всіх повідомлень журналу в центральну систему, а потім запустіть свою хвостову команду на сервері syslog. Просто дивіться файли журналів у центральній системі.


5

Я настійно рекомендую багатоповерхівку для розширеного перегляду журналу. Самостійно описаний як хвіст на стероїдах.


Я просто проголосував не 15 годин тому за цю пропозицію. Я розблокую публікацію ...
Avery Payne

Хм, так, я не вважаю, що багатоповерхівка є точною відповіддю на питання, але я вважаю, що його достатньо цінний, щоб бути включеним у відповідь. Голосування за це досить суворе.
gacrux

погодьтеся несправедливо .... мульти-лог відповідає на половину цього двоскладового питання - на «сторону». (vimdiff також робить хорошу роботу, або vim -O принаймні) лише тому, що він не звертається до віддаленої частини, швидше за все, це проблема.
ericslaw

3

Це явно не відповідає на ваше запитання, але якщо у вас є кілька журналів для перегляду та менше, ніж ліміт безкоштовного видання, ви можете спробувати Splunk безкоштовно, щоб мати приємний інтерфейс і корисний для всіх ваших даних реєстрації.

tail -f підтримує більше одного журналу, але не поруч, лише вниз.


Splunk має хвостову функцію, яку можна використовувати для віддаленого хвоста -f у файлі. Я не вірю, що це робить боком.
thepocketwade

2

Multitail зробить те, що ви хочете, на локальній машині. Він конкретно не згадує, чи буде він працювати через мережу, хоча існує декілька способів обійти це (NFS-кріплення, SMB-кріплення тощо). Він також говорить, що він буде працювати як сервер syslog, що означає, що він може бути в змозі отримувати активні дані з системного журналу іншої машини, хоча я ніколи не використовував цю функцію і не знаю, чи так це.


2

Я використовую OtrosLogViewer (ліцензія apache commons). Він підтримує журнал хвостів з віддалених серверів за допомогою ssh / sftp та samba / CIFS. Ви можете помножити файли журналу в одне вікно. Ось скріншот: Скріншот OtrosLogViewer


у вас є шаблон для файлу syslog linux?
Едгард Ліл

Ви повинні створити власну базу шаблонів на прикладах: code.google.com/p/otroslogviewer/wiki/Log4jPatternLayout
KrzyH

використовуйте наступний формат для підключення у SFTP (немає браузера інтерфейсу у версії 1.4.5):sftp://hostname/path/to/directory
Donatello

1

Я написав vsConsole саме для цієї мети - простий доступ до файлів журналу (доступ до sshing та файлів завжди є проблемою) - і потім додав моніторинг додатків та відстеження версій. Я хотів би знати, що ви про це думаєте. http://vs-console.appspot.com/

Це означає, що це проста, низька крива навчання, рішення в один клік для вирішення загальних проблем розвитку, для яких я завжди потребував простого рішення.


0

Ви можете використовувати щось на зразок Phplogcon. Я використовую rsyslog з mysql і надсилаю на нього всі журнали з інших моїх серверів. Потім Phplogcon відображає їх за допомогою веб-програми.

Це не найкраще виглядає інтерфейс, але адміністраторам це приємний спосіб доступу до журналів, не піддаючи серверам зайвих віддалених входів.


0

Вже згадано, але варто згадати ще раз. СПЛАНК!

В минулому я мав задоволення будувати великі центральні установки syslog з приємним gui. Це світ болю. Splunk робить це недоліком, особливо з ліцензією підприємства, яка дає вам центральне управління. Якщо ваші журнали менше 500 мільйонів на день, це безкоштовно. Якщо ні, то це може вийти дуже дорогим, але воно того варте і не лише для невеликої кількості лісозаготівлі - ви можете зробити набагато більше. Я зазвичай виступаю за програми з відкритим кодом, але Splunk б'є все, що мені траплялося.


0

Спробуйте це:

ssh servername tail -f /var/log/messages

Якщо ваш файл журналу захищено:

ssh -f servername sudo tail -f /var/log/messages

(не потрібно використовувати "ssh -f" - це просто так, щоб ваш пароль не перегукувався з TTY)

Якщо вам подобається, ви можете використовувати ту саму команду з кластером SSH .


0

Ви також можете використовувати Octopussy (мій проект) для централізації журналів, перегляду та генерації сповіщень та звітів.


-1

На додаток до відповіді @KrzyH (Otros) , я написав додаток до Otros, щоб ви могли встановити WAR на віддаленій машині, тому технічно ви можете використовувати Otros як веб-сервіс.

Детальніше тут .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.