Июл 022011
 

Как и любому админу захотелось мониторить свои сервера, чтобы рисовались красивые графики и т.д.
На домашнем сервере cacti стоит уже довольно таки давно, сейчас я его раскатывать буду на рабочем сервере, точнее на файлопомойке 🙂
Делаем

cd /usr/ports/net-mgmt/cacti/ && make install clean

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

=======================================================================
Cacti is now installed. If you intall it for the first time,
you may have to follow this steps to make it work correctly:

1. Create the MySQL database:
# mysqladmin --user=root create cacti
2. Create a mysql user/password for cacti:
   (change user and/or password if requered)
# echo "GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactiuser';
FLUSH PRIVILEGES;" | mysql
3. Import the default cacti database:
# mysql cacti < /usr/local/share/cacti/cacti.sql
4. Edit /usr/local/share/cacti/include/db-settings.php.
5. Add a line to your /etc/crontab file similar to:
*/5 * * * * cacti /usr/local/bin/php /usr/local/share/cacti/poller.php >
/dev/null 2>&1
6. Add alias in apache config for the cacti dir:
Alias /cacti "/usr/local/share/cacti/"
7. Open a cacti login page in your web browser and login with admin/admin.

If you update cacti, open a login page right now. An updating process
will run automatically.
=======================================================================

Согласно инструкции приступаем к настройке.

mysql --user=root --password=passwd_mysql --execute="CREATE DATABASE cacti";

Создаем пользователя и даем ему права на базу.

mysql --user=root --password=passwd_mysql --execute="GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactiuser'; FLUSH PRIVILEGES;"

И меняем пароль на свой

mysql --user=root --password=passwd_mysql --execute="SET PASSWORD FOR 'cactiuser'@'localhost'=PASSWORD('cacti')"

Далее заливаем дамп базы который шел вместе с cacti

mysql --user=cactiuser --password=cacti --database=cacti < /usr/local/share/cacti/cacti.sql

После того как залили дамп базы, подправим конфиг веб морды cacti

ee /usr/local/share/cacti/include/config.php

до такого состояния

<?php
/* make sure these values refect your actual database/host/user/password */
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cacti";
$database_port = "3306";
?>

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

ee /usr/local/etc/apache22/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>

И перезапускам индейца нашего

/usr/local/etc/rc.d/apache22 restart
Performing sanity check on apache22 configuration:
Syntax OK
Stopping apache22.
Waiting for PIDS: 51370.
Performing sanity check on apache22 configuration:
Syntax OK
Starting apache22.

Далее заходим по адресу http://ваш_ип_адрес/cacti/ и приступаем к завершающей стадии настройки cacti
Все время жмем далее, до окна ввода логина и пароля.
По умолчанию логин admin пароль admin, после сразу же будет предложено сменить стандартный пароль на наш собственный, что собственно говоря и делаем.
После авторизации мы попадаем в основное меню.

Но нам пока рано приступать к настройкам самого cacti

Для начала пробуем запустить скрипт для опроса устройств

/usr/local/bin/php /usr/local/share/cacti/poller.php

Если у нас в консоль вываливается такого плана данные, значит все работает нормально и на все хватает прав.

cat: /proc/meminfo: No such file or directory
cat: /proc/meminfo: No such file or directory
OK u:0.02 s:0.00 r:0.11
OK u:0.02 s:0.00 r:0.11
OK u:0.02 s:0.00 r:0.13
OK u:0.02 s:0.00 r:0.13
OK u:0.02 s:0.00 r:0.14
OK u:0.02 s:0.00 r:0.15
OK u:0.02 s:0.00 r:0.16
OK u:0.02 s:0.00 r:0.16
02/11/2014 02:54:08 PM - SYSTEM STATS: Time:0.3058 Method:cmd.php Processes:1 Threads:N/A Hosts:2 HostsPerProcess:2 DataSources:5 RRDsProcessed:5
OK u:0.02 s:0.00 r:0.18
OK u:0.02 s:0.00 r:0.18

То что скрипт немного ругнулся, это ничего страшного, так как он более заточен под Linux
Далее его вносим в крон, согласно как было указано выше.

5. Add a line to your /etc/crontab file similar to:
*/5 * * * * cacti /usr/local/bin/php /usr/local/share/cacti/poller.php >
/dev/null 2>&1

Далее нам необходимо поставить пакет net-snmp, переходим в его расположение и ставим

cd /usr/ports/net-mgmt/net-snmp/ && make install clean && rehash

После установки приступаем к настройке файла конфигурации и проводим его к такому виду.

/usr/local/etc/>echo 'snmpd_enable="YES"' >> /etc/rc.conf
/usr/local/etc/>mkdir snmp
/usr/local/etc/>cd snmp/
/usr/local/etc/snmp/>touch snmpd.conf
/usr/local/etc/snmp/>
syslocation  "FreeBSD"
syscontact  sysops
rwuser  my_server noauth
rocommunity  my_server
rwcommunity  my_server
trapsink  localhost my_server
trap2sink  localhost my_server
informsink  localhost my_server
trapcommunity  my_server
authtrapenable  2

После чего запускаем сам сервис.

# /usr/local/etc/rc.d/snmpd restart
Stopping snmpd.
Waiting for PIDS: 1522.
Starting snmpd.
# ps -ax | grep snm
54727 ??  S        0:00.05 /usr/local/sbin/snmpd -p /var/run/net_snmpd.pid
54729  3  S+       0:00.00 grep snm

После чего пробуем

snmpwalk -c my_server -v 1 localhost

Если в ответ выводится большой список миб’ов, значит все получилось, если нет, ищем ошибки в файлах конфигурации.
Также можно подключить к мониторингу виндовые машины — надо тока на них запустить snmp (службу), указать сообщество, и всё. Тока шаблон для них соответственный надо выбрать из списка.
Слово my_server выступает в роли и логина и пароля, так что необходимо придумать более сложный логин/пароль.

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

P.S. вот это я ленивый…начал писать статью 02.07.2011 закончил 11.02.2014

P.S.S. добавил свои графики, пока особо не настраивал, самое главное только.

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.