![](https://habrastorage.org/storage2/29a/120/c5c/29a120c5cdf955e5f685cd1c1cc33211.png)
В этом посте хочу познакомить читателей с замечательным плагином для системы мониторинга Cacti — Weatnermap. Лично для себя, из всего разнообразия полезных дополнений к Cacti, считаю Weathermap наиболее полезным. С его помощью администратор способен создавать сетевые карты (физические, логические или просто отдельных участком и/или узлов), основное предназначение которых визуализировать загрузку сетевых интерфейсов (хотя таким образом возможно визуализировать любой график).
Расскажу как установить плагин, произвести настройку, разберем конфигурацию карты.
Мне кажется, что если взглянуть на парочку графиков, то все станет на много понятнее, чем я буду пытаться рассказать. Для демонстрации возможностей, некоторые карты взяты из сети Интернет.
Пример №2:
![](https://habrastorage.org/storage2/372/17d/75c/37217d75cb2e1c013998eed911e27f2c.png)
Пример №3:
![](https://habrastorage.org/storage2/27c/fae/63e/27cfae63efe680e5644f01c7c9f9c6d3.png)
Установка
Для установки плагина нам потребуется осуществить две вещи: установить архитектуру плагинов и установить сам плагин 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 < cacti-plugin-0.8.7h-PA-v3.0.diff.
1.5. Вносим изменения в БД — #mysql –u cactiuser –p cacti < pa.sql. Где, cactiuser — пользователь БД cacti.
1.6. Поправляем пути в файле /usr/share/cacti/site/include/global.php (в вашей версии *nix пути могут быть другими):
меняем путь к RRA базам:
$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';
).Если Вы все сделали правильно, то должны увидеть что-то вроде этого:
![](https://habrastorage.org/storage2/73f/03e/704/73f03e7043ded86e16bdf290d30564e5.png)
Настройка
1. Создание карты.
Для создания карты необходимо воспользоваться редакторов. Для его активации установим $ENABLED=true в файле /usr/share/cacti/site/plugins/weathermap/editor.php. Выглядит редактор так:
![](https://habrastorage.org/storage2/ca2/cd1/68a/ca2cd168a1d1dea5d64cceb1955737d4.png)
В редакторе можно создать карту «с нуля» или как копию уже существующей.
2. Окно редактирования карты выглядит так:
![](https://habrastorage.org/storage2/df6/2c4/4ae/df62c44aede3ed6829239fc3ac4e9512.png)
Используя главное меню возможно: устанавливать параметры карты (размер, фон, подписи, легенды, стили, оформления):
![](https://habrastorage.org/storage2/29d/f49/5b8/29df495b8f45f0a964a93ed3781955e4.png)
![](https://habrastorage.org/storage2/4b0/d97/1e4/4b0d971e4294677e474604a009dc951c.png)
Если нас не устраивает набор стандартным фонов, то можно загрузить свой. Делается это путем помещения изображения в папку /usr/share/cacti/site/plugins/weathermap/images/.
3. Добавление элементов на карту.
Основными элементами карты являются ноды (nodes, узлы) и связи (links). Оборудование на карте отображается нодами. Следует отметить, что основным параметром ноды является ее изображение. Стандартный набор не богат, но если Вам необходимо собственное изображение для ноды, то его можно загрузить в папку /usr/share/cacti/site/plugins/weathermap/images/.
Ноды связываются между собой линками. Для добавления линка мы нажимаем на кнопке главного меню «Add Link», потом на первом устройстве и на втором. Хочу заметить, что важен порядок нажатия на устройствах. Дело в том, что связь мы добавили, но она не привязана ни к одному из графиков:
![](https://habrastorage.org/storage2/223/ad7/593/223ad759366583ad9bd87f0b188db2a8.png)
Для привязки мы нажимаем на связи и выбираем источник — график из Cacti:
![](https://habrastorage.org/storage2/86c/8ed/a0b/86c8eda0b7b0b143d8a0668866cd5d99.png)
Так вот, источником должно служить устройство на которое мы нажимали первым при построении связи. Если выбрать второе устройство, то загруженность линков будет зеркальной (при большое отдаче трафика будет показывать увеличение входящего трафика).
Сохранять карту каким-то образом не нужно. При создании карты создается конфигурационный файл карты (в нашем случае /usr/share/cacti/site/plugins/weathermap/configs/TEST, TEST — имя карты). Для отображения карты в самом Cacti необходимо добавить ее список отображаемых карт. Для этого: Console->Weathermap-
>Add, выбираем созданную карту и еще раз нажимаем Add:
![](https://habrastorage.org/storage2/bd6/439/43e/bd643943e32c223254c3ffde731fa10a.png)
Если после этого нажать на вкладку Weathermap, то увидим нашу карту (создается в течении 5 минут, после отработки poller'а). Пример элементарный, но достаточный для того что-бы понял как создать карту:
![](https://habrastorage.org/storage2/902/428/af7/902428af779adb71ef17da11bd5ac58a.png)
Карта создана и мы можем наблюдать загрузку линков. Но для того что бы узнать конкретные значения необходимо нажать непосредственно на связь и произойдет переход на определенный график в Cacti. Скажу что это не удобно. Гораздо удобнее получать значения просто подводя мышку к графику. Это настраивается так. В конфигурационный файл (/usr/share/cacti/site/plugins/weathermap/configs/TEST) добавляется строка
HTMLSTYLE overlib
. И выглядит это так:![](https://habrastorage.org/storage2/3d7/44f/60c/3d744f60cededa5f832fea38502271a7.png)
Пример конфигурационного файла Вы можете найти здесь (http://pastebin.com/zJT9hUw2). В структуре ничего сложно нет. Описываются координаты узлов, связей, привязки линий к конкретным графикам и общие параметры карты (размеры, цвета, типы шрифтов и т.д.).
Благодаря модульной архитектуре Cacti легко расширяется, а не маленький набор плагинов (прошу заметить бесплатных) позволяет организовать неплохой мониторинг множества параметров различного оборудования.
Источники
1. Одна из самых первых/интересных записей. forum.lissyara.su/viewtopic.php?f=3&t=10317.
2. Страничка посвященная Weathermap. www.network-weathermap.com.
3. Набор плагинов. docs.cacti.net/plugins.
4. Ветка форума, где активно обсуждается weathermap. forums.cacti.net/viewtopic.php?f=16&t=24433.
Другие интересные ссылки
1. Для тех, кто только начинает. habrahabr.ru/post/71087.
2. Cистема оповещения в cacti. habrahabr.ru/post/56345.
3. Статистика nginx в cacti. habrahabr.ru/post/66605.
4. Статистика lighttpd в cacti. habrahabr.ru/post/66602.
5. Cacti и Network UPS Tools. habrahabr.ru/post/105308.