Меню Рубрики

Установка плагина для cacti

Cacti Weathermap: визуализация сети + интерактив

В этом посте хочу познакомить читателей с замечательным плагином для системы мониторинга Cacti — Weatnermap. Лично для себя, из всего разнообразия полезных дополнений к Cacti, считаю Weathermap наиболее полезным. С его помощью администратор способен создавать сетевые карты (физические, логические или просто отдельных участком и/или узлов), основное предназначение которых визуализировать загрузку сетевых интерфейсов (хотя таким образом возможно визуализировать любой график).

Расскажу как установить плагин, произвести настройку, разберем конфигурацию карты.

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

Пример №2:

Пример №3:

Установка

Для установки плагина нам потребуется осуществить две вещи: установить архитектуру плагинов и установить сам плагин Cacti. Если какие-либо плагины у Вас уже установлены, значит раздел установки архитектуры Вам можно спокойно пропустить.

1. Установка архитектуры плагинов
1.1. Скачиваем архитектуру плагинов Plugin Architecture (PIA).
1.2. В архиве мы найдем папку files, и два файла pa.sql и cacti-plugin-0.8.7h-PA-v3.0.diff (имя патча зависит от версии скачанной архитектуры, на момент написания — последняя).
1.3. Копируем все из каталога files в папку с установленным Cacti (у меня (Debian) — /usr/share/cacti/site/). В эту же папку копируем патч cacti-plugin-0.8.7h-PA-v3.0.diff.
1.4. Выполняем патч #patch -p1 -N $config[«rra_path»] = $config[«base_path»] . ‘/rra’;
на
$config[«rra_path»] = ‘/var/lib/cacti/rra’;

и правим установку модуля adodb:
include_once($config[«library_path»] . “/adodb/adodb.inc.php”);
на
include_once(“/usr/share/php/adodb/adodb.inc.php”);

меняем URL-path (у меня Cacti доступен по адресу domain.com/cacti/):
$url_path = ““;
на
$url_path = “/cacti/“;

1.7. В файл /usr/share/cacti/site/include/config.php (или /etc/cacti/debian.php — он подключается в config.php) добавляем:
$plugins = array();
$plugins[] = ‘weathermap’;

Теперь когда Вам необходимо будет добавить плагин — Вы просто будете добавлять одну строчку в конфигурацию.

Внимание! Рекомендуется устанавливать архитектуру плагинов на новоустановленный Cacti. Я производил установку как на только что установленный Cacti, так и на работающий (в частности для этого поста). Если Вы будете устанавливать архитектуру на работающий Cacti, то после выполнения действий раздела №1 и открытия страницы domain.com/cacti в браузере — Вы увидите диалог установки кактуса. Не пугайтесь и в выпадающем списке выберите не «New install», а «Upgrade». Нажмите «Next» и все будет в порядке. Но ни в коем случае не забывайте про резервные копии БД и файлов!

2. Установка Weathermap
Этот этап самый простой. Всю основную задачу мы выполнили в разделе №1.
2.1. Скачиваем Weathermap — http://www.network-weathermap.com/download.
2.2. Распаковуем архив в папку с плагинами: /usr/share/cacti/site/plugins/.
Если в будущем мы захотим еще добавить плагинов, то необходимо будет только распаковать их в эту папку и добавить строчку в конфигурацию ( $plugins[] = ‘weathermap’; ).

Если Вы все сделали правильно, то должны увидеть что-то вроде этого:

Настройка

1. Создание карты.
Для создания карты необходимо воспользоваться редакторов. Для его активации установим $ENABLED=true в файле /usr/share/cacti/site/plugins/weathermap/editor.php. Выглядит редактор так:

В редакторе можно создать карту «с нуля» или как копию уже существующей.

2. Окно редактирования карты выглядит так:

Используя главное меню возможно: устанавливать параметры карты (размер, фон, подписи, легенды, стили, оформления):

Если нас не устраивает набор стандартным фонов, то можно загрузить свой. Делается это путем помещения изображения в папку /usr/share/cacti/site/plugins/weathermap/images/.

