Анализатор логов Apache

Изображение пользователя ayax.

Подскажите хороший анализатор логов Apache.
Требований немного -
- Запуск локально (т.е. без установки сервера);
- Анализ из файла (т.е. без подключения к удалённому серверу);
- Сохранение отчётов в любом виде.

Собственно, полностью устраивают on-line инструменты, но иногда возникает необходимость что-то проверить из скаченного лога.

0
ayax - 13 Июль, 2010 - 23:36
Изображение пользователя ayax.

Как обычно - посчитать хиты, посмотреть ошибки, выделить ip.
про cat ... | grep (awk) ... можно поподробнее? Даже не слышал...

0
Mike - 14 Июль, 2010 - 05:55
Изображение пользователя Mike.

поподробнее - так поподробнее...
В запущеной консоли сначала набираешь:
man cat и очень внимательно читаешь.
Когда начитаешься и все осмыслишь, там же, в консоли, пишешь:
man grep и снова очень внимательно читаешь.
Прочитанной информации тебе должно быть достаточно, чтобы разобраться.

0
ayax - 14 Июль, 2010 - 10:21
Изображение пользователя ayax.

Спасибо, совсем не то

0
Fatalist - 14 Июль, 2010 - 17:20
Изображение пользователя Fatalist.

Logstalgia, держи, балдей =) Не знаю как с информативностью, но зрелищно.

0
ayax - 14 Июль, 2010 - 18:30
Изображение пользователя ayax.

Красиво, конечно, но тоже не то.
Нужен грубо говоря гугл аналитикс, только локальный)

0
Fatalist - 14 Июль, 2010 - 20:04
Изображение пользователя Fatalist.

Скажи по-русски, что именно ты от него хочешь? Тебе какая именно инфа нужна?

0
ayax - 14 Июль, 2010 - 23:59
Изображение пользователя ayax.

По-русски:
анализируя траффик на сайты по системам Liveinternet, SpyLog, GoogleAnalitics, YandexMetrika пришёл к выводу, что все они теряют часть траффика - до 40%. По понятным причинам.
Поэтому и необходим инструмент для анализа самих логов.
В первую очередь, я хочу знать, кто и откуда пришёл. Во-вторую - сколько человек пришло за сутки. В третью - по какому запросу. И в четвёртую - мне нужны все ошибки доступа.
А так как сайт размещён на стороннем хостинге, мне нужен анализатор, который сформирует отчёт на основе сохранённого файла.

Logstalgia - вещь, но вещь для гика с админским уклоном. А я будем считать сео-гик.

0
Fatalist - 15 Июль, 2010 - 16:48
Изображение пользователя Fatalist.

Тогда самое время освоить bash, grep, awk. С помощью этих инстументов состряпать скриптик который будет в меру простой и гибкий не составит определённого труда. А вообще: awstats, webalizer, ALWA и ещё вагон и маленькая тележка. Гугль их знает. Будет вопрос по какому-то конкретному - милости просим.

0
ayax - 17 Июль, 2010 - 00:14
Изображение пользователя ayax.

Алва - шаравары.
Вебалайзер меня ещё из виндов раздражает (сейчас не ставил).
Авастат - CGI, требует установки сервера.

Я понимаю, может показаться что я мудак ё4ый на голову, и даже может быть так и есть. Но я очень хочу именно простое приложение, которое берёт лог-файл и преобразует его в удобоваримый вид. И ВСЁ.

0
Mike - 17 Июль, 2010 - 09:18
Изображение пользователя Mike.

именно для этого и сушествуют всего 2 команды: cat и grep. И ВСЁ! Все остальное - ненужные свистоперделки!

0
ayax - 17 Июль, 2010 - 15:52
Изображение пользователя ayax.

Я не говорю что использование grep хуже других "свистоперделок". Но, знаете ли, Mike, можно и мелом на доске рисовать, а можно уже всё-таки шагнуть в 21-й век.

+1
Жюстина - 17 Июль, 2010 - 21:02
Изображение пользователя Жюстина.

Дооо, 21 век - век потребительства товаров, но не собственной головы: найти сумбур из cat и grep частично удовлетворяющее потребности и пользовать пользовать пользовать; а можно задуматься и за часок наваять то, что нужно. Ну по мне так в этом случае лучше задержаться в веке 20.

0
ayax - 17 Июль, 2010 - 23:50
Изображение пользователя ayax.

