Маркетер
  • Маркетинг
  • Digital
  • Реклама
  • Public Relations
  • Менеджмент
  • Новости
  • Маркетинг
  • Digital
  • Реклама
  • Public Relations
  • Менеджмент
  • Новости
Facebook 0 Likes
Twitter 0 Followers
Instagram 0 Followers
Pinterest 0 Followers
YouTube 0 Subscribers
Подписаться
Маркетер
Маркетер
  • Маркетинг
  • Digital
  • Реклама
  • Public Relations
  • Менеджмент
  • Новости
  • Хостинг

Cacti для нестандартных объектов

  • 25.05.2006
Total
0
Shares
0
0
0
0
0
0

Автор статьи: Андрей Бородийчук

>

 

Cacti для нестандартных объектов

[система Cacti – мониторинг нестандартных объектов]материал подготовил: Андрей Бородийчук
25.05.2006
 

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

Рассмотрим реальную задачу. Есть большая сеть, разбитая маршрутизаторами* на более мелкие подсети. Необходимо отслеживать, сколько пользователей обслуживается каждым маршрутизатором и сколько из них блокированы за неуплату. В нашем распоряжении база данных биллинга, в которой есть таблица, где каждой машине поставлен в соответствие IP-адрес маршрутизатора.

Для начала создается скрипт*, который сможет вывести в консоль требуемые величины в формате name1:value1 name2:value2 (количество переменных может быть любым) в зависимости от переданного ему параметра.

 