3. Добавление элементов на карту.
Основными элементами карты являются ноды (nodes, узлы) и связи (links). Оборудование на карте отображается нодами. Следует отметить, что основным параметром ноды является ее изображение. Стандартный набор не богат, но если Вам необходимо собственное изображение для ноды, то его можно загрузить в папку /usr/share/cacti/site/plugins/weathermap/images/.

Ноды связываются между собой линками. Для добавления линка мы нажимаем на кнопке главного меню «Add Link», потом на первом устройстве и на втором. Хочу заметить, что важен порядок нажатия на устройствах. Дело в том, что связь мы добавили, но она не привязана ни к одному из графиков:

Читайте также:  Установка вкладыша в кузов хайлюкса

Для привязки мы нажимаем на связи и выбираем источник — график из Cacti:

Так вот, источником должно служить устройство на которое мы нажимали первым при построении связи. Если выбрать второе устройство, то загруженность линков будет зеркальной (при большое отдаче трафика будет показывать увеличение входящего трафика).

Сохранять карту каким-то образом не нужно. При создании карты создается конфигурационный файл карты (в нашем случае /usr/share/cacti/site/plugins/weathermap/configs/TEST, TEST — имя карты). Для отображения карты в самом Cacti необходимо добавить ее список отображаемых карт. Для этого: Console->Weathermap-
>Add, выбираем созданную карту и еще раз нажимаем Add:

Если после этого нажать на вкладку Weathermap, то увидим нашу карту (создается в течении 5 минут, после отработки poller’а). Пример элементарный, но достаточный для того что-бы понял как создать карту:

Карта создана и мы можем наблюдать загрузку линков. Но для того что бы узнать конкретные значения необходимо нажать непосредственно на связь и произойдет переход на определенный график в Cacti. Скажу что это не удобно. Гораздо удобнее получать значения просто подводя мышку к графику. Это настраивается так. В конфигурационный файл (/usr/share/cacti/site/plugins/weathermap/configs/TEST) добавляется строка HTMLSTYLE overlib . И выглядит это так:

