Web морда (php) для серверных логов

Здесь обсуждаются графические оболочки, боты, языковые файлы и другие дополнения к CommFort 4.
Аватара пользователя
Yaroslav
Сообщения: 845
Зарегистрирован: 03:45, 15.12.2007
Благодарил (а): 1 раз
Контактная информация:

Web морда (php) для серверных логов

Сообщение Yaroslav » 01:09, 31.05.2009

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

Не претендует на что-то мего-супер-функциональное, писано за одну ночь. Так что юзайте, кому надо. В дальнейшем есть некоторые задумки по развитию, но когда будет время и будет ли вообще я не знаю.

Требования:
* мозги
* настроенный web-сервер с поддержкой php5 (php4 экспериментально)
* права доступа у web-сервера в папку логов СЕРВЕРА чата

Возможности:
* просмотр серверных логов с раскраской однотипных событий
* подсчёт количества тех или иных событий на данной странице
* постраничный вывод

Установка:
* распаковать архив в доступной по web директории сервера.

Настройка:
* Поправить в файле index.php настроечные переменные или оставить как есть.
$rows_per_page = 300; // Количество записей выводимых на одной странице
$logdir = 'c:/serv/commfort_server4/logs/'; // Каталог логфайлов
$show_id = true; // Поставить true если нужно отображать ID компьютера

Использование:
* открыть адрес http://ваш_сервер/директория/commfort_logs/ и наслаждаться.

Преимущества:
* не требует СУБД для работы

Недостатки:
* работает без СУБД, каждый раз читает логфайл

Сразу замечу:
* наверняка там куча косяков. Если есть желание - можете о них отписать прямо тут, но претензии я не принимаю.
* как настраивать web-сервер я рассказывать не намерен.
* знаю, что цвета, мягко говоря, не очень хорошие. Буду благодарен тому, кто приведёт скписок из 12 цветов хорошо смотрящихся на background-color:lightgray или на другом фоне, тогда приведите и цвет фона.

Возможно вам будет полезна другая моя разработка:
Статистика посещения чата (php) [клиента чата не нужен]

Тут будет всегда современная версия.

v.1 - 30.05.2009 - скачали 30 раз

v.1.1 - 01.06.2009 - скачали 298 раз
* добавлена экспериментальная поддержка php4 (scandir)

v.2.0 - 10.04.2010 - скачали 23 раза
* переписана под сервер 4.3х - 4.4х
* выбор логфайла из выпадающего списка
* поддержка логфайлов авторизации
* настраиваемая подсветка разных событий
- возможно PHP4 отдохнёт. Проверьте, кто может?

v.2.1.1 - 24.04.2010 - скачали 9 раз
* унифицирован вывод названия лога. Теперь вне зависимости от типа (по дням, по месяцам, по годам) заголовок будет выводиться правильно.

v.2.1.2 - 26.04.2010 - скачали 13 раз
* добавлены описания двух событий: подтверждение и отклонение авторизации.

v.2.1.3 - 29.04.2010
* добавлено описание события изменение статуса активации
* мелкие правки интерфейса
* исправлено отображение событий без IP адреса (совершаемые серверным плагином)

Снимок экрана 2010-04-10 в 05.39.09.png
Примерно так это выглядит
(110.42 КБ) 246 скачиваний


Понравилась поделка? Я добавил полезную функцию по твоей просьбе? Я ответил на вопрос и помог решить проблему? Отблагодари: R753244967524 или Z664725275810 или U806184306803
Вложения
commfort_logs_v213.zip
Версия 2.1.3 для сервера 4.3 и старше
(3.17 КБ) 615 скачиваний
commfort_logs_v11.zip
СТАРАЯ версия 1.1 для сервера ниже 4.3
(1.79 КБ) 348 скачиваний
Последний раз редактировалось Yaroslav 16:35, 21.05.2010, всего редактировалось 15 раз.
Web-интерфейс серверных логов ——> http://commfort.com/ru/forum/viewtopic.php?t=6618
Web-статистика посещаемости чата —> http://commfort.com/ru/forum/viewtopic.php?t=6546
Благодарности —> R753244967524 Z664725275810 U806184306803 ЯД:41001743355185

yaotzin
Сообщения: 105
Зарегистрирован: 01:38, 21.07.2008
Контактная информация:

Re: Web морда (php) для серверных логов

Сообщение yaotzin » 01:23, 31.05.2009

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

Аватара пользователя
Yaroslav
Сообщения: 845
Зарегистрирован: 03:45, 15.12.2007
Благодарил (а): 1 раз
Контактная информация:

Re: Web морда (php) для серверных логов

Сообщение Yaroslav » 02:02, 31.05.2009

yaotzin писал(а):классно, ничего страшного не будет если я помещю этот файл отдельно в папку на web сервере и дам ссылку на эту папку всем, я имею ввиду баг какой либо может быть чтоб через этот скрипт на что либо повлиять.


