Главная страница | Добавить в избранное    
   

 

» Материалы за 23.06.2017

   
main1
pix
 

Cacti - снимаем статистику устройств по SNMP

Статьи  
pix pix pix
Необходимо снимать статистику с разных девайсов и представлять ее в наглядном виде? Тогда однозначно необходимо познакомиться с таким инструментом, как cacti. Позволяет с помощью протокола SNMP снимать статистику с устройств и потом, используя RRD-tool делать наглядные графики, будь то использование дискового пространства на файл-сервере, или загрузка интерфейсов комутатора.

cacti можно найти в портах. Что ж, это радует... Раньше cacti располагался в /usr/ports/net, но потом проект был перемещен в  /usr/ports/net-mgmt.

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

Для самого 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 required)
# 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/config.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. Be sure apache gives an access to the directory ('Allow from' keywords).
8. Open a cacti login page in your web browser and login with admin/admin.

Обновляем пути, и не спеша, потихоньку делаем, то что "просит" cacti. Начнем с того, что создадим БД и создадим пользователя MySQL с полными правами на созданную БД:

# rehash
# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is
Server version: 5 FreeBSD port: mysql-server-5
mysql> create database `cacti`;
Query OK, 1 row affected (0.00 sec)
mysql> create user 'cacti'@'localhost' identified by 'cacti_db_password';
Query OK, 0 rows affected (0.00 sec)

mysql> grant all privileges on `cacti`.* to 'cacti'@'localhost';
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye

 Импортируем дамп БД в MySQL:

# mysql -u cacti -p cacti < /usr/local/share/cacti/cacti.sql

 Далее правим конфигурационный файл до такого содержания:

# cat /usr/local/share/cacti/include/config.php

<?php
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "cacti_db_password";
$database_port = "3306";

?>

Добавляем в cron запуск поллера каждые 5 минут и перестартовываем cron:

# echo '# Cacti poller' >> /etc/crontab
# echo '*/5 * * * * cacti /usr/local/bin/php /usr/local/share/cacti/poller.php > /dev/null 2>&1' >> /etc/crontab

Далее в адрессной строке браузера набиваем: http://ip_address_servera/cacti/

Если не допустили никаких ошибок, то в окне браузера откроется окошко начальной инсталяции cacti. Соглашаемся со всеми пунктами и по завершению установки попадаем на страницу авторизации. По умолчанию логин admin и пароль admin. После первой успешной авторизации будет предложено сменить пароль на какой-то другой. Установите пароль посложнее ;)

Далее рекомендую добавить себя как пользователя с полными правами, а стандартным пользователем admin не пользоваться. Пользователя guest можно вообще удалить. Для управления пользователями на закладке console в разделе Utilities выбираем пункт User Management. Чтобы добавить пользователя, в правом верхнем углу княпаем на линк Add. Далее - думаю разберетесь. Только не забудьте выставить себе полностью все права и установить галочку напротив пункта "Enabled" ;).

Также советую выставить для себя на закладке Graph Permissions политики по умолчанию. Если их переопределить с Deny на Allow, то это существенно меняет нам жизнь в лучшую сторону.

Перейдя на закладку graphs, то можно увидеть, что уже создано дефолтное дерево устройств и добавлен хост localhost. Однако графики пока не рисуются. Решить эту проблему можно настройкой SNMP на сервере.

Если вы были внимательны, то помните, что во время установки упоминался порт net-snmp. Вот его конфигурированием мы сейчас и займемся.

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

# mkdir /usr/local/etc/snmp
# touch /usr/local/etc/snmp/snmpd.conf

# echo '# SNMP' >> /etc/rc.conf
# echo 'snmpd_enable="YES"' >> /etc/rc.conf
# sh /usr/local/etc/rc.d/snmpd start
Starting snmpd.

Проверим работу:

# snmpwalk -c you_community_name -v 2c localhost

Если в ответ вывалится огромный список MIB-ов, значит все ok.

Теперь можно в cacti для localhost изменить community и добавить необходимые типы графиков. Через некоторое время эти графики можно будет лицезреть воочию на закладке graphs (не забываем, что статистика снимается раз в 5 минут, соответственно графики отрисовываются неспеша).

Советую также обратить внимание на логгирование. Тоесть - настроить ротацию логов. На одном из серверов недавно обнаружил, что лог-файл разросся до 18 гигабайт!

Итак, добавляем в /etc/newsyslog.conf такую строку:

/usr/local/share/cacti/log/cacti.log    644  3     *    $M1D0 JC

Перезапускать syslogd не нужно, поскольку /etc/newsyslog.conf проверяется по cron-у каждый час.

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

Итак, закладка "Console", меню "Management", пункт "Devices".

Выносим добавленный по дефолту "localhost" (проще добавить новый девайс, нежели править старый ;) ). Для этого необходимо поставить чекбокс напротив устройства, выбрать действие "Delete" и нажать кнопку "Go".