Пример конфигурационного файла Вы можете найти здесь (http://pastebin.com/zJT9hUw2). В структуре ничего сложно нет. Описываются координаты узлов, связей, привязки линий к конкретным графикам и общие параметры карты (размеры, цвета, типы шрифтов и т.д.).

Благодаря модульной архитектуре Cacti легко расширяется, а не маленький набор плагинов (прошу заметить бесплатных) позволяет организовать неплохой мониторинг множества параметров различного оборудования.

источник

Установка и настройка cacti 0.8.8f с нуля под Ubuntu 14.04


Помню время, когда мне поставили таск – установить и настроить cacti с 95th Percentile графиками и возможностью агрегирования графиков. И эти воспоминания нагнали на меня печаль… Сначала пробовал установить и настроить cacti через ppa репы – вылезла куча проблем с симлинками, правами и т.п. Потом ставил напрямую с официальных реп – проблем меньше, но нужно было поиграться с патчами, так как версия программы немного устаревшая. Искал инструкции по установке с исходников, но под Ubuntu все было очень сыро и сталкивался с теми же проблемами. И тогда решился взяться за официальная документация, которая писала о том, что нужно ставить в целом независимо от дистрибутива.
Решил поделиться набранным опытом по установке cacti 0.8.8f (последняя на данный момент версия) под дистрибутивом Ubuntu 14.04.
Устанавливаем нужные пакеты.

Далее проверяем, или у нас есть все нужные для роботы cacti php модули. Их должно быть, как минимум семь.

Все нужные модули есть. Теперь качаем исходный код cacti и распакуем в локальную папку. На данный момент – это версия 0.8.8f.

Переходим к подготовки mysql базы данных. Для начала создадим БД.

Следующим делом нужно заполнить структуру новосозданной cacti базы.

И добавить юзера с правами на администрирование.

Работа с базой данных завершена, теперь осталось прописать настройки коннекта к БД в конфигурации cacti.

Далее переносим странички cacti в папку /var/www (в папку, где будут храниться исходники сайта) и выставляем владельца и группу www-data (пользователь, от которого запущен веб-сервер).

Еще нужно добавить cron для работы poller-a и поставить ему права на исполнение.

Проверяем/изменяем дефолтную директорию apache

Последним штрихом перезагружаем веб-сервер.

Последующая установка cacti будет проходить через веб-интерфейс по ссылке http:// /cacti/.
При переходе, вы должны увидеть следующею картину.

Читаем и жмем Далее. Теперь у нас спрашивают, чего мы хотим сделать – обновить или установить cacti. В нашем случаи – установить. Выбираем и жмем Далее.

Теперь вы должны увидеть и подредактировать (если нужно) пути к rrdtool, php, snmp и т.п.

Если все гуд – жмем Далее и смотрим на удачное завершение установки cacti.

Теперь вводим логин и пароль установленный по умолчанию – admin/admin, и вам сразу понадобиться изменить пароль по умолчанию.

Читайте также:  Установка закиси азота на карбюраторе

После введения нового пароля вы попадете в cacti GUI. Теперь cacti готов к работе.
Далее установим spine поллер под cacti 0.8.8f. Качаем и распаковуем в локальную папку.

Устанавливаем нужные для компиляции и работы пакеты.

Из полученного вывода видно, что бинарник spin-a лежит по пути /usr/local/spine/bin/spine, а конфигурация находиться здесь — /usr/local/spine/etc/spine.conf.dist. Чтобы cacti мог его использовать, нужно переименовать и отредактировать spine.conf и прописать путь к spine в GUI. Для начала переименуем файл конфигураций и добавим доступ к базе.

Теперь сразу проверим spine конфигурацию с консоли.

Если вы не получите ни единой строчки вывода – значит проблемы с доступом к базе (пересмотрите конфигурацию spine.conf).
Теперь осталось прописать путь к spine и выбрать в качестве поллера по умолчанию. Логинимся в веб-интерфейс cacti и переходим в Configuration -> Settings -> Paths или по прямой ссылке http:// /cacti/settings.php?tab=path, прописываем путь к spine (в нашем случаи /usr/local/spine/bin/spine) и Сохраняем все.

Осталось активировать новый тип поллера. Идем во вкладку Poller и выбираем spine.

Сохраняем, ждем 5-10 минут и смотрим логи на наличие ошибок Utilities -> System Utilities -> View Cacti Log File.

Как видно, проблем нет – и все данные нормально обновляться новым методом spine.
В cacti версии 0.8.8f продолжает присутствовать проблема с 64 битными счетчиками для 95th Percentile и Total Bandwidth графиков. Чтобы ее исправить, нужно добавить новый темплейт. Я его когда-то нашел и скачал на cacti форуме, но где точно – уже не могу найти. Можете его скачать здесь.
Теперь его просто нужно добавить в cacti. Переходим в Import/Export -> Import Templates или по ссылке http:// /cacti/templates_import.php, выбираем файл и жмем Import.

И получаем такой результат.

Теперь, при создании графиков по статистике сетевых интерфейсов у нас появится In/Out Bits with 95th Percentile (64-bit Counters) и In/Out Bits with Total Bandwidth (64-bit Counters).

На последок добавим aggregate и weathermap плагины.
Aggregate. Этот плагин используется в cacti для объединения нескольких графиком в один. К примеру, если нужно увидеть сколько входящего и исходящего трафика генерирует весь CDN в целом, а не его отдельный сервер.
Переходим в папку с cacti плагинами и качаем aggregate последней версии.

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

Теперь осталось перейти в веб-интерфейс, установить и активировать плагин.
Идем в Configuration -> Plugin Management и нажимаем на стрелочку в поле Actions напротив Aggregate плагина для установки.

После чего нужно нажать на зеленую стрелочку для активации.

Плагин активирован. Как им пользоваться можете посмотреть в прилагаемом с исходниками мануале.

Weathermap. Этот плагин используется в cacti для построения карты сети с визуализацией всех сетевых хопов и загрузки каналов. Есть много статей с описанием и примерами, поэтому рассмотрим только установку и активацию.
Переходим в папку с cacti плагинами и качаем weathermap архив.

Распаковуем и удаляем архив.

Меняем владельца и группу для всех файлов и включаем визуальный редактор weathermap.

Теперь только осталось перейти в веб-интерфейс и активировать плагин.
Идем в Configuration -> Plugin Management и нажимаем на стрелочку в поле Actions напротив Weathermap плагина для активации.

Плагин активирован. Как им пользоваться можете посмотреть на официальных страничках проекта.
Осталось только добавить хосты для мониторинга – пробуйте.

источник

Установка плагина для cacti

Еще горстка материалов:

Установка плагина boost в Cacti

Установим и настроим плагин boost для Cacti

Плагин boost позволяет уменьшить нагрузку на сервер cacti, обрабатывающий большое количество данных.

Он делает это путем введения четырех новых возможностей для Cacti. Эти функции разработаны, чтобы уменьшить нагрузку ввода/вывода (I/O), генерируемых огромное количество обновлений, необходимых для RRDfiles. Кроме того, плагин позволяет уменьшить загрузка процессора за счет кэширования часто просматриваемых графиков. Кроме того, он позволяет обновления RRDfile обрабатывать сервером обновлений. Наконец, он позволяет чтобы RRDfiles обновлялись по требованию.

Читайте также:  Установка подоконников в бузулуке

Перед установкой Boost, необходимо убедиться что ваша система подходит по требованиям:

  • Cacti 0.8.7 и выше.
  • Cacti Plugin Architecture v2.x
  • MySQL 5.0 и выше
  • Есть довольно много оперативной памяти, доступной для базы данных.

Установка плагина ничем не отличается от стандартной установки плагинов в cacti, т. е. Качаем плагин http://docs.cacti.net/_media/plugin:boost-v5.1-1.tgz, кидаем его в папку plugins, заходим через браузер в Plugin Management https://your_cacti/cacti/plugins.php и запускаем.

Однако, если его запустить, то он не будет работать, т. к. он еще не настроен. Необходимо определить сколько строк мы будем держать в таблице boost, определить переменную max_heap_table_size в MySQL в файле my.cnf. max_heap_table_size — максимальный допустимый размер таблицы, хранящейся в памяти (типа MEMORY). Значение по умолчанию 16 МБ. Т.е. как видим надо сделать наши таблицы типом MEMORY.

У нас уже есть таблица poller_output_boost, которая создалась в момент запуска плагина. Как сказано в официальной доке так и делаем, а там сказано:

To determine how many records you can hold in the boost table, you need to know the following pieces of information:

The number of Data Source rows in your poller cache and how many you expect in the future

The maximum size of any result stored into the poller_output table as updates occur

Your current max_heap_table_size variable in MySQL

Once you know these two pieces of information, you can calculate how many rows will be able to maintain in the poller_output_boost table, and how you must modify poller_output_boost and poller_output tables.

Let’s say, for example, that your poller cache contains 200k rows, and the maximum length of any row is 20 bytes, about the size of a 64bit counter. If you are running scripts, ones that return very long results, like the MySQL statistics plugin, you should consider carefully the next step.

In this case, we will assume that even though the largest value returned is 20 bytes, we will elect to maintain a maximum output column width of 50 bytes.

The important thing here is that memory tables store the full size of the column, even though the column type is varchar(). By default it’s varchar(512). Therefore, if your system only needs 50 bytes, you will have 90% waste in your poller_output_boost table.

The next step would me to modify the structure of your poller_output and poller_output_boost tables. You would do this by doing the following:

alter table poller_output modify column output varchar(50) not null default »;

alter table poller_output engine=memory;

alter table poller_output_boost modify column output varchar(50) not null default »;

Изменяем аналогично наши таблицы

В своей инсталляции я сделал max_heap_table_size = 512M, надеясь на бОльший запас.

Путем чтения официальной доки http://docs.cacti.net/plugin:boost, проб и ошибок у меня заработала такая конфигурация, что на скриншоте

Прежде чем запустить плагин надо убедиться что Apache имеет права на запись в rra директорию, и что, создаваемые поллером poller.php rrd файлы также могут редактироваться Apache-ом.

Это достигается следующим путем:

1. В cron изменяем маску на создание файлов на 002, т. е. будут права rw-rw-r

*/1 * * * * umask 002; /usr/bin/php /mnt/cacti/poller.php > /dev/null 2>&1

2. В /etc/sysconfig/httpd добавляем в конец umask 002, т. е. Также заставляем Apache создавать файлы rrd с правами rw-rw-r

Теперь запускаем плагин и если выделенной бустеру памяти хватит то всё будет работать. В противном случае играемся с памятью и полем Maximum Data Source Items Per Pass в настройках плагина.

источник