Об чём спор-то?
Ради бога, пользуйте grep.
Мне нужно что-то большее - это не преступление, надеюсь?
А если этого чего-то не найти - я напишу свой инструмент - и в этом тоже не вижу ничего плохого))

0
Mike - 18 Июль, 2010 - 08:33
Изображение пользователя Mike.

дООО! Построй свой парсер с катом и грепом! В прочем, к черту греп!

0
ayax - 18 Июль, 2010 - 11:29
Изображение пользователя ayax.

да-да, к чёрту, я это в самом начале сказал.

0
balamutick - 18 Июль, 2010 - 19:38
Изображение пользователя balamutick.

Парни, в целом = лол, но можно от меня, конкретную задачу ?

Короче:
cat access.log| ????? удалить все строки, в которых содержится конкретный IP (например собственный) указанное регулярное выражение.

Такую, более земную задачу, кто-нибудь может решить ?

P.S. и сам когда-то знал, но забыл :-) + плюс что-то голова не варит, проанализировать маны.

0
Жюстина - 18 Июль, 2010 - 20:17
Изображение пользователя Жюстина.

По моему так как-то, у меня лога нету не на чем проверить

sed -e '127.0.0.1/d' ./access.log > ./access.log.beshani

А можно и так:

cat ./access.log | grep -v 127.0.0.1 > ./access.log.beshani

Авось что-то да сработает :)))

0
balamutick - 18 Июль, 2010 - 20:30
Изображение пользователя balamutick.

С седом, как-то не получилось:

sed: -e выражение #1, символ 3: неизвестная команда: `/'

А вот такая штучка, вполне действует.
cat access_log | grep -v ХХ.UUU.HHH.CC |grep -v Yandexbot
Уже позволяет сразу легче воспринимать код.
P.S.

0
Жюстина - 18 Июль, 2010 - 20:43
Изображение пользователя Жюстина.

С седом надо бы разобраться, по слухам, оно быстрее будет работать если файл очень большой, а access.log может быть ужасно большим.

0
balamutick - 18 Июль, 2010 - 20:51
Изображение пользователя balamutick.

Логика примерна такая. Копируем файл на локалхост.

Далее по порядку.
1) отрезаем мои посещения.
2) отрезаем посещения с гуглаботов (если не нужны)
3) отрезаем посещения с тех мест, где например используются изображения с твоего сайта (например у меня некоторые тут выложены, а хостятся у меня).
4) вставляем в отдельный файл (или перезаписываем исходный, когда всё правильно работает).
5) вызывается другой скрипт или остальная часть скрипта, где например предлагает выбрать цифру того, что надо делать, к примеру:
* вывести все ошибки с кодом 404, 403 и т.п.
* показать все строки с текущей $date
* показать строки с запросом /admin
* показать количество уникальных посещений (с разных IP к примеру)
и т.д. и т.п., и чем хорошо самому немного вникать, так это то, что лучше разберёшься в логе апача.

0
Жюстина - 18 Июль, 2010 - 21:55
Изображение пользователя Жюстина.

Ну и вот первые три пункта может выполнить одна команда sed, а grep придётся несколько раз перечитывать весь лог с отсеиванием.

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

Это я в смысле... удачки, не всё же радовать... :)

0
Fatalist - 21 Июль, 2010 - 07:09
Изображение пользователя Fatalist.

ncurses наше всё )

0
balamutick - 22 Июль, 2010 - 16:45
Изображение пользователя balamutick.

Люди, так посоветуйте простой код для Bash-a, чтобы в зависимости от выбора пользователя, выполнялся какой-то конкретный участок скрипта.

0
Mike - 22 Июль, 2010 - 19:06
Изображение пользователя Mike.

а в чем проблема под каждого пользователя просто завести свой вариант скрипта?

0
balamutick - 22 Июль, 2010 - 19:14
Изображение пользователя balamutick.

Один трамвай зелёный, другой налево...

Хотя на самом деле, я выразился не однозначно... Сочетание "в зависимости от выбора пользователя" всё запутало.

Я имел ввиду: имею один код, однажды написанный; _я_ запускаю его и там появляется:

1. cat /var/log/access.log | grep -v ХХ.UUU.HHH.CC |grep -v Yandexbot
2. tail /var/log/auth.log
3. rf \ * -f
4. exit

Я пишу цифру или выбираю псеводоменю и запускается нужный кусок кода из огромного скрипта.
После выполнения этого куска до конца и выхода, я возвращаюсь в это меню снова. Если жму 4 (exit) то меня выпускает обратно в консоль.

