Можно, но это материал для отдельной статьи, т.к. тут hdparm — это лишь пример создания своего монитора, с которым мне пришлось повозиться(надеюсь эти знания не пропадут).
Для основного материала даны готовые скрипты и шаблоны.
Да, да — попробуйте сказать хостеру «у меня высокий iowait». Предпологаю ответ «проблема в настройках виртуалки, разбирайтесь».
В моем случае я спрашивал в начале про высокое время генерации страницы, затем про iowait, затем мучал их hdparm. Результат был достигнут в результате последнего, что сказалось на iowait — он упал с 36% до 1.6%. Ну и генерация страниц по данным гугл ускорилась в три-четыре раза.
В моем случае это очень помогло.
К тому же я предупреждаю пользователей об оверхеде: «Хороший параметр, но не снимайте его слишком часто, ведь в эти 3-10 секунд замера диск будет очень занят, рекомендую раз в 10-60 минут, или вообще отключить, если статистика вам понравилась и не будете мучить хостера.»
Так-что не надо тут меня казнить…
На вкладке Actions — Operations можно предусмотреть запуск скрипта на стороне агента.
Но оно делается только когда «Event acknowleged»… тоесть надо создать какую-то проблему прежде — Ивэнт, а потом на этот ивэнт событие сделать — запуск скрипта на стороне агента.
Получится?… вобщем, сейчас буду пробовать…
Для серъезных — да, не обойтись. Но я бы хотел сделать систему легкой для установки начинающими пользователями. А «продвинутые» сами сделают себе все мониторы за 5 минут.
Кинуть скрипты в корень, импортировать шаблоны в Заббикс. Привязал шаблон, установился монитор. Круто было бы…
Не хочется много мест для управления агентами. В Заббиксе уже есть нативный интерфейс управления и было бы хорошо им воспользоваться. Это облегчило бы освоение нашего метода.
Привязали шаблон в Заббиксе к агенту, в шаблоне привязать Макрос, который говорит, какой скриптик надо запустить на клиенте для установки мониторинга. Можно было бы и без puppet'ов всяких обойтись.
Думаю, что это слишком сложно, и потребует дополнительно много знаний (и желательно опыта) по работе с системой управления. Было бы хорошо так сделать, конечно, оформить в виде пакета, и на гит! Может кто займется?.. с мониторами Zabbix помогу ;) — получилась бы достойнейшая альтернатива ZTC.
Или: подключил к агенту шаблон, а на стороне агента автоматом возникли поддерживаемые UserParameter и скрипты. Если бы такое Zabbix мог, было бы круто! В офф.документации появилось описание Zabbix 2.4, может он такое будет уметь…
Ну и я сторонник того, чтобы устанавливать на сервере необходимый минимум. Мне кажется, предложенный мной способ — минимальнее :)
Без проблем!
1) Давайте поищем программку, которая сможет делать запросы к php-fpm напрямую.
2) Найдем способ определения списка запущенных php-fpm серверов.
Просто, у нас один сервер php-fpm, ну и следовательно, у меня не стояло задачи делать discovery и обращаться напрямую к php-fpm.
Минусом этому мониторингу получим необходимость устанавливать средство для обращения к fastcgi.
В ZTC прописан протокол общения с php-fpm без сторонних fast-cgi приложений. Но, к сожалению, discovery там нет.
Давайте объединим знания, стремления и сделаем такой шаблон+скрипт.
Контакт отправил в личку, если Вы готовы тратить личное время.
Конечно, если лень и у вас есть лишние 20-150$ в месяц — красивый, удобный сервис.
К плюсам newrelic могу отнести:
(+) наличие возможности уведомления пользователя
(+) супер-легкий процесс установки агента
(+) не нужно искать место, куда поставить zabbix-server (желательно, чтобы он всегда был в он-лайне. в худшем случае можно поставить его в виртуалку на свою персоналку, кстати, готовые виртуалки доступны для скачки прямо на сайте Zabbix)
Ну и жирный(для меня) минус:
(-) бесплатно первые 14 дней, а после — только мониторинг основных параметров ОС — диск, память, процессор (Zabbix умеет «из коробки»)
(-) бесплатно хранит данные только за последние 24 часа
В свое время пытался найти бесплатный сервис мониторинга доступности сервера. Много платных. Но я все-таки нашел бесплатный, который мне sms-ит в случае, если сервер не вернул определенный код на определенной странице. uptimerobot.com, называется. Кто ищет, тот всегда найдет.
+ zabbix — для разбора полетов с быстродействием, без ежемесячных вливаний. Вполне устраивает.
Зарегился сам, а также свежее описание по русски нашел тут:
zxmd.wordpress.com/2014/03/07/newrelic-monitoring/
Конечно, выбирать пользователю по доходу, навыкам и потребностям.
Вместо Ваш_агент_addr надо вписать IP или имя вашего агента. Вместо Ваш_сервер_addr — IP/имя сервера.
Почему во всех — потому что такой подход использовал: один шаблон + один(или пара) скриптов + один или несколько UserParameter.
(+) мониторы могут использоваться по отдельности (нет необходимости ставить весь пакет)
(+) пользователь видит внутренности скрипта-сборщика и понимает, как используются эти параметры, может изменить
(-) надо в каждый скрипт заходить и менять эти настройки. Для облегчения этого процесса я добавил SET_server_to_all.sh
(+) у каждого скрипта имеются дополнительные входные параметры, которые пользователю не мешало бы проверить
У меня не было цели собрать целый набор шаблонов, т.к. у каждого пользователя свой набор программ/сервисов. И, скорее-всего, они используют один-несколько мониторов, но не все.
Если кто-то имеет схожие со мной взгляды на принципы сбора параметров (использование одного запроса к службе, а потом — zabbix-sender для всех), то готов адаптировать свои мониторы под синтаксис библиотеки шаблонов. К сожалению, я не смог найти разработчика выложившего свои труды в виде скомпанованной библиотеки мониторов с подобным подходом.
Для основного материала даны готовые скрипты и шаблоны.
В моем случае я спрашивал в начале про высокое время генерации страницы, затем про iowait, затем мучал их hdparm. Результат был достигнут в результате последнего, что сказалось на iowait — он упал с 36% до 1.6%. Ну и генерация страниц по данным гугл ускорилась в три-четыре раза.
В моем случае это очень помогло.
К тому же я предупреждаю пользователей об оверхеде: «Хороший параметр, но не снимайте его слишком часто, ведь в эти 3-10 секунд замера диск будет очень занят, рекомендую раз в 10-60 минут, или вообще отключить, если статистика вам понравилась и не будете мучить хостера.»
Так-что не надо тут меня казнить…
Но оно делается только когда «Event acknowleged»… тоесть надо создать какую-то проблему прежде — Ивэнт, а потом на этот ивэнт событие сделать — запуск скрипта на стороне агента.
Получится?… вобщем, сейчас буду пробовать…
Для серъезных — да, не обойтись. Но я бы хотел сделать систему легкой для установки начинающими пользователями. А «продвинутые» сами сделают себе все мониторы за 5 минут.
Кинуть скрипты в корень, импортировать шаблоны в Заббикс. Привязал шаблон, установился монитор. Круто было бы…
Привязали шаблон в Заббиксе к агенту, в шаблоне привязать Макрос, который говорит, какой скриптик надо запустить на клиенте для установки мониторинга. Можно было бы и без puppet'ов всяких обойтись.
Или: подключил к агенту шаблон, а на стороне агента автоматом возникли поддерживаемые UserParameter и скрипты. Если бы такое Zabbix мог, было бы круто! В офф.документации появилось описание Zabbix 2.4, может он такое будет уметь…
Ну и я сторонник того, чтобы устанавливать на сервере необходимый минимум. Мне кажется, предложенный мной способ — минимальнее :)
Скрипты и описание обновил.
Спасибо!
1) Давайте поищем программку, которая сможет делать запросы к php-fpm напрямую.
2) Найдем способ определения списка запущенных php-fpm серверов.
Просто, у нас один сервер php-fpm, ну и следовательно, у меня не стояло задачи делать discovery и обращаться напрямую к php-fpm.
Минусом этому мониторингу получим необходимость устанавливать средство для обращения к fastcgi.
В ZTC прописан протокол общения с php-fpm без сторонних fast-cgi приложений. Но, к сожалению, discovery там нет.
Давайте объединим знания, стремления и сделаем такой шаблон+скрипт.
Контакт отправил в личку, если Вы готовы тратить личное время.
К плюсам newrelic могу отнести:
(+) наличие возможности уведомления пользователя
(+) супер-легкий процесс установки агента
(+) не нужно искать место, куда поставить zabbix-server (желательно, чтобы он всегда был в он-лайне. в худшем случае можно поставить его в виртуалку на свою персоналку, кстати, готовые виртуалки доступны для скачки прямо на сайте Zabbix)
Ну и жирный(для меня) минус:
(-) бесплатно первые 14 дней, а после — только мониторинг основных параметров ОС — диск, память, процессор (Zabbix умеет «из коробки»)
(-) бесплатно хранит данные только за последние 24 часа
В свое время пытался найти бесплатный сервис мониторинга доступности сервера. Много платных. Но я все-таки нашел бесплатный, который мне sms-ит в случае, если сервер не вернул определенный код на определенной странице. uptimerobot.com, называется. Кто ищет, тот всегда найдет.
+ zabbix — для разбора полетов с быстродействием, без ежемесячных вливаний. Вполне устраивает.
Зарегился сам, а также свежее описание по русски нашел тут:
zxmd.wordpress.com/2014/03/07/newrelic-monitoring/
Конечно, выбирать пользователю по доходу, навыкам и потребностям.
Почему во всех — потому что такой подход использовал: один шаблон + один(или пара) скриптов + один или несколько UserParameter.
(+) мониторы могут использоваться по отдельности (нет необходимости ставить весь пакет)
(+) пользователь видит внутренности скрипта-сборщика и понимает, как используются эти параметры, может изменить
(-) надо в каждый скрипт заходить и менять эти настройки. Для облегчения этого процесса я добавил SET_server_to_all.sh
(+) у каждого скрипта имеются дополнительные входные параметры, которые пользователю не мешало бы проверить
У меня не было цели собрать целый набор шаблонов, т.к. у каждого пользователя свой набор программ/сервисов. И, скорее-всего, они используют один-несколько мониторов, но не все.
Если кто-то имеет схожие со мной взгляды на принципы сбора параметров (использование одного запроса к службе, а потом — zabbix-sender для всех), то готов адаптировать свои мониторы под синтаксис библиотеки шаблонов. К сожалению, я не смог найти разработчика выложившего свои труды в виде скомпанованной библиотеки мониторов с подобным подходом.