192.168 1.1 зайти в роутер вход. Установка и смена пароля. Часто возникающие проблемы

Новости 27.03.2019
Новости

Если Вы, уважаемый читатель, активно пользуетесь Интернетом, то Вам наверняка встречались такие слова и словосочетания: лог, лог-файл или логи сервера. И Вы никогда не задумывались о том, что же это такое? В данной статье мы сегодня и постараемся подробно ответить на данный вопрос.

Лог (или, по-другому, логи сервера, лог файл, данные словосочетания являются синонимами) – это файл текстового формата, в который заносятся все данные обо всех действиях любых пользователей на серверах, будь то локальные сервера какой-либо организации или веб-сервера некоего хост-провайдера, на котором работают сайты, или FTP-сервер Вашей районной сети.

В лог-файлы вносится подробнейшая информация о том, какой пользователь обратился к ресурсам сервера, его IP-адрес, МАС-адрес его сетевой карты, с какого ресурса и по каким ключевым запросам был произведен вход, какие страницы на сервере были им посещены и сколько времени он их просматривал. Кроме того, в лог-файле записывается, какие файлы были скачаны с сервера или закачаны на него. Как мы видим, лог-файлы – это просто кладезь информации обо всех посетителях и пользователях серверов.

Поговорим о лог-файлах веб-серверов, ибо их чаще всего просматривает почти каждый первый системный администратор.

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

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

  • IP-адрес компьютера, с которого был послан запрос на получение страницы (или IP-адрес прокси-сервера, используемого клиентом);
  • адрес запрашиваемой интернет-страницы (IP-адрес);
  • дата и время отправки запроса серверу;
  • информация о географическом местоположении клиента, осуществившего запрос к серверу (или местоположение используемого клиентом прокси-сервера);
  • наименование и версия используемого клиентом интернет-браузера, с которого и был осуществлен запрос к серверу;
  • адрес той веб-страницы, с которой и был осуществлен переход.

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

3. Осуществление записи в лог-файл. При этом сервер осуществляет запись всей полученной информации в файл лога, который еще называют журналом событий.

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

Но при анализе файлов журнала событий (лог -файлов) системным и сетевым администраторам следует учитывать, что полученные данные все же не являются на 100% реальными, отклонение в них обычно составляет 5-10% в силу различных технических и технологических особенностей используемого оборудования и его настроек. Однако если нагрузка на сайт является более-менее постоянной (иначе говоря, администрация не проводит каких-либо активных рекламных кампаний по привлечению посетителей, вследствие чего посещаемость сайта увеличивается на порядки), то полученные при передаче значения ошибок можно считать более-менее постоянными и становится возможным осуществление сравнение статистики за прошедшие периоды.

Конечно, можно читать и анализировать и сами логи , но это довольно неудобно и весьма трудоемко. Для получения сводных отчетов и статистики по лог-файлам используется специальное программное обеспечение, которое называется «Анализаторы лог-файлов». Наиболее популярными и известными являются следующие программные продукты: Analog, Webalizer, Webtrends, NetPromoter, WebAnalizer, Loganalyzer.

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

Как мы видим, логи являются весьма мощным средством для анализа деятельности посетителей на сервере.

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

Тема может и банальная, но когда программа начинает работать как то не так, и вообще вести себя очень странно, часто приходится читать логи. И много логов, особенно если нет возможности отлаживать программу и не получается воспроизвести ошибку. Наверно каждый выработал для себя какие то правила, что, как и когда логировать. Ниже я хочу рассмотреть несколько правил записи сообщений в лог, а также будет небольшое сравнение библиотек логирования для языков php, ruby и go. Сборщики логов и системы доставки не будут рассматриваться сознательно (их обсуждали уже много раз).

Есть такая linux утилита, а также по совместительству сетевой протокол под названием syslog. И есть целый набор RFC посвящённый syslog, один из них описывает уровни логирования https://en.wikipedia.org/wiki/Syslog#Severity_level (https://tools.ietf.org/html/rfc5424). Согласно rfc 5424 для syslog определено 8 уровней логирования, для которых также дается краткое описание. Данные уровни логирования были переняты многими популярными логерами для разных языков программирования. Например, http://www.php-fig.org/psr/psr-3/ определяет те же самые 8 уровней логирования, а стандартный Ruby logger использует немного сокращённый набор из 5 уровней. Несмотря на формальное указание в каких случаях должен быть использован тот или иной уровень логов, зачастую используется комбинация вроде debug/info/fatal - первый для логирования во время разработки и тестирования, второй и третий в расчёте на продакшен. Потом в какой то момент на продакшене начинает происходить что то не понятное и вдруг оказывается, что info логов не хватает - бежим включать debug. И если они не сильно нагружают систему, то зачастую так и остаются включенными в продакшен окружении. По факту остаётся два сценария, когда нужно иметь логи:

  • что-то происходит и надо знать что
  • что-то сломалось и нужно дополнительно активировать триггер
По триггеру может происходить: уведомление об ошибке на email, аварийное завершение или перезапуск программы или другие типичные сценарии.

В языке Go в котором всё упрощено до предела, стандартный логер тоже прилично покромсали и оставили следующие варианты:

  • Fatal - вывод в лог и немедленный выход в ОС.
  • Panic - вывод в лог и возбуждение «паники» (аналог исключения)
  • Print - просто выводит сообщение в лог
Запутаться, что использовать в конкретной ситуации уже практически невозможно. Но сообщения в таком сильно усеченном виде сложно анализировать, а также настраивать системы оповещения, типично реагирующих на какой нибудь Alert\Fatal\Error в тексте лога.

Я часто при написании программы с нуля повсеместно использую debug уровень для логирования с расчётом, что на продакшене будет выставлен уровень логирования info и тем самым сократится зашумлённость сообщениями. Но в таком подходе часто возникают ситуация, что логов вдруг становится не хватать. Трудно угадать, какая информация понадобиться, что бы отловить редкий баг. Возможно рационально всегда использовать по умолчанию уровень info, а в обработчиках ошибок уровень error и выше. Но если у вас сотни и больше сообщений лога в секунду, то тогда наверно есть смысл тонкой настройки между info/debug. В таких ситуациях уже имеет смысл использовать специализированные решения что бы не просаживать производительность.

Есть ещё тонкий момент, когда вы пишите что то вроде logger.debug(entity.values) - то при выставленном уровне логирования выше debug содержимое entity.values не попадёт в лог, но оно каждый раз будет вычисляться отъедая ресурсы. В Ruby логеру можно передать вместо строки сообщения блок кода: Logger.debug { entity.values } . В таком случае вычисления будут происходить только при выставленном соответствующем уровне лога. В языке Go для реализации ленивого вычисления в логер можно передать объект поддерживающий интерфейс Stringer.

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

Типичный формат строки сообщения в логе можно условно разделить на следующие составные части:

+ +
Где:

  • system info: метка времени, ид процесса, ид потока и другая служебная информация
  • message: текст сообщения
  • context: любая дополнительная информация, контекст может быть общим для сообщений в рамках какой то операции.
Для того, чтобы связать пары запрос\ответ часто используется http заголовок X-Request-ID . Такой заголовок может сгенерировать клиент, или он может быть сгенерирован на стороне сервера. Добавив его в контекст каждой строчки лога появится возможность лёгким движением руки найти все сообщения возникшие в рамках выполнения конкретного запроса. А в случае распределенных систем, заголовок можно передавать дальше по цепочке сетевых вызовов.

Но с единым контекстом в рамках запроса возникает проблема с различными ORM, http клиентами или другими сервисами\библиотеками, которые живут своей жизнью. И ещё хорошо, если они предоставляют возможность переопределить свой стандартный логер хотя бы глобально, а вот выставить контекст для логера в рамках запроса зачастую не реально. Данная проблема в основном актуальна для многопоточной обработки, когда один процесс обслуживает множество запросов. Но например в фрэймворке Rails имеется очень тесная интеграция между всеми компонентами и запросы ActiveRecord могут писаться в лог вместе с глобальным контекстом для текущего сетевого запроса. А в языке Go некоторые библиотеки логирования позволяют динамически создавать новый объект логера с нужным контекстом, выглядит это примерно так:

ReqLog:= log.WithField("requestID", requestID)
После этого такой экземпляр логера можно передать как зависимость в другие объекты. Но отсутствие стандартизированного интерфейса логирования (например как psr-3 в php) провоцирует создателей библиотек хардкодить малосовместимые реализации логеров. Поэтому если вы пишите свою библиотеку на Go и в ней есть компонент логирования, не забудьте предусмотреть интерфейс для замены логера на пользовательский.

Резюмируя:

  • Логируйте с избытком. Никогда заранее не известно сколько и какой информации в логах понадобится в критический момент.
  • Восемь уровней логирования - вам действительно столько надо? По опыту должно хватить максимум 3-4, и то при условии, что для них настроены обработчики событий.
  • По возможности используйте ленивые вычисления для вывод сообщений в лог
  • Всегда добавляйте текущий контекст в каждое сообщение лога, как минимум requestID.
  • По возможности настраивайте сторонние библиотеки таким образом, чтобы они использовали логер с текущим контекстом запроса.

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

Какая информация еще нужна?

Как говорилось выше, помимо стандартных параметров, владелец сайта должен знать еще массу других данных:

  • Какие страницы являются наиболее посещаемыми.
  • По каким поисковым запросам пользователи чаще попадают на сайт.
  • Какие браузеры или же операционные системы являются наиболее востребованными у посетителей.
  • Какое разрешение экрана используют посетители чаще всего.
  • И многое другое.

Как это узнать?

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

Преимущественное большинство хостеров, предоставляющих платный хостинг, изначально дают своим клиентам возможность использовать средства анализа, которые уже установлены в созданный сайт. К примеру, в серверах Apache применяется специализированная утилита под названием Webalizer, которая используется в роли дополнительного модуля сервера.

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

Что это?

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

Как данные записываются в лог?

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

  • IP-адрес посетителя.
  • Точное время осуществления запроса.
  • Браузер, который использует пользователь.
  • Операционная система, которую использует пользователь.
  • Интересующая его страница.
  • Адрес страницы, с которой был осуществлен переход на целевую.

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

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

Какую информацию дают логи?

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

  • Посещаемость . Конечно, такой показатель определяется и стандартным счетчиком, который может присутствовать на каждой странице, но в логе эти данные предоставлены более подробно, включая посещаемость по дням, часам или месяцам. Также посредством использования логов можно определить часы всплеска или же затишья посещаемости, что крайне важно знать, занимаясь обслуживанием сайта.
  • Трафик . В данном случае предоставляется как трафик каждой отдельной страницы, так и суммарный трафик сайта за определенный период времени.
  • Конверсия. Данный параметр позволяет определить, каким образом посетители перемещаются по вашему ресурсу, то есть они просмотрели одну страницу и закрыли или же все-таки начали «путешествовать» по вашему сайту, просматривая одну страницу за другой. Уровень конверсии позволяет косвенно определить качество работы вашего сайта.
  • Заброшенные страницы. Рассматривая, что такое логи сервера, часто можно определить, что в них находятся заброшенные страницы, то есть те, которые посещаются чрезвычайно редко. В такой ситуации веб-мастер должен провести тщательный анализ ситуации, ведь может быть так, что страницы перестали интересовать людей или же их стало трудно найти среди множества других на вашем сайте.
  • Популярные страницы. Веб-страницы, которые являются наиболее посещаемыми. Можно применять их в качестве образца в процессе создания других страниц, а в случае необходимости можно также направлять с этих страниц пользователей к каким-либо другим, которые являются заброшенными или менее популярными.
  • Поисковые запросы. Помимо всего прочего, в логах сайта присутствует также эффективность тех метатегов, ключевых слов и самих названий веб-страниц, которые были вами использованы и по которым ваш сайт смогли найти те или иные поисковые системы. Соответственно, в логах находятся данные и о том, какой именно поисковик по определенному запросу нашел ваш сайт.

Из разговора двух веб-мастеров:

– Вчера был на твоём сайте…

– Так это был ты!..

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

Как правило, на каждом сайте устанавливается внешний бесплатный (реже – платный) счётчик. Ресурс, предоставивший счётчик, ведёт расширенную статистику посещения ресурса (включая всю вышеуказанную информацию), с которой можно ознакомиться в любое время. Особенно с такими счётчиками удобно работать тем, кто размещает свои сайты на бесплатном хостинге.

Большинство хостинг-провайдеров (хостеров) платного хостинга предоставляют своим клиентам возможность использовать уже установленные средства анализа. Например, для серверов Apache часто используется программа Webalizer , которая устанавливается в качестве дополнительного модуля веб-сервера.