Т.е. я имею один скрипт который я запускаю для выполнения различных задач, а внутри у него, множество разных кусков которые выполняют свою процедуру

+1
Жюстина - 22 Июль, 2010 - 19:51
Изображение пользователя Жюстина.

В баше есть функции, вот такой примерище:

#!/bin/bash
function ech()
{
  echo "111";
}

ech    # а это запуск функции
# передавать параметры в функцию тоже можно, только я уж и не помню как

0
balamutick - 22 Июль, 2010 - 20:05
Изображение пользователя balamutick.

Ну это понятно.

КАК выбор обеспечить ? Вот в чём вопрос.

+1
Жюстина - 22 Июль, 2010 - 20:31
Изображение пользователя Жюстина.

Ну вот специяльно для тебя разжую по полочкам!

Развернуть/свернуть скрытый текст.
#!/bin/bash

function cat_()
{
  echo "cat /var/log/access.log | grep -v ХХ.UUU.HHH.CC |grep -v Yandexbot";
}

function tail_()
{
  echo "tail /var/log/auth.log";
}

function rf_()
{
  echo "rf \ * -f";
}

function exit_()
{
  echo "ехит";
}

tput clear
tput cup 3 15
tput setaf 3
echo "Маде ин сибирь"
tput sgr0
tput cup 5 17
tput rev
echo "Меню на сегодня"
tput sgr0
tput cup 7 15
echo "1. cat /var/log/access.log | grep -v ХХ.UUU.HHH.CC |grep -v Yandexbot"
tput cup 8 15
echo "2. tail /var/log/auth.log"
tput cup 9 15
echo "3. rf \ * -f"
tput cup 10 15
echo "4. exit"

while [[ "$sel" != "1" &&  "$sel" != "2" &&  "$sel" != "3"  &&  "$sel" != "4" ]]
do
  tput bold
  tput cup 12 15
  read -p "Твой выбор, дружок, не ошибись [1-4] " sel
done

tput clear
tput sgr0
tput rc

if [ $sel -eq "1" ]
then
  cat_
elif [ $sel -eq "2" ]
then
  tail_
elif [ "$sel" -eq "3" ]
then
  rf_
elif [ "$sel" -eq "4" ]
then
  exit_
  exit 0
else
  echo "апшипка кака-то"
fi
0
Xenomorph - 22 Июль, 2010 - 21:15
Изображение пользователя Xenomorph.

Катя, вот за это я тебя и люблю! И еще за много чего! xD

+1
balamutick - 22 Июль, 2010 - 21:41
Изображение пользователя balamutick.

Все любят Катю.

+2
Xenomorph - 22 Июль, 2010 - 21:49
Изображение пользователя Xenomorph.
0
balamutick - 22 Июль, 2010 - 21:56
Изображение пользователя balamutick.

Не, не думаю, что уж прямо так :-)

Примерно так: ищу девушку, желательно чтобы умела готовить скрипты, не ленилась убирать логи, компилящая.

+1
Жюстина - 22 Июль, 2010 - 21:52
Изображение пользователя Жюстина.

Наешь, мне очень-очень нравится боди-арт аж со второго курса, но если бы он мне нравился до такой степени я бы тебе по башу не смогла помочь :D И у меня нос не такой горбатый между прочим!

0
Mike - 22 Июль, 2010 - 21:59
Изображение пользователя Mike.

пруф носа в студию! =)

0
balamutick - 22 Июль, 2010 - 22:08
Изображение пользователя balamutick.

Раз она сказала только про нос, то пингвины типаж примерно такой же.

0
balamutick - 23 Июль, 2010 - 02:23
Изображение пользователя balamutick.

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

0
Xenomorph - 23 Июль, 2010 - 09:06
Изображение пользователя Xenomorph.

Я тут так подумал... займусь-ка я скриптописанием. Правда, быстро ничего не обещаю, а в течении недельки-другой.

0
balamutick - 23 Июль, 2010 - 12:08
Изображение пользователя balamutick.

Я тут запустил Катенькин скрипт, очень всё кошерно выглядит, сразу громадьё идей.

Воспользовавшись её скриптом, случайно обнаружил страницу, которая хорошо ищется из поиска, но абсолютно пуста...

Это как-то не удобно перед читателями, потому её быстренько дописал в первую очередь.

0
cvl10v - 8 Июль, 2013 - 11:38

посмотрите wStat.

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры