Приветствую всех.
В предыдущей статье я уже пытался написать об этой программе. По некоторым причинам ее закончить не удалось.
Сегодня написал заново статью, возможно пригодится кому-нибудь в будущем или настоящем.
- apache/nginx
- php
- mysql
Установка и настройка этих пакетов выходят за рамки этой статьи.
В настоящее время я перешел на обновление портов через svn, cvs скоро отомрет как ненужный атавизм.
После обновления, установим cacti, net-snmp, cacti-spine
# portmaster net-mgmt/cacti net-mgmt/cacti-spine net-mgmt/net-snmp
Что указал я:
После установки необходимо создать БД для cacti. Я делал это с помощью phpmyadmin, вы же можете создать как удобнее вам. Через консоль:
- Создаем БД:
- Создаем в mysql пользователя и пароль для бд cacti:
- Импортуруем таблицы в нашу бд:
- -u пользователь;
- -p пароль;
- -D база данных [/ul]
# mysqladmin --user=root create cacti
# echo "GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactiuser'; FLUSH PRIVILEGES;" | mysql
# mysql -u cactiuser -p -D cacti < /usr/local/share/cacti/cacti.sql
Синтаксис Mysql немного поменялся со временем. Я добавил недостающие ключи для корректного импорта, а именно:
[ul]
После импорта, добавляем в крон задачку регистратора (кстати, при смене регистратора с cmd.php на spine менять задание в планировщике не надо)
Чтобы добавить задание в планировщик от пользователя cacti:
# crtontab -u cacti -e
Сразу замечу у кого оболочка csh. Для проверки регистратора в командной строке пишите следующее:
# sh -c '/usr/local/bin/php /usr/local/share/cacti/poller.php > /dev/null 2>&1'
После того, как сохранили крон пользователя cacti, приступаем к конфигу веб морды.
В файле /usr/local/share/cacti/include/config.php прописываем учетные данные от БД, которую создавали ранее:
$database_type = "mysql"; $database_default = "cacti"; $database_hostname = "localhost"; $database_username = "cacti"; $database_password = "пароль"; $database_port = "3306"; $database_ssl = false;
Сохраняем. Затем, если у вас стоит apache пишем в httpd.conf следующее:
Alias /cacti/ "/usr/local/share/cacti/" <Directory "/usr/local/share/cacti"> Options Indexes FollowSymlinks MultiViews AllowOverride AuthConfig Order deny,allow Allow from all </Directory>
Если стоит nginx, в файле nginx.conf пишем:
location /cacti { alias /usr/local/share/cacti/; index index.html index.htm index.php; }
И создаем ссылку
# pwd /usr/local/www/nginx
# ln -s /usr/local/share/cacti cacti
Что должно получиться для nginx
# ll | grep cacti lrwxr-xr-x 1 root wheel - 22 17 фев 15:47 cacti@ -> /usr/local/share/cacti
Делаем reload для apache/nginx и открываем установщик по адресу:
https://ваш_адрес/cacti
В принципе там все уже указано и можно все значения оставить по умолчанию
Так же не забываем выставить разрешения на папку /usr/local/share/cacti и на /usr/local/share/cacti/rra в частности. В каталоге rra cacti будет создавать графики.
Настроим net-snmp1.
В каталоге /usr/local/etc создадим папку snmp. В ней создадим файл snmpd.conf с таким содержимым:
syslocation "Где-то рядом" syscontact имя_для_контакта rwuser community noauth rocommunity community rwcommunity community trapsink localhost community trap2sink localhost community informsink localhost community trapcommunity community authtrapenable 2
Запускаем snmpd и тестируем настройки:
# snmpwalk -c community -v 1 localhost . ............ SNMP-VIEW-BASED-ACM-MIB::vacmViewTreeFamilyStatus."_all_".1.0 = INTEGER: active(1) SNMP-VIEW-BASED-ACM-MIB::vacmViewTreeFamilyStatus."_all_".1.1 = INTEGER: active(1) SNMP-VIEW-BASED-ACM-MIB::vacmViewTreeFamilyStatus."_all_".1.2 = INTEGER: active(1) SNMP-VIEW-BASED-ACM-MIB::vacmViewTreeFamilyStatus."_none_".1.0 = INTEGER: active(1) SNMP-VIEW-BASED-ACM-MIB::vacmViewTreeFamilyStatus."_none_".1.1 = INTEGER: active(1) SNMP-VIEW-BASED-ACM-MIB::vacmViewTreeFamilyStatus."_none_".1.2 = INTEGER: active(1) End of MIB
SNMP настроен, двигаем дальше.
По-умолчанию стоит cmd.php регистратор, его в принципе хватает для работы cacti. Но я пошел немного дальше и установил spine регистратор написанный на C.
Мы его уже установили, теперь надо настроить. Прописываем данные от БД cacti, т.е. имя пользователя, пароль и имя бд в файл /usr/local/etc/spine.conf:
DB_Host localhost DB_Database cacti DB_User cacti DB_Pass пароль DB_Port 3306 DB_PreG 0
Заходим в настройки в веб морде и меняем cmd.php на spine:
Так же не забываем указать путь spine:
После этого создаем Device. Для своего тазика я выбрал host template - ucd/net SNMP Host. Затем уже вручную добавлял необходимые графики:
Пример графиков:
Комментариев: 2 RSS
1skeletor19-02-2013 16:13
А чем он лучше/хуже стандартного poller'a?
2Vladimir19-02-2013 17:09
Он быстрее. На порядок ниже время опроса устройств, чем у стандартного poller'a.
Как говорит оф. сайт, меньше чем за 60 секунд может быть опрошено до 20000 источников данных на Xeon'e с 4 гигами оперативы.
Вы можете войти под своим логином или зарегистрироваться на сайте.