Теперь добавим даный сервер... Жмем в верхнем правом углу ссылку "Add" и заполняем поля.

  • Description: вписиваем сюда то, как должно отображаться устройство в дереве устройств. Я, обычно, вписываю DNS-имя сервера, например mail.domain.com.
  • Hostname: вписываем DNS-имя или IP-адрес этого хоста. Лично я предпочитаю IP-адреса. Поскольку мониторить будем локальный сервер, то вписываем IP локалхоста: 127.0.0.1.
  • Host Template: необходимо указать, к какому типу принадлежит даное устройство. В нашем случае - "Generic SNMP-enabled Host".
  • Disable Host: отмечаем, если необходимо отключить все проверки для данного хоста.
  • Downed Device Detection: указываем метод, по которому Cacti будет проверять, доступен ли хост. Я всегда выбираю "SNMP".
  • Ping Timeout Value: таймаут, который использует Cacti при мониторинге устройств. Оставляю по дефолту, поскольку выбран метод проверки SNMP.
  • Ping Retry Count: количество icmp-пакетов, которое отправит Cacti перед тем, как считать, что хост недоступен. Оставляю до дефолту, поскольку выбран метод проверки SNMP.
  • SNMP Version: SNMP-версия, которую использует удаленное устройство. В нашем случае - "Version 2".
  • SNMP Community: указываем наше SNMP-community (можно "подсмотреть в файле /usr/local/etc/snmp/snmpd.conf, параметр rocommunity).
  • SNMP Port: указываем порт, который используется для SNMP. Оставляем по дефолту - 161.
  • SNMP Timeout: время в милисекундах, сколько Cacti ожидает ответа. Оставляю по дефолту - 500.
  • Maximum OID's Per Get Request: максимальное количество OID-ов, которые будут передаваться в одном запросе. Оставляю по дефолту - 10.
  • Notes: здесь можно написать свои примечания.

Итак, поля заполнены необходимыми даными. Жмем кнопку "Create".

Устройство добавлено. Теперь добавим еще несколько "Data Queries", поскольку по умолчанию для "Generic SNMP-enabled Host" создается только "SNMP - Interface Statistics".

Добавим еще такие "Data Queries":

  • SNMP - Get Mounted Partitions - снимать статистику с разделов винчестера
  • SNMP - Get Processor Information - снимать статистику загрузки процессора

После добавления  "Data Queries" жмем кнопку "Save" и приступаем непосредственно с созданию графов. Жмем ссылку "Create Graphs for this Host".

Я отметил следующие графы:

SNMP - Get Mounted Partitions

  • Physical memory
  • Real memory
  • Swap space
  • /
  • /home
  • /tmp
  • /usr
  • /var

SNMP - Get Processor Information

  • 0

SNMP - Interface Statistics

  • ale0
  • em0

"Select a graph type" выставляю в значение "In/Out Bits (64-bits Counters)", поскольку net-snmp собран с поддержкой 64-битных счетчиков. Для некоторых устройств необходимо будет выставлять "In/Out Bits", если они не поддерживают 64-битные счетчики.

 Жмем "Create", и попадаем на страницу выбора цвета, которым будет отрисовыватся график загрузки процессора. Это уже дело вкуса... Определившись с цветом, еще раз жмем  "Create".

Теперь очередь за созданием дерева графов.

Путь следующий: закладка "Console", меню "Management", пункт "Graph Trees". Удаляем дефолтное дерево графов.

Теперь создадим свое новое... Лично я люблю сортировать по типам устройств, поэтому добавляю, например, такие:

  • Servers
  • Routers
  • Switches

Итак, для примера добавим дерево "Servers".

Жмем в верхнем правом углу ссылку "Add". Заполняем поля:

  • Name: Servers
  • Sorting Type: Alphabetic Ordering

Теперь можно добавить наш сервер в это дерево. В строке "Tree Items" жмем ссылку "Add" и заполняем поля:

  • Parent Item: root
  • Tree Item Type: Host
  • Host: в моем случае это mail.domain.com, а в вашем - соответственно ваш сервер.
  • Graph Grouping Style: Тип сортировки - Graph Template
  • Round Robin Archive: Hourly

Жмем кнопку "Create", и идем любоваться графиками на закладке "Graphs".

Для того, чтобы Cacti "понимал" кирилицу, необходимо при установке rrdtool отметить опцию "DEJAVU".

Если не отметили эту опцию, пересоберите rrdtool. Удаляем опции сборки:

# rm -R /var/db/ports/rrdtool

Удаляем и переустанавливаем rrdtool:

# cd /usr/ports/databases/rrdtool
#  make deinstall 
# make install clean 
# rehash



 
Автор: hellevil | 23-06-2017, 16:04 | Просмотров: 1 859 Подробнее
 
pix
 
pix
search
navi
poll
calendar
«    Июнь 2017    »
ПнВтСрЧтПтСбВс
 1234
567891011
12131415161718
19202122232425
2627282930 
main4
pix pix pix

2007 © www.DesktopBSD.ru
Все права сохранены