Веб-сервер Apache (httpd) | Operations Suite
Интеграция веб-сервера Apache собирает метрики, связанные с трафиком, такие как количество открытых соединений или входящих запросов. Интеграция также собирает журналы доступа и ошибок. Журналы доступа преобразуются в полезную нагрузку JSON, ориентированную на сведения о запросе и журналы ошибок анализируются на наличие кода ошибки и сообщения.
Для получения дополнительной информации о веб-сервере Apache см. Документация по веб-серверу Apache (httpd).
Предпосылки
Для сбора данных телеметрии веб-сервера Apache необходимо установите Ops Agent:
- Для метрик установите версию 2.7.0 или выше.
- Для журналов установите версию 2.4.0 или выше.
Эта интеграция поддерживает веб-сервер Apache версии 2.4.
Настройка экземпляра веб-сервера Apache
Для сбора данных телеметрии с веб-сервера Apache необходимо настроить файл httpd.
, чтобы включить mod_status
плагин. Многие установки Apache включают этот подключаемый модуль по умолчанию. Чтобы увидеть, если
плагин включен на вашем экземпляре виртуальной машины, запустите:
curl localhost:80/server-status?auto
Если подключаемый модуль включен, вывод включает строки, аналогичные
далее:
Всего доступов: 2
Всего кбайт: 1
Занятые работники: 1
Бездельников: 4
Если вместо этого вы получаете страницу 404 Not Found
, то плагин mod_status
не
включено.
Настройка агента Ops для веб-сервера Apache
Следуя руководству по настройке операций
Агент, добавьте необходимые элементы
для сбора телеметрии с экземпляров веб-сервера Apache и
перезапустите агент.
Пример конфигурации
Следующие команды создают конфигурацию для сбора и приема данных телеметрии.
для веб-сервера Apache и перезапускает агент Ops.
# Настраивает агент Ops для сбора телеметрии из приложения и перезапуска агента Ops.
установить -е
# Создайте резервную копию существующего файла, чтобы не потерять существующие конфигурации.
sudo cp /etc/google-cloud-ops-agent/config.yaml /etc/google-cloud-ops-agent/config.yaml.bak
# Настройте агент Ops.
sudo tee /etc/google-cloud-ops-agent/config.yaml > /dev/null << EOF
показатели:
приемники:
апач:
тип: апач
услуга:
трубопроводы:
апач:
приемники:
- апач
Ведение журнала:
приемники:
apache_access:
тип: apache_access
апач_ошибка:
тип: apache_error
услуга:
трубопроводы:
апач:
приемники:
- apache_access
- апач_ошибка
EOF
перезапуск службы sudo google-cloud-ops-agent
спать 60
Настройка сбора журналов
Чтобы получать журналы с веб-сервера Apache, необходимо создать приемники для журналов. которые создает веб-сервер Apache, а затем создает конвейер для новых получателей.
Чтобы настроить приемник для ваших журналов apache_access
, укажите следующее
поля:
Поле По умолчанию Описание exclude_paths
Список шаблонов путей файловой системы для исключения из набора соответствует include_paths
. include_paths
[/var/log/apache2/access.log,/var/log/apache2/access_log,/var/log/httpd/access_log]
Список путей к файловой системе для чтения по хвосту каждого файла. В путях можно использовать подстановочный знак ( *
); например, /var/log/apache*/*.log
. путь_файла_журнала_записи
ложный
Если установлено значение верно
, то путь к конкретному файлу, из которого была получена запись журнала, отображается в выходной записи журнала как значение метки agent.googleapis.com/log_file_path
. При использовании подстановочного знака записывается только путь к файлу, из которого была получена запись. тип
Это значение должно быть apache_access
. wildcard_refresh_interval
60-е годы
Интервал, с которым обновляются пути к файлам с подстановочными знаками в include_paths
. Задается как продолжительность времени, которую можно проанализировать с помощью time.ParseDuration
, например 30s
или 2m
. Это свойство может быть полезно при высокой пропускной способности ведения журналов, когда файлы журналов ротируются быстрее, чем интервал по умолчанию.
Чтобы настроить приемник для ваших журналов apache_error
, укажите следующее
поля:
Поле По умолчанию Описание exclude_paths
Список шаблонов путей файловой системы, которые следует исключить из набора, соответствующего include_paths
. include_paths
[/var/log/apache2/error. log,/var/log/apache2/error_log,/var/log/httpd/error_log]
Список путей к файловой системе для чтения по хвосту каждого файла. Дикая карта ( *
) можно использовать в путях; например, /var/log/apache*/*.log
. путь_файла_журнала_записи
ложный
Если установлено значение true
, то путь к конкретному файлу, из которого была получена запись журнала, отображается в выходной записи журнала как значение метки agent.googleapis.com/log_file_path
. При использовании подстановочного знака записывается только путь к файлу, из которого была получена запись. тип
Это значение должно быть apache_error
. wildcard_refresh_interval
60-е годы
Интервал, с которым обновляются пути к файлам с подстановочными знаками в include_paths
. Задается как продолжительность времени, которую можно проанализировать с помощью time.ParseDuration
, например 30s
или 2m
. Это свойство может быть полезно при высокой пропускной способности ведения журналов, когда файлы журналов ротируются быстрее, чем интервал по умолчанию.
Что регистрируется
logName
происходит от
идентификаторы приемника, указанные в конфигурации. Подробные поля внутри Журнал
следующие.
Журналы apache_access
содержат следующие поля в LogEntry
:
Поле Тип Описание HTTP-запрос
объект См. HttpRequest
jsonPayload.host
строка Содержимое заголовка хоста jsonPayload.user
строка Авторизованное имя пользователя для запроса серьезность
Строка ( LogSeverity
) Уровень записи журнала (переведено)
Ошибка apache_error 9Журналы 0022 содержат следующие поля в LogEntry
:
Поле Тип Описание jsonPayload.client
строка IP-адрес клиента (необязательно) jsonPayload. errorCode
строка Код ошибки Apache jsonPayload.level
строка Уровень записи журнала jsonPayload.message
строка Сообщение журнала jsonPayload.module
строка модуль apache, откуда был создан журнал jsonPayload.pid
строка Идентификатор процесса jsonPayload.tid
строка Идентификатор потока серьезность
Строка ( LogSeverity
) Уровень записи журнала (переведено)
Настройка сбора метрик
Чтобы получать метрики с веб-сервера Apache, необходимо создать приемник для метрик
которые создает веб-сервер Apache, а затем создает конвейер для нового получателя.
Этот приемник не
поддерживать использование нескольких экземпляров в конфигурации, например, для
контролировать несколько конечных точек. Все такие экземпляры записываются в один и тот же временной ряд,
и Cloud Monitoring не может отличить их друг от друга.
Чтобы настроить приемник для ваших показателей apache
, укажите следующее
поля:
Поле По умолчанию Описание коллекция_интервал
60-е годы
Значение продолжительности времени, например 30 с
или 5 м
. server_status_url
http://localhost:80/server-status?auto
URL-адрес, предоставляемый модулем mod_status. тип
Это значение должно быть apache
.
Что отслеживается
В следующей таблице представлен список метрик, которые собирает агент Ops Agent.
из экземпляра веб-сервера Apache.
Метрический тип Вид, Тип
Контролируемые ресурсы Этикетки рабочая нагрузка.googleapis.com/apache.current_connections
ДАТЧИК
, INT64
gce_instance имя_сервера
рабочая нагрузка. googleapis.com/apache.requests
НАКОПИТЕЛЬНЫЙ
, INT64
gce_instance имя_сервера
рабочая нагрузка.googleapis.com/apache.scoreboard
ДАТЧИК
, INT64
gce_instance имя_сервера
состояние
рабочая нагрузка.googleapis.com/apache.traffic
НАКОПИТЕЛЬНЫЙ
, INT64
gce_instance имя_сервера
рабочая нагрузка. googleapis.com/apache.workers
ДАТЧИК
, INT64
gce_instance имя_сервера
состояние
Проверка конфигурации
В этом разделе описывается, как проверить правильность настройки приемника веб-сервера Apache. Это может занять один или два
минут, чтобы агент Ops Agent начал сбор данных телеметрии.
Чтобы убедиться, что журналы загружены, перейдите в Logs Explorer.
и выполните следующий запрос для просмотра журналов веб-сервера Apache:
resource.type="gce_instance"
(log_id("apache_access") ИЛИ log_id("apache_error"))
Чтобы убедиться, что метрики загружены, перейдите на
Исследователь метрик
и выполните следующий запрос на вкладке MQL :
fetch gce_instance
| показатель «workload. googleapis.com/apache.current_connections»
| каждый 1м
Панель просмотра
Для просмотра показателей веб-сервера Apache у вас должна быть диаграмма или информационная панель.
настроен. Интеграция с веб-сервером Apache включает одну или несколько панелей мониторинга.
для тебя. Любые информационные панели автоматически устанавливаются после настройки
интеграции, и агент Ops Agent начал собирать данные метрик.
Вы также можете просматривать статические предварительные просмотры информационных панелей без
установка интеграции.
Чтобы просмотреть установленную информационную панель, выполните следующие действия:
- В консоли Google Cloud выберите Мониторинг или нажмите следующую кнопку:
Перейти к мониторингу - В области навигации выберите Приборные панели .
- Выберите вкладку Список панели мониторинга .
- Выберите категорию Integrations .
- Щелкните имя панели мониторинга, которую хотите просмотреть.
Если вы настроили интеграцию, но панель управления не
установлен, затем убедитесь, что агент Ops запущен. когда нет
метрические данные для диаграммы на информационной панели, установка информационной панели не удалась.
После того, как Ops Agent начнет собирать метрики, панель мониторинга будет установлена.
для тебя.
Чтобы просмотреть статический предварительный просмотр панели мониторинга, выполните следующие действия:
- В консоли Google Cloud выберите Мониторинг или нажмите следующую кнопку:
Перейти к мониторингу - В области навигации выберите Интеграции .
- Щелкните фильтр платформы развертывания Compute Engine .
- Найдите запись для веб-сервера Apache и нажмите Подробнее .
- Выберите вкладку Dashboards для просмотра статического предварительного просмотра. Если
панель управления установлена, то вы можете перейти к ней, щелкнув Просмотр приборной панели .
Дополнительные сведения о панелях мониторинга в Cloud Monitoring см.
Панели и графики.
Дополнительные сведения об использовании страницы интеграции см.
Управляйте интеграциями.
Установить политики предупреждений
Политики предупреждений предписывают Cloud Monitoring уведомлять вас, когда
возникают указанные условия. Интеграция веб-сервера Apache
включает одну или несколько политик предупреждений, которые вы можете использовать. Вы можете просмотреть и установить
эти политики оповещения из Интеграции страница в
Мониторинг.
Для просмотра описаний доступных политик предупреждений и
установите их, сделайте следующее:
- В консоли Google Cloud выберите Мониторинг или нажмите следующую кнопку:
Перейти к мониторингу - В области навигации выберите Интеграции .
- Найдите запись для веб-сервера Apache и нажмите Подробнее .
- Выберите вкладку Оповещения . На этой вкладке представлены описания
доступные политики предупреждений и предоставляет интерфейс для установки
их.
- Установить политики предупреждений. Политики предупреждений
чтобы знать, куда отправлять уведомления о том, что оповещение было
срабатывает, поэтому они требуют от вас информацию для установки.
Чтобы установить политики предупреждений, выполните следующие действия.
- Из списка доступных политик предупреждений
выберите те, которые вы хотите установить.
В разделе Настройка уведомлений выберите один или
больше каналов уведомлений. У вас есть возможность отключить
использование каналов уведомлений, но если вы это сделаете, то ваше оповещение
политики срабатывают молча. Вы можете проверить их статус в
Отслеживание, но вы не получаете уведомлений.
Для получения дополнительной информации о каналах уведомлений,
см. Управление
каналы уведомлений.
- Щелкните Создать политики .
Дополнительные сведения о политиках предупреждений в Cloud Monitoring см.
Введение в оповещение.
Дополнительные сведения об использовании страницы интеграции см.
Управляйте интеграциями.
Что дальше
Чтобы узнать, как использовать Ansible для установки агента Ops, настройте
стороннее приложение и установите образец панели мониторинга, см. Установите Ops Agent для устранения неполадок сторонних приложений видео.
Апач. Что такое веб-сервер Apache? | by Waqas Ahmed
Чтение: 4 мин. ·
28 июля 2021 г. Сервер Apache — это веб-сервер с открытым исходным кодом, который может доставлять веб-контент через Интернет. Apache был разработан и поддерживается Apache Software Foundation. Существует так много веб-серверов, но Apache популярен, потому что он быстрый, надежный и безопасный.
Теперь, прежде чем идти дальше, нам нужно понять архитектуру веб-приложений Apache
Мы должны знать, что самые распространенные стеки веб-приложений включают Apache, MySQL, PHP и (lAMP/LINEX)
Теперь мы обсудим все стеки.
Linux — это операционная система с открытым исходным кодом, которая может выполнять все операции приложений. Мы знаем, что apache — это веб-сервер, который обрабатывает веб-контент через HTTP.
Как мы знаем, MySQL — это база данных, где мы можем хранить всю информацию. MySQL хранит всю информацию в простом формате запроса
Мы все знаем, что PHP — это язык программирования. В apache PHP помогает создавать динамические страницы веб-контента.
Интернет состоит из множества различных технологий, и не все они одинаковы. Хотя Apache, возможно, является одним из самых популярных веб-серверов в сети, существует много других игроков, и ландшафт постоянно меняется. Еще в конце 90-х и начале 2000-х доминирование Apache было очень сильным, обслуживая более 50% активных веб-сайтов в Интернете. Microsoft IIS (Internet Information Services) также был вариантом, но не таким популярным.
Сегодня Apache по-прежнему обслуживает большую часть активных веб-сайтов, но их доля сократилась с 50% до чуть менее 40% по состоянию на 2018 год, а NGINX, относительно новый игрок на игровом поле веб-серверов, находится на втором месте с примерно 35%, а Microsoft IIS колеблется в районе 8–10%. Каждый год появляется новый урожай веб-приложений с новыми стеками и серверами, поэтому ландшафт постоянно меняется.
Скопировано отсюда
(https://www.sumologic.com/blog/apache-web-server-introduction/)
Apache является программным обеспечением с открытым исходным кодом, поэтому открытый исходный код сделал apache очень популярным среди разработчиков, которые хотят настроить свой собственный элемент, чтобы применить некоторые определенные функции и улучшить свои основные функции.
Одними из наиболее распространенных элементов, которые можно добавить, являются SSL, балансировка нагрузки, поддержка программирования на стороне сервера и т. д.
Apache также можно развернуть в Linux, macOS и Windows. Если вы научитесь настраивать Apache в Linux, вы сможете администрировать Apache в Windows и Mac. Единственная разница будет заключаться в путях к каталогам и процессах установки
Основная роль Apache заключается в общении по сетям, и он использует протокол TCP/IP (протокол управления передачей/Интернет-протокол, который позволяет устройствам с IP-адресами в одной сети взаимодействовать друг с другом).
Протокол TCP/IP представляет собой набор правил, которые определяют, как клиенты делают запросы и как серверы отвечают, а также определяют, как данные передаются, доставляются, принимаются и подтверждаются.
Сервер Apache настроен на работу с файлами конфигурации, в которые добавлены директивы для управления его поведением. В состоянии простоя Apache прослушивает IP-адреса, указанные в его файле конфигурации (HTTPd.conf). Всякий раз, когда он получает запрос, он анализирует заголовки, применяет правила, указанные для него в файле конфигурации, и предпринимает действия.
Но на одном сервере может быть много веб-сайтов, а не только один, хотя внешнему миру они кажутся отдельными друг от друга. Для этого каждому из этих веб-сайтов необходимо присвоить другое имя, даже если все они в конечном итоге сопоставляются с одним и тем же компьютером. Это достигается с помощью так называемых виртуальных хостов.
Поскольку IP-адреса трудно запомнить, мы, как посетители определенных сайтов, обычно вводим их соответствующие доменные имена в поле URL-адреса в наших браузерах. Затем браузер подключается к DNS-серверу, который переводит доменные имена в их IP-адреса. Затем браузер берет возвращенный IP-адрес и подключается к нему. Браузер также отправляет Заголовок узла с запросом, чтобы, если на сервере размещено несколько сайтов, он знал, какой из них обслуживать.
Справочный сайт
(https://code.tutsplus.com/tutorials/an-introduction-to-apache--net-25786)
На данный момент серверы apache очень распространены и легко настраиваются. и очень быстрый, надежный и очень безопасный, а Apache имеет открытый исходный код, поэтому сервер Apache очень часто выбирают пользователи
Некоторые альтернативы веб-серверу Apache
- Nginx
- Apache Tomcat
- Node.js
- Lighttpd
- Cherokee
- Microsoft IIS
- Appweb
90 011 Hiawatha
Как мы знаем, Apache оказался одним из основных продуктов во многих популярных стеках и основой Интернета в начале года. поскольку, на мой взгляд, вместо apache доступно множество веб-серверов, но apache по-прежнему играет очень важную роль во многих стеках технологий и системной инфраструктуре компаний. Даже с появлением новых технологий и серверов каждый разработчик должен научиться обращаться с apache и настраивать его, потому что apache по-прежнему остается технологией.