По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Apache – это часть стека LAMP программного обеспечения для Linux (Linux, Apache, MySQL, PHP). Apache позволяет открывать веб-страницы людям, просматривающим ваш сайт. Сервер предоставляет доступ для посещения вашего веб-сайта и ведет журнал доступа. Эти записи, лог-файлы, могут оказаться ценным источником информации о вашем веб-сайте, его использовании и его аудитории. В данной статье вы узнаете, как просматривать лог-файлы журнала доступа Apache. Просмотр журналов доступа Apache Использование cPanel для загрузки необработанных файлов регистрации доступа Если вы вошли на веб-сервер с помощью cPanel, то вы можете загрузить журналы доступа Apache через графический интерфейс. Найдите раздел с надписью «Metrics». Нажмите «Raw Access». Если включено архивирование, то необработанные файлы журналов Apache можно загрузить внизу страницы. Они будут выглядеть как стандартные гиперссылки, промаркированные с учетом конструкции веб-сайта, которым вы управляете. При нажатии на гиперссылку вам будет предложено сохранить или открыть файл. Эти лог-файлы сжаты при помощи gzip, поэтому, если ваша систему отлична от Linux, то вам могут понадобиться дополнительные инструменты для распаковки. Сохранить файл вы можете в любую папку. Найдите файл в своей ОС, затем щелкните на него правой кнопкой мыши и выберите extract(извлечь). После этого должен появиться новый файл без расширения .gz. Щелкните правой кнопкой мыши и выберите edit (изменить), чтобы открыть файл в любом текстовом редакторе и просмотреть его содержимое. Использование команд терминала для отображения журналов локального доступа Если вы работаете на компьютере, на котором установлен Apache, или если вы вошли в систему удаленно, то вы можете использовать терминал для отображения и фильтрации содержимого журналов доступа. По умолчанию вы можете найти лог-файл по следующим путям: /var/log/apache/access.log /var/log/apache2/access.log /etc/httpd/logs/access.log Чтобы перемещаться по вашей системе в поисках журналов, используйте графический интерфейс или терминал с командой cd. Шаг 1: Отображение последних 100 записей журнала доступа Введите в окно терминала следующую команду: sudo tail -100 /var/log/apache2/access.log Команда tail указывает на то, что необходимо прочитать последнюю часть файла, а команда -100 – что нужно отобразить 100 записей. Последняя часть команды, /var/log/apache2/access.log, указывает, где искать лог-файл. Если ваш лог-файл имеет другое расположение, то обязательно укажите верный путь. Шаг 2: отображение записей определенного типа из журнала доступа Иногда может потребоваться отобразить в журнале только записи определенного типа. Вы можете воспользоваться командой grep для фильтрации отчета по ключевым словам. Например, введите в терминал следующую команду: sudo grep GET /var/log/apache2/access.log Как и предыдущая команда, она обращается к файлу /var/log/apache2/access.log, чтобы отобразить содержимое журнала доступа. Команда grep указывает на то, что отобразить нужно только записи с запросом GET. Эту команду можно заменить на любые другие команды Apache. Например, если вы хотите отследить доступ к изображениям в формате .jpg, то вы можете заменить GET на .jpg. Как и в предыдущей команде, следите за тем, чтобы был указан фактический путь к лог-файлу вашего сервера. Просмотр журнала ошибок Apache Помимо журнала доступа вы можете просматривать журнал ошибок, используя ранее упомянутые команды терминала. Введите в терминал следующую команду: sudo tail -100 /var/log/apache2/error.log Если ваш лог-файл доступа был расположен в другой папке, то и лог-файл ошибок будет в той же папке. Проверьте, что вы верно указали путь до файла. Как читать логи в Apache Когда вы открываете лог-файл доступа впервые, то внутренний вид вас может потрясти. Там находится множество информации о HTTP-запросах, а некоторые текстовые редакторы (и терминал) еще могут переносить часть текста на следующую строку, что может затруднять чтение файла. Однако, несмотря на это, каждая информация отображается в определенном порядке. Традиционный формат отображения лог-файла доступа: "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-agent}i"" Это код для наиболее общих параметров в каждой строке лог-файла. Каждый знак % соответствует определенному фрагменту информации в журнале: %h – IP-адрес клиента (источника запроса на доступ). %l – следующая запись может быть просто дефисом – это означает, что информация не была получена. Это результат проверки identd на стороне клиента. %u – идентификатор пользователя клиентской стороны, если для запроса доступа требуется HTTP-аутентификация. %t – временная метка входящего запроса. %r – использованная строка запроса. Здесь речь идет о методе http (GET, POST, HEAD и т.д.), пути к тому, что было запрошено, и используемом протоколе http. %>s – код состояния, возвращенный сервером клиенту. %b – размер запрошенного ресурса. «%{Referer}i» - указывает на то, как был получен доступ, путем перехода по ссылке на другом веб-сайте или другими способами, с помощью которых клиент был направлен на вашу страницу. «%{User-agent}i» - сообщает вам информацию об объекте, совершающем запрос, например, о веб-браузере, операционной системе, источнике веб-сайта (если это робот) и т.д. При прочтении строки в вашем лог-файле каждая запись может быть расшифрована по схеме выше. Если той или иной информации нет, то на ее месте будет стоят дефис. Если вы работаете на предварительно сконфигурированном сервере, то в лог-файле может быть больше или меньше информации. Вы также можете создать свой собственный формат журнала с помощью пользовательского программного модуля. Дополнительную информацию о форматах журналов декодирования можно найти тут Как использовать данные в лог-файлах Apache Анализ журнала Apache дает возможность наблюдать за способами взаимодействия клиентов с вашим сайтом. Например, вы можете посмотреть временную метку, чтобы выяснить, сколько поступает запросов на доступ в час, чтобы определить шаблоны трафика. Вы можете посмотреть на user-agent, чтобы узнать, входят ли определенные пользователи на веб-сайт с целью доступа к базе данных или создания контента. Вы также можете отлеживать неудачные попытки аутентификации, чтобы выявлять различные виды кибератак на вашу систему. Журнал ошибок Apache можно использовать аналогичным образом. Часто его просто используют для того, что посмотреть сколько генерируется ошибок 404. Ошибка 404 возникает, когда клиент запрашивает отсутствующий ресурс, и это может помочь вам распознать неработающие ссылки или другие ошибки на странице. Помимо этого, его также можно использовать для поиска ошибок конфигурации или даже предупреждений о потенциальных проблемах с сервером. Заключение В данной статье были представлены методы извлечения данных для просмотра лог-файлов доступа Apache. Файл access.log – отличный вариант для того, чтобы проанализировать то, как клиенты взаимодействуют с вашим сервером. А файл error.log может помочь вам устранить проблемы с вашим веб-сайтом.
img
Современные предприятия во многом доверяют технологии контейнеризации, чтобы упростить развертывания сложных приложений и управление ими. Контейнеры собирают необходимые зависимости внутри одного пакета. Таким образом, вам не нужно беспокоится о том, что возникнут какие-либо конфликты зависимостей в эксплуатационной среде. Контейнеры можно переносить и масштабировать, но для последнего маневра вам понадобится инструмент управления контейнерами. На сегодняшний день Docker Swarm и Kubernetes – самые популярные платформы для оркестрации контейнеров. Они оба имеют свое конкретное назначение и определенные преимущества и недостатки. В данной статье мы рассмотрим оба из них, чтобы помочь в выборе инструмента управления контейнерами с учетом ваших требований. Что такое Docker Swarm? Docker Swarm – это платформа оркестрации контейнеров с открытым исходным кодом, встроенная в Docker. Он поддерживает оркестрацию кластеров механизмов Docker. Docker Swarm преобразует несколько экземпляров Docker в один виртуальный хост. Кластер Docker Swarm обычно состоит из трех элементов: Node - нода Service и Task – службы и задачи Load balancer - балансировщик нагрузки Ноды – это экземпляры механизма Docker, контролирующие ваш кластер, а также контейнеры, используемые для запуска ваших служб и задач. Балансировка нагрузки также является частью кластеров Docker Swarm и используется для маршрутизации запросов между нодами. Преимущества Docker Swarm Docker Swarm довольно прост в установке, поэтому он хорошо подходит для тех, кто только начинает осваивать мир оркестрации контейнеров. Он легковесный. В контейнерах Docker Swarm обеспечивает автоматическую балансировку нагрузки. Поскольку Docker Swarm встроен в Docker, то он работает с интерфейсом командной строки Docker. Помимо этого, он без проблем работает с существующими инструментами Docker, такими как Docker Compose. Docker Swarm обеспечивает рациональный выбор нод, что позволяет выбрать оптимальные ноды в кластере для развертывания контейнера. Имеет собственный Swarm API. Недостатки Docker Swarm Не смотря на множество преимуществ, Docker Swarm имеет также несколько недостатков. Docker Swarm сильно привязан к Docker API, что ограничивает его функциональность в сравнении с Kubernetes. Возможности настройки и расширения в Docker Swarm ограничены. Что такое Kubernetes? Kubernetes – это портативный облачный инфраструктурный инструмент с открытым кодом, изначально разработанный Google для управления своими кластерами. Поскольку он является инструментом оркестрации контейнеров, то он автоматизирует масштабирование, развертывание и управление контейнерными приложениями. Kubernetes имеет более сложную структуру кластера, чем Docker Swarm. Kubernetes – это многофункциональная платформа, главным образом потому, что она с выгодой для себя использует активную деятельность мирового сообщества. Преимущества Kubernetes Он способен поддерживать большую рабочую нагрузку и управлять ей. У него большое сообщество разработчиков открытого ПО, поддерживаемого Google. Поскольку он имеет открытый исходный код, то он предлагает широкую поддержку сообщества и возможность работы с разнообразными сложными сценариями развертывания. Его предлагают все основные поставщики облачных услуг: Google Cloud Platform, Microsoft Azure, IBM Cloud и AWS. Он автоматизирован и поддерживает автоматическое масштабирование. Он многофункционален, имеет встроенный мониторинг и широкий спектр доступных интеграций. Недостатки Kubernetes Несмотря на то, что Kubernetes обладает большим набором функций, он также имеет и несколько недостатков: Процесс обучения Kubernetes достаточно сложный, и для освоения Kubernetes требуются специальные знания. Процесс установки достаточно сложен, особенно для новичков. Поскольку сообщество разработчиков открытого ПО работает достаточно продуктивно, Kubernetes требует регулярной установки обновлений для поддержания последней версии технологии без прерывания рабочей нагрузки. Для простых приложений, которые не требуют постоянного развертывания, Kubernetes слишком сложный. Kubernetes VS Docker Swarm Теперь, когда мы узнали все преимущества и недостатки Kubernetes и Docker Swarm, давайте посмотрим, чем же они отличаются друг от друга. Основное различие этих двух платформ заключается в их сложности. Kubernetes хорошо подходит для сложных приложений, а Docker Swarm разработан для простоты использования, что говорит о том, что его предпочтительнее использовать с простыми приложениями. Далее приведем подробное описание нескольких различий между Docker Swarm и Kubernetes: Установка и настройка Kubernetes можно настроить, но сделать это будет не так просто. Docker Swarm установить и настроить намного легче. Kubernetes: в зависимости от операционной системы ручная установка может отличаться. Если вы пользуетесь услугами поставщика облачных технологий, то установка не требуется. Docker Swarm: экземпляры Docker обычно одинаковы для различных операционных систем и поэтому довольно просты в настройке. Балансировка нагрузки Docker Swarm предлагает автоматическую балансировку нагрузки, а Kubernetes – нет. Однако в Kubernetes легко интегрировать балансировку нагрузки с помощью сторонних инструментов. Kubernetes: службы можно обнаружить через одно DNS-имя. Kubernetes обращается к контейнерным приложениям через IP-адрес или HTTP-маршрут. Docker Swarm: поставляется со встроенными балансировщиками нагрузки. Мониторинг Kubernetes: имеет встроенный мониторинг, а также поддержку интеграции со сторонними инструментами мониторинга. Docker Swarm: нет встроенных механизмов мониторинга. Однако он поддерживает мониторинг через сторонние приложения. Масштабируемость Kubernetes: обеспечивает масштабирование в зависимости от трафика. Встроено горизонтальное автомасштабирование. Масштабирование Kubernetes включает в себя создание новых модулей и их планирование для узлов с имеющимися ресурсами. Docker Swarm: обеспечивает быстрое автоматическое масштабирование экземпляров по запросу. Поскольку Docker Swarm быстрее развертывает контейнеры, то это дает инструменту оркестрации больше времени на реакцию, что позволяет масштабировать по требованию. Какую платформу все же выбрать? И Kubernetes, и Docker Swarm служат для конкретного назначения. Какой из них лучше, зависит от ваших текущих потребностей или потребностей вашей организации. При запуске Docker Swarm – это простое в использовании решение для управления вашими контейнерами. Если вам или вашей компании не нужно управлять сложными рабочими нагрузками, то Docker Swarm – правильный выбор. Если же ваши приложения имеют более ключевую роль, и вы хотите включить функции мониторинга, безопасности, высокой доступности и гибкости, то Kubernetes – вот ваш выбор. Подведем итог Благодаря этой статье мы узнали, что такое Docker Swarm и Kubernetes. Также мы узнали об их плюсах и минусах. Выбор между этими двумя технологиями достаточно субъективен и зависит от желаемых результатов.
img
Изначально разработанный для Unix-систем grep, является одной из наиболее широко используемых утилит командной строки в среде Linux. grep расшифровывается как "глобальный поиск строк, соответствующих регулярному выражению и их вывод" (globally search for a regular expression and print matching lines). grep в основном ищет на основе указанного посредством стандартного ввода или файла шаблона, или регулярного выражения и печатает строки, соответствующие заданным критериям. Часто используется для фильтрации ненужных деталей при печати только необходимой информации из больших файлов журнала. Это возможно благодаря совместной работе регулярных выражений и поддерживаемых grep параметров. Здесь мы рассмотрим некоторые из часто используемых сисадминами или разработчиками команд grep в различных сценариях. Синтаксис grep Команда grep принимает шаблон и необязательные аргументы вместе со перечислять файлов, если используется без трубопровода. $ grep [options] pattern [files] Простой пример: $ grep my file.txt my_file 1. Поиск среди нескольких файлов grep позволяет выполнять поиск заданного шаблона не только в одном, но и среди нескольких файлах. Для этого можно использовать подстановочный символ *. $ sudo grep -i err /var/log/messages Как видно из вывода, утилита перед результатом искомого шаблона выводит также название файла, что позволяет определить где именно было найдено совпадение. 2. Регистронезависимый поиск grep позволяет искать шаблон без учета регистра. Чтобы указать grep игнорировать регистр используется флаг –i. $ grep -i [pattern] [file] 3. Поиск слова Иногда появляется необходимость поиска не части, а целого слова. В таких случаях утилита запускается с флагом -w. $ grep -w [pattern] [file] 4. Вывод количества совпадений Не всегда нужно выводить результат совпадения. Иногда достаточно только количества совпадений с заданным шаблоном. Эту информацию мы можем получить с помощью параметра -c. $ grep -c [pattern] [file] 5. Поиск в поддиректориях Часто необходимо искать файлы не только в текущей директории, но и в подкаталогах. grep позволяет легко сделать это с флагом -r. $ grep -r [pattern] * 6. Инверсивный поиск Если вы хотите найти что-то, что не соответствует заданному шаблону, grep позволяет сделать только это с флагом -v. $ grep -v [pattern] [file] Можно сравнить выходные резултаты grep для одного и того же шаблона и файла с флагом -v и без него. С параметром -v выводятся любые строки, которые не соответствуют образцу. 7. Вывод нумерации строк grep позволяет нумеровать совпавшие строки, что позволяет легко определить, где строка находится в файле. Чтобы получить номера строк в выходных данных. используйте параметр –n: $ grep -n [pattern] [file] 8. Ограничение вывода Результат вывода grep для файлов вроде журналов событий и т.д. может быть длинным, и вам может просто понадобиться фиксированное количество строк. Мы можем использовать -m [num], чтобы ограничить выводимые строки. $ grep -m[num] [pattern] [file] Обратите внимание, как использование флага -m влияет на вывод grep для одного и того же набора условий в примере ниже: 9. Вывод дополнительных строк Часто нам нужны не только строки, которые совпали с шаблоном, но некоторые строки выше или ниже их для понимания контекста. С помощью флагов -A, -B или -C со значением num можно выводить строки выше или ниже (или и то, и другое) совпавшей строки. Здесь число обозначает количество дополнительных печатаемых строк, которое находится чуть выше или ниже соответствующей строки. Это применимо ко всем совпадениям, найденным grep в указанном файле или списке файлов. $ grep -A[num] [pattern] [file] $ grep -B[num] [pattern] [file] $ grep -C[num] [pattern] [file] Ниже показан обычный вывод grep, а также вывод с флагом -A, -B и -C один за другим. Обратите внимание, как grep интерпретирует флаги и их значения, а также изменения в соответствующих выходных данных. С флагом -A1 grep печатает 1 строку, которая следует сразу после соответствующей строки. Аналогично, с флагом -B1 он печатает 1 строку непосредственно перед соответствующей строкой. С флагом -C1 он печатает 1 строку, которая находится до и после соответствующей строки. 10. Вывод списка файлов Чтобы напечатать только имя файлов, в которых найден образец, а не сами совпадающие строки, используйте флаг -l. $ grep -l [pattern] [file] 11. Вывод абсолютных совпадений Иногда нам нужно печатать строки, которые точно соответствуют заданному образцу, а не какой-то его части. Флаг -x grep позволяет делать именно это. $ grep -x [pattern] [file] В приведенном ниже примере файл file.txt содержит строку только с одним словом «support», что соответствует требованию grep с флагом –x. При этом игнорируются строки, которые могут содержать слова «support» с сопутствующим текстом. 12. Поиск совпадения в начале строки С помощью регулярных выражений можно найти последовательность в начале строки. Вот как это сделать. Обратите внимание, как с помощью символ каретки ^ изменяет выходные данные. Символ каретки указывает grep выводить результат, только если искомое слово находится в начале строки. Если в шаблоне есть пробелы, то можно заключить весь образец в кавычки. 13. Поиск совпадения в конце строки Другим распространенным регулярным выражением является поиск шаблона в конце строки. $ grep [options] "[string]$" [file] В данном примере мы искали точку в конце строки. Поскольку точка . является значимым символом, нужно её экранировать, чтобы среда интерпретировала точку как команду. Обратите внимание, как изменяется вывод, когда мы просто ищем совпадения . и когда мы используем $ для указания grep искать только те строки, которые заканчиваются на . (не те, которые могут содержать его где-либо между ними). 14. Использования файла шаблонов Могут возникнуть ситуации, когда у вас есть сложный список шаблонов, которые вы часто используете. Вместо записи его каждый раз можно указать список этих образцов в файле и использовать с флагом -f. Файл должен содержать по одному образцу на каждой строке. $ grep -f [pattern_file] [file_to_match] В нашем примере мы создали файла шаблона с названием pattern.txt со следующим содержимым: Для его использования используйте флаг -f. 15. Поиск по нескольким шаблонам grep позволяет задать несколько шаблонов с помощью флага -e. $ grep -e [pattern1] -e [pattern2] -e [pattern3]...[file] 16. Указание расширенных регулярных выражений grep также поддерживает расширенные регулярные выражения (Extended Regular Expressions – ERE) или с использованием флага -E. Это похоже на команду egrep в Linux. Использование ERE имеет преимущество, когда вы хотите рассматривать метасимволы как есть и не хотите экранировать их. При этом использование -E с grep эквивалентно команде egrep. $ grep -E '[Extended RegEx]' [file] Ниже приведён пример использование ERE, для вывода не пустых и не закомментированных строк. Это особенно полезно для поиска чего-то в больших конфигурационных файлах. Здесь дополнительно использован флаг –v, чтобы НЕ выводить строки, соответствующих шаблону '^ (# | $)'. Заключение Приведенные выше примеры являются лишь верхушкой айсберга. grep поддерживает ряд вариантов и может быть очень полезным инструментом в руке человека, который знает, как его эффективно использовать. Мы можем не только использовать приведенные выше примеры, но и комбинировать их различными способами, чтобы получить то, что нам нужно. Для получения дополнительной информации можно воспользоваться встроенной системой справки Linux – man.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59