Те, кто хостится на платном хостинге, могут также обрабатывать всю информацию по посещению сайта самостоятельно: ведь веб-мастер имеет полный доступ к лог-файлам своего сайта.

Что такое лог-файл веб-сайта

Лог-файл веб-сайта (log file , log -файл, лог-файл, лог) – это текстовый файл, в котором регистрируются все запросы к сайту, а также все ошибки, связанные с этими запросами.

Как происходит запись событий в лог-файл сайта

Поэтому одной из основных целей создания сайта должен быть не просто рост количества посещений, а рост релевантных посещений, – то есть не надо обманывать посетителей ложными названиями, обещаниями, ключевыми словами и т.д., – посетитель должен находить то, что ищет, он имеет на это право!..

Примечания

1. По подсчётам исследовательской компании Netcraft , в июне 2009 г. в Интернете насчитывалось 238 027 855 сайтов. При этом доля веб-серверов Apache составила около 47%, Microsoft IIS – 24,80%, qq,com – 12,79%, Google – 4,98%, nginx – 3,69%, Sun – 0,30%.

2. Лог-файлы серверов Apache

Лог: Лог (англ. log) журнал событий, дневник, запись, протокол; Лог форма рельефа, небольшая сухая долина. См. Балка; Топонимы: Лог посёлок в Иловлинском районе Волгоградской области; Лог деревня в Кадуйском районе… … Википедия

А, предл. о логе и в логу; мн. лога; м. Широкий, значительной длины овраг с отлогими склонами. Широкий лог. Лог зарос кустарником. В логу протекал ручей. * * * лог овраг с пологими задернованными склонами и плоским днищем. * * * ЛОГ ЛОГ, овраг… … Энциклопедический словарь

I ...л ог Конечная часть сложных имен существительных, вносящая значения: слово, речь (диалог, монолог и т.п.). II Конечная часть сложных имен существительных греческого происхождения, вносящая значение: специалист в области знаний, названной в… … Современный толковый словарь русского языка Ефремовой

Ложбина, юдоль, лощина, ложок, изложина, овраг, балка, яр Словарь русских синонимов. лог см. овраг Словарь синонимов русского языка. Практический справочник. М.: Русский язык. З. Е. Александрова. 2011 … Словарь синонимов

лог - лог, а, предл. п. в л оге и в лог у, мн. ч. а, ов; но (в названиях населенных пунктов) Лог, а, предл. п. в. Л оге, напр.: Сух ой Л ог (город), Вел икий Л ог, К аменный Л ог (поселки) … Русский орфографический словарь

ЛОГ, а, в логе и в логу, мн. а, ов, муж. Широкий и длинный овраг. | уменьш. ложок, жка, муж. | прил. логовой, ая, ое. Толковый словарь Ожегова. С.И. Ожегов, Н.Ю. Шведова. 1949 1992 … Толковый словарь Ожегова

Муж. ложок, логовина жен. нка, ночка; пермяц. логотина, тинка, ночка; ложбина, нка, ночка; логчина зап. лощина; ложища муж., ·увел. долина, некрутой раздол, балка, широкий овраг, ущелье, обыкновенно травное; низменность, окруженная уступами,… … Толковый словарь Даля

- (гр. logos слово; понятие, учение; мысль; определение; отношение) вторая составная часть сложных слов: 1) обозначающая лицо, занимающееся наукой, указанной в первой части сложения, напр.: биолог, зоолог; 2) соответствующая по значению словам… … Словарь иностранных слов русского языка

-лог - logue <гр. Второй сложных существительных, обозначающих: а) лицо, занимающееся наукой, указанной в первой части сложения; напр.: биолог, геолог, физиолог. БАС 1.Гадатели, бродяги, утописты.. почти все маны, логи, исты. Бобор. Солидные доброде … Исторический словарь галлицизмов русского языка

Книги

  • Логіка , Василий Ряшко. От издателя:Навчальний посібник розроблений на основі програми вивчення логіки у Львівському державному університеті внутрішніх справ…
  • Логіка 3+ , Маргарита Головко. "Школа малюків"із наліпками - навчальна серія розроблена спеціально для дітей від трьох років. Система занять у кожній книзі ("Логіка","Математика","Розвиток мовлення")допоможе малюкові: …


Рекомендуем почитать

Наверх