Конечно от ошибок не застрахован ни кто, но скрипт имеет базовую защиту от вытягивания произвольных файлов, так как я рассчитывал дать доступ модсоставу к этому файлу, а там мало ли какие красавцы попадутся.
На данный момент недостатком (и потенциальной опасностью) является то, что при открытии страницы весь файл лога читается полностью и далее уже в памяти обрабатывается, так что если у вас огромные серверные логи, то это может повлечь за собой (при большой посещаемости) DOS сервера. У меня при тысячном онлайне логи сервера в пределах 1 мегабайта, так что я пока решил не париться этой проблемой.
В ближайшее время я планирую встроить в скрипт ограничение доступа по IP, что бы не плясать с .htaccess но в вашем случае это, видимо, не понадобится, так как планируется публичный доступ. Но я бы, пожалуй, так не поступал.
Web-интерфейс серверных логов ——> http://commfort.com/ru/forum/viewtopic.php?t=6618
Web-статистика посещаемости чата —> http://commfort.com/ru/forum/viewtopic.php?t=6546
Благодарности —> R753244967524 Z664725275810 U806184306803 ЯД:41001743355185

Аватара пользователя
nikitka
Сообщения: 952
Зарегистрирован: 15:00, 10.08.2008
Откуда: Комсомольск-на-Амуре

Re: Web морда (php) для серверных логов

Сообщение nikitka » 05:07, 31.05.2009

Yaroslav, благодарим, взяли скрипт, ушли на тест.

сделал проще с доступом к логам...
создал htaccess в нём прописал следующее:

AuthName "q4p user"
AuthType Basic
AuthUserFile "X:\security\cflogs.users"
require valid-user

а вот по части security рассказывать не буду, т.к. безопасность у каждого своя.

банально просто при запросе войти на страничку с логами требует логин и пароль, если нет, то увы ... :)

из интерфейса менял лишь бэкграунд body{background-color:black} на чёрный

и параметр изменил настройки на белый .rowclass4{color: white} уже резал довольно глаза.

правда если у вас логи очень большие, я имею ввиду по объёму, так как допустим у нас на сервере проходит одобрение модератором учетки, то пришлось увеличить параметр memory_limit.

и для не знающих... если не хотите чтобы отображались id, ставьте false

$show_id = true; // Поставить true если нужно отображать ID компьютера

хотелось бы всё таки чтобы была сортировка по дням осуществленна.
vk.com/cchat | q4p.ru

SkOrPIon
Сообщения: 14
Зарегистрирован: 12:50, 09.10.2008

Re: Web морда (php) для серверных логов

Сообщение SkOrPIon » 16:37, 31.05.2009

Помогите, как дать доступ веб серверу к папке logs если она лежит не в директории веб сервера, и если я кидаю логс для проверки в директорию веб сервака то ошибка вылетает
Fatal error: Call to undefined function: scandir() in ....

Аватара пользователя
nikitka
Сообщения: 952
Зарегистрирован: 15:00, 10.08.2008
Откуда: Комсомольск-на-Амуре

Re: Web морда (php) для серверных логов

Сообщение nikitka » 06:22, 01.06.2009

Код: Выделить всё

Fatal error: Call to undefined function: scandir() in


могу ошибаться, но вроде он не может просмотреть директорию и сделать вывод информации, разибрайтесь с вашими веб-сервером.
vk.com/cchat | q4p.ru

SkOrPIon
Сообщения: 14
Зарегистрирован: 12:50, 09.10.2008

Re: Web морда (php) для серверных логов

Сообщение SkOrPIon » 12:48, 01.06.2009

Ну вот как раз я не могу понять как директорию логс открыть для доступа веб серверу? помогите плизз

Аватара пользователя
Yaroslav
Сообщения: 845
Зарегистрирован: 03:45, 15.12.2007
Благодарил (а): 1 раз
Контактная информация:

Re: Web морда (php) для серверных логов

Сообщение Yaroslav » 14:26, 01.06.2009

SkOrPIon писал(а):Fatal error: Call to undefined function: scandir() in ....


Скорее всего на сервере запрещена функция scandir() Если это ваш сервер, то посмотрите php.ini на предмет вхождения этой строки. Если это хостинг - обратитесь к провайдеру.

Больше ничего не могу сказать до того, как более подробно опишите ваш сервер. Как минимум ОС, на которой он работает.

UPD: scandir работает только для php5. Сделал версию 1.1 с экспериментальной поддержкой php4
Последний раз редактировалось Yaroslav 15:00, 01.06.2009, всего редактировалось 1 раз.
Web-интерфейс серверных логов ——> http://commfort.com/ru/forum/viewtopic.php?t=6618
Web-статистика посещаемости чата —> http://commfort.com/ru/forum/viewtopic.php?t=6546
Благодарности —> R753244967524 Z664725275810 U806184306803 ЯД:41001743355185