<?php  
  #  Подключение  к  базе  данных  
        $db  =  mysql_connect  (‘host’,  ‘login’,  ‘pass’);  
        mysql_select_db  (‘database’,  $db);  
  #  Аргумент,  переданный  скрипту  
        $router  =  $_SERVER[‘argv’][1];  
  #  Запрос-выборка  общего  количества  клиентов  
        $clients  =  mysql_query(‘select  count(*)  from  clients  where  router=”‘.$router.'”‘);  
  #  Запрос-выборка  количества  блокированных  клиентов  
        $blocked  =  mysql_query(‘select  count(*)  from  clients  where  router=”‘.$router.'”  
        and  blocked=1′);  
  #  Обработка  результатов  
        $clients  =  mysql_fetch_row($clients);  
        $blocked  =  mysql_fetch_row($blocked);  
  #  Вывод  результата  
        printf(‘clients:%d  blocked:%d’,  $clients,  $blocked);  
?>

Этот скрипт логичнее всего будет поместить в папку scripts директории, в которую установлена Cacti. Далее он тестируется вручную. При вызове из командной строки он должен возвратить требуемый результат (не забудьте передать ему обязательный аргумент – IP-адрес маршрутизатора):

user@server  $  /usr/bin/php  -q  /home/www/cacti/scripts/routers.php  10.1.0.22  
clients:315  blocked:29  
<samp>user@server  $

Скрипт сбора статистики

Когда скрипт сбора данных готов, следует привязать его к Cacti. Для этого переходим к методам сбора данных (Data Input Methods). Щелкая по ссылке Add, создаем новый метод. Заполняем поля:

  • Name – это описание, которое будет вам понятно. В нашем случае логично будет написать Router: Clients, Blocked.
  • Input Type – способ получения данных. Выбираем Script/Command.
  • Input String – командная строка. Сюда следует ввести команду, которой мы тестировали скрипт, заменив обязательный параметр на имя переменной в угловых скобках: /usr/bin/php -q /home/www/cacti/scripts/routers.php <router>.

Далее нажимаем кнопку Create и замечаем, что к форме добавились две таблицы: Input Fields и Output Fields. Первая – это параметры, передаваемые скрипту. Вторая – переменные, возвращаемые скриптом. Нажимаем Add в таблице Input Fields и заполняем форму:

  • Field [Input] – выпадающий список, в котором перечислен
    ы все переменные, передаваемые скрипту. Они берутся из строки, которую мы ввели как команду в предыдущей форме. В нашем случае там только один пункт – router. Его и следует выбрать.
  • Friendly Name – описание данного параметра. пишем Router IP.

Остальные поля для нас не важны, за исключением разве что галочки Allow Empty Input – разрешить запуск скрипта без данного параметра (но тогда нужно было в самом скрипте предусмотреть обработку подобной ситуации!). Снова нажимаем Create и возвращаемся в свойства этого метода ввода данных. Переходим к таблице Output Fields, нажимаем там Add и заполняем ее форму:

  • Name – имя возвращаемого значения. Указываем clients (должно совпадать с возвращаемым скриптом параметром, однако если он один, то допускается любое).
  • Friendly Name – его описание. В нашем случае – Clients count.
  • Галочка Update RRD File символизирует о том, что этот параметр следует отслеживать, а не игнорировать (возможен случай, когда часть параметров, возвращаемых скриптом, неинтересна в плане мониторинга).

Сохраняем и повторяем то же для переменной blocked с описанием Blocked clients count. На этом редактирование метода ввода данных окончено, остается только нажать кнопку Save.

Метод сбора данных
Создание метода сбора данных

Далее переходим к шаблонам хранения данных (Data Templates) – создаем новый, заполняем поля. В таблице Data Templates:

  • Name – имя, которое будет отображаться. К примеру – Router stats.

Далее таблица Data Source – это хранилища данных. Обратите внимание – здесь появляются напротив каждого поля галочки Use Per-Data Source Value. Если мы ее установим, то используемое значение можно будет впоследствии изменить уже непосредственно при создании того или иного объекта на основе этого шаблона.

  • Name – так будут называться хранилища статистики. пишем Router stats: Clients, Blocked.
  • Data Input Method – из выпадающего списка выбираем созданный нами ранее метод ввода данных: Router: Clients, Blocked.

оставшиеся поля таблицы Data Source оставляем как есть. Табличка Data Source Item содержит описание отслеживаемой переменной – одной или нескольких.

  • Internal Data Source Name – внутреннее название отслеживаемой переменной. Указываем blocked.

Нажимаем Create и видим результат: в эту табличку добавилась строка Output Field и появилась таблица Custom Data.

  • В выпадающем списке поля Output Field можно увидеть переменные и их описания, которые мы задавали в методе ввода данных. Поскольку внутреннее название переменной мы дали blocked – выбираем из списка соответствующую величину blocked – Blocked clients count.
  • Поля Minimum Value и Maximum Value позволяют задать пределы изменения отслеживаемой величины – если она выйдет за эти рамки, то на графике будет пробел.
  • В Data Source Type выбираем GAUGE – это значит, что величина будет записываться “как есть”. Если бы мы выбрали COUNTER – записывалась бы разница между прошлым и текущим ее состоянием.
  • Heartbeat оставляем как есть – это своеобразная внутренняя перестраховка Cacti от зависания.

Далее в этой же таблице нажимаем New – и появляется второе внутреннее хранилище. Заполняем аналогично первому, только имя даем ему clients и, соответственно, Output Field выбираем clients – Clients count. Кроме того, Cacti по умолчанию проставляет максимальное значение параметра в 100, поэтому будьте внимательны и лучше установите его в ноль, чтобы не было потом недоразумений. Далее заполняем таблицу Custom Data – она содержит пользовательские данные, передаваемые скрипту (если таковые требуются, и в нашем случае они требуются). Поскольку у нас в методе сбора данных только один параметр передается скрипту, то в этой таблице только одно поле, названное, как и наш комментарий к данному параметру: Router IP. Вот здесь однозначно следует установить галочку Use Per-Data Source Value – чтобы мы могли задать этот параметр отдельно для каждого хранилища (то есть чтобы собирать информацию одновременно с нескольких маршрутизаторов), и в качестве значения по умолчанию можно ввести, к примеру, 10.1.0. (допустим, что все

Total
0
Shares
Телеграфировать 0
Поделиться 0
Репост 0
Твитнуть 0
Алексей Волков

Предыдущий материал
  • Хостинг

Cистема мониторинга Cacti

  • 12.05.2006
  • Алексей Волков
Read More
Следующий материал
  • Основы работы интернета

Экономим деньги на доступе в Сеть

  • 01.06.2006
  • Алексей Волков
Read More
Вас также может заинтересовать
Read More
  • Хостинг

Платформы в облаках Amazon S3

  • jokar
  • 28.05.2011
Read More
  • Хостинг

Регистраторы доменных имен

  • Алексей Волков
  • 03.01.2010
Read More
  • Хостинг

Хороший хостинг для любых сайтов

  • Алексей Волков
  • 29.12.2009
Read More
  • Хостинг

Как я искал идеальный хостинг

  • Алексей Волков
  • 03.12.2009
Read More
  • Хостинг

Выбираем платный хостинг

  • Алексей Волков
  • 26.11.2009
Read More
  • Хостинг

Вэб-хостинг. Азы

  • Алексей Волков
  • 24.11.2009
Read More
  • Хостинг

Хороший хостинг и плохой. В чем разница

  • Алексей Волков
  • 22.11.2009
Read More
  • Хостинг

О хостинге

  • Алексей Волков
  • 19.11.2009

Добавить комментарий

Для отправки комментария вам необходимо авторизоваться.

Свежие посты
  • Рассылка как продукт
    • 24.07.20
  • Google назвал лучшие приложения App Store за 2018 год
    • 14.12.18
  • Онлайн-конференция интернет-магазин от “А до Я” CyberE-com 2018
    • 25.05.18
  • Бесплатная онлайн-конференция по управлению репутацией
    • 04.12.17
  • Открыта регистрация на CyberMarketing-2017
    • 19.10.17
Маркетер
  • О проекте
  • Информационное спонсорство
  • Рекламным агентствам
  • Ссылки
(с) ООО "Маркетер". Официальный сайт. Маркетер: Статьи про рекламу, маркетинг, public relations, интернет

Введите ключевые слова для поиска и нажмите Enter