Назад | Перейти на главную страницу

Что включить в сценарий мониторинга сервера LAMP

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

На каждом сервере LAMP работает RedHat Enterprise и на каждом размещается 40-50 (и их число постоянно растет) общедоступных веб-сайтов (смесь HTML, пользовательских сайтов PHP и Drupal).

Вот что сейчас включает в себя сценарий:

  1. Загрузка сервера и авторизация пользователей
  2. Последние 10 входов и раз
  3. Использование диска
  4. Последние 10 строк из различных журналов (qmail, mysql, secure, apache error, package)
  5. имя пользователя, порт и время последнего входа в систему для каждой учетной записи
  6. верхняя свалка

Отчет уже длинный, поэтому я заинтересован в краткости, насколько это возможно.

Считаете ли вы, что другие показатели важны для включения в такой сценарий? Вы бы исключили что-нибудь из этого списка?

Спасибо, команда.

j

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

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

Я бы порекомендовал использовать инструмент автоматического сбора, например Кактусы которые будут собирать и сообщать о различных показателях с течением времени. Это позволит вам легко определять тенденции и планировать будущее. Есть отличная книга Джона Олспоу под названием Искусство планирования мощности который подробно рассматривает эту тему. Я настоятельно рекомендую это всем, кому нужно отслеживать показатели на серверах.

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

Кроме того, если вы используете SSL для них, проверьте сертификат на предмет истечения срока действия, неожиданных изменений и т. Д.

для вашего скрипта - для проверки производительности я бы добавил содержимое журнала медленных запросов mysql [вам нужно активировать его в mysql my.cnf]. если у вас есть запросы продолжительностью более нескольких секунд, вероятно, есть узкое место в производительности.

поместите некоторую проверку согласованности - tripwire - integrit или что-то еще - в места, которые не должны быть изменены [/ etc /? двоичные файлы? ]. возможно, добавьте проверку логов ftp по geoip - вероятно, вы не ожидаете увидеть успешные входы из Китая или бывшего СССР.

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

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

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

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

Другая сторона мониторинга - это своего рода графики. Мы используем Munin, но кактусы или ганглии - общие решения. Графики неоценимы для выявления тенденций в вашей системе.

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

Добавьте это в свою конфигурацию apache (уже существующую в большинстве дистрибутивов)

<Location /server-status>
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from .example.com
</Location>

Этот обработчик предоставляется mod_status. Вы можете видеть текущие запросы, запросы в секунду и т. Д.