SkOrPIon
Сообщения: 14
Зарегистрирован: 12:50, 09.10.2008

Re: Web морда (php) для серверных логов

Сообщение SkOrPIon » 14:38, 01.06.2009

ну вот в чем проблема (( у мну стоит РНР4 (

Аватара пользователя
Yaroslav
Сообщения: 845
Зарегистрирован: 03:45, 15.12.2007
Благодарил (а): 1 раз
Контактная информация:

Re: Web морда (php) для серверных логов

Сообщение Yaroslav » 14:43, 01.06.2009

nikitka писал(а):Yaroslav, благодарим, взяли скрипт, ушли на тест.

сделал проще с доступом к логам...
создал htaccess в нём прописал следующее:

AuthName "q4p user"
AuthType Basic
AuthUserFile "X:\security\cflogs.users"
require valid-user

а вот по части security рассказывать не буду, т.к. безопасность у каждого своя.

банально просто при запросе войти на страничку с логами требует логин и пароль, если нет, то увы ... :)


Спасибо, но я знаю что такое basic auth и выше писал об этом. Мне не понадобилось это использовать, кому надо - пожалуйста. От скрипта это уже не зависит. Может понадобится другим в виде мануала. Но думаю для того, кто не шарит, такое описание не сгодится, а для тех, кто и так разбирается это не нужно.

nikitka писал(а):из интерфейса менял лишь бэкграунд body{background-color:black} на чёрный

и параметр изменил настройки на белый .rowclass4{color: white} уже резал довольно глаза.

правда если у вас логи очень большие, я имею ввиду по объёму, так как допустим у нас на сервере проходит одобрение модератором учетки, то пришлось увеличить параметр memory_limit.

хотелось бы всё таки чтобы была сортировка по дням осуществленна.


А какой memory_limit был до этого и какой теперь? И насколько большие у вас логи? У меня в месяц где-то на 1.5 MiB затягивает.
Web-интерфейс серверных логов ——> http://commfort.com/ru/forum/viewtopic.php?t=6618
Web-статистика посещаемости чата —> http://commfort.com/ru/forum/viewtopic.php?t=6546
Благодарности —> R753244967524 Z664725275810 U806184306803 ЯД:41001743355185

Аватара пользователя
Yaroslav
Сообщения: 845
Зарегистрирован: 03:45, 15.12.2007
Благодарил (а): 1 раз
Контактная информация:

Re: Web морда (php) для серверных логов

Сообщение Yaroslav » 14:59, 01.06.2009

SkOrPIon писал(а):ну вот в чем проблема (( у мну стоит РНР4 (


Попробуйте теперь. Мне негде проверить. Файл в первом посте обновил.
Web-интерфейс серверных логов ——> http://commfort.com/ru/forum/viewtopic.php?t=6618
Web-статистика посещаемости чата —> http://commfort.com/ru/forum/viewtopic.php?t=6546
Благодарности —> R753244967524 Z664725275810 U806184306803 ЯД:41001743355185

cema93
Сообщения: 162
Зарегистрирован: 23:06, 21.04.2009
Откуда: Минск
Контактная информация:

Re: Web морда (php) для серверных логов

Сообщение cema93 » 15:59, 01.06.2009

Yaroslav писал(а):Попробуйте теперь. Мне негде проверить. Файл в первом посте обновил.

спс что обновил теперь работает

Аватара пользователя
Yaroslav
Сообщения: 845
Зарегистрирован: 03:45, 15.12.2007
Благодарил (а): 1 раз
Контактная информация:

Re: Web морда (php) для серверных логов

Сообщение Yaroslav » 16:31, 01.06.2009

nikitka писал(а):
хотелось бы всё таки чтобы была сортировка по дням осуществленна.


Какая именно сортировка?

может вместо постраничного вывода сделать вывод по дням?
Web-интерфейс серверных логов ——> http://commfort.com/ru/forum/viewtopic.php?t=6618
Web-статистика посещаемости чата —> http://commfort.com/ru/forum/viewtopic.php?t=6546
Благодарности —> R753244967524 Z664725275810 U806184306803 ЯД:41001743355185

cema93
Сообщения: 162
Зарегистрирован: 23:06, 21.04.2009
Откуда: Минск
Контактная информация:

Re: Web морда (php) для серверных логов

Сообщение cema93 » 16:32, 01.06.2009

Yaroslav писал(а):Какая именно сортировка?

может вместо постраничного вывода сделать вывод по дням?

да

Аватара пользователя
nikitka
Сообщения: 952
Зарегистрирован: 15:00, 10.08.2008
Откуда: Комсомольск-на-Амуре

Re: Web морда (php) для серверных логов

Сообщение nikitka » 01:05, 02.06.2009

оффтопка...

cema93, читаешь мысли :)
vk.com/cchat | q4p.ru

Закрыто