?

Log in

No account? Create an account
Previous Entry Share Next Entry
Установка и настройка cacti в LINUX
adminsrtfm

 

Вы можете сказать среднюю загрузку ЦП на Вашем сервере ?

Вы можете сказать на сколько процентов увеличилась средняя загрузка памяти на Вашем сервере за последние 3 месяца?

Вы знаете сколько DNS запросов приходит на Ваш сервер или Вы сможете сказать на сколько процентов увеличилось количество спама приходящего на Ваш почтовый сервер за последние пол года ?

Можете ли Вы точно сказать среднюю нагрузку на сеть в рабочие часы?

Если Ваш ответ на некоторые из этих вопросов «Нет» а Вы хотите чтобы ответом было «Да », тогда данная статья для Вас, в ней предпринята попытка наиболее подробно описать процесс установки и настройки одного из средств мониторинга под названием Cacti.

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

Из наиболее важных преимуществ Cacti по сравнению со своими более простыми собратьями типа Mrtg, можно отметить прекрасный WEB интерфейс, отличную расширяемость за счет написания простых модулей реализующих необходимый дополнительный функционал, наличие готовых шаблонов для различного сетевого оборудования и т. д., но стоит отметить и несколько проблем о которых нельзя не упомянуть, первоначальная установка и настройка Cacti требует от системного администратора больше времени и терпения чем установка того же Mrtg, также для своей работы Cacti необходимо наличие MySQL, PHP, RRDTool на сервере где он будет установлен.

Вот так схематично выглядит схема работы Cacti:

cacti1.png

Есть парк сетевого оборудования, которое умеет работать с протоколом SNMP (управляемые свичи, маршрутизаторы, рабочие станции и сервера под управлением ОС Unix, Linux, Windows и т. д.), сервером с установленным на него Cacti с данного оборудования периодически снимаются необходимые данные. Определенному кругу машин в сети разрешено заходить на этот сервер и просматривать собранные данные в Cacti с помощью WEB интерфейса.

Вот несколько из примеров графиков которые можно получить с помощью Cacti.

cacti2.pngcacti3.png

cacti4.pngcacti5.png

 

С момента написания первой версии данной статьи многое изменилось в лучшую сторону, а именно пакет Cacti теперь входит в состав обновлений для дистрибутива ASPLinux Server 4, что позволяет пользователям этой ОС установить его штатными средствами при помощи yum.

В данной статье предполагается, что Вы используете одну из ниже перечисленных ОС (ASP Linux Server 4, Fedora Core 3-6 , Fedora 7, CentOS, Yumex и др.).

 

Установка

 

Предполагается, что установка выполняется из под привилегированного пользователя root.

 

ASP Linux Server 4

 

Убедитесь, что у Вас установлен yum:

 

rpm -q yum

 

Убедитесь что репозиторий обновлений включен просмотрите содержимое файла /etc/yum.repos.d/asplinux-updates.repo оно должно быть следующим:

 

 [updates] name=ASPLinux $releasever - $basearch - Updates

 baseurl=

 

Дайте команду установить cacti :

 

yum install cacti

 

Вы должны увидеть примерно следующее:

 

 #> yum install cacti Setting up Install Process

 Setting up repositories

 updates                   100% |=========================| 1.2 kB    00:00

 Parsing package install arguments

Resolving Dependencies

--> Populating transaction set with selected packages. Please wait.

---> Downloading header for cacti to pack into transaction set.

cacti-0.8.6j-1.101asp.noarch 100% |=========================|  53 kB    00:00

---> Package cacti.noarch 0:0.8.6j-1.101asp set to be updated

--//--

Dependencies Resolved

=============================================================================

 Package                 Arch       Version          Repository        Size

=============================================================================

Installing:

 cacti                   noarch     0.8.6j-1.101asp     updates        1.1 M

=============================================================================

Install      1 Package(s)

Update       0 Package(s)

Remove       0 Package(s)

Total download size: 1.1 M

Is this ok [y/N]:

 

нажмите 'y' и начнется процесс установки.

 

Fedora Core 3-6

 

В данных дистрибутивах пакет Cacti содержится в дополнительном репозитории extras который включен по умолчанию.

Процесс установки Cacti аналогичен установке ASP Linux Server 4 т. е. Просто наберите:

 

yum install cacti

 

CentOS, Yumex,Scientific Linux и прочие клоны RHEL

 

Для установки Вам потребуется настроить yum для работы с репозиторием Dag Wieers. Вам необходимо создать файл /etc/yum.repos.d/dag.repo следующего содержания для дистрибутивов основанных на RHEL4 :

  1. Name: RPMforge RPM Repository for Red Hat Enterprise 4 - dag
  2. URL: http://rpmforge.net/

 

[rpmforge]name = Red Hat Enterprise $releasever - RPMforge.net - dag

#baseurl =

mirrorlist =

enabled = 1

gpgcheck = 0

 

и такого содержания для дистрибутивов основанных на RHEL5:

 

# Name: RPMforge RPM Repository for Red Hat Enterprise 5 - dag# URL:

[rpmforge]

name = Red Hat Enterprise $releasever - RPMforge.net - dag

#baseurl =

mirrorlist =

enabled = 1

gpgcheck = 0

 

После этого выполните: yum install cacti

 

Первоначальная настройка Cacti

 

 

Настройка MySQL

 

Cacti для своей работы требует установленного сервера Mysql.

Проверьте установлен ли у Вас в системе пакет mysql-server выполнив команду:

 

rpm -q mysql-server

 

Если данный пакет у Вас с системе не установлен его можно установить при помощи yum выполнив:

 

yum install mysql-server

 

Запустите сервер Mysql командой

 

service mysqld start

 

Войдите в интерфейс управления (MySQL Monitor) командой

 

mysql

 

Вы должны увидеть такое приглашение:

 

mysql>

 

Создайте новую базу данных с именем cacti командой:

 

 create database cacti;

 

Выйдите из MySQL Monitor набрав \q.

В состав пакета Cacti входит скрипт позволяющий автоматически создать все необходимые таблицы в БД для работы.

Выполните:

 

mysql cacti </usr/share/doc/cacti-0.8.6j/cacti.sql

 

Вновь войдите в интерфейс управления MySQL командой

 

mysql cacti

 

И выполните команду

 

mysql> show tables;

 

Если в ответ на данную команду вы увидите следующий список таблиц в БД:

 

+---------------------------+| Tables_in_cacti           |

+---------------------------+

| cdef                      |

| cdef_items                |

| colors                    |

| data_input                |

| data_input_data           |

| data_input_fields         |

| data_local                |

| data_template             |

| и так далее              |

+---------------------------+

48 rows in set (0.00 sec)

 

то Вы все сделали верно, таблицы в БД созданы и можно двигаться дальше.

Теперь нам необходимо дать права созданную нами БД пользователю под которым cacti будет подключаться к серверу.

Для этого в интерфейсе управления MySQL выполните:

 

grant all on cacti.* to username@localhost identified by 'password';

 

Тем самым мы дали все права на базу cacti пользователю username доступ которому разрешен только с хоста 127.0.0.1, и установили этому пользователю пароль 'password'.

Для применения назначенных прав на базу вы должны выполнить инструкцию:

 

flush privileges;

 

Теперь вы можете выйти из MySQL Monitor.

Проверьте, что сервер MySQL включен в автоматический запуск:

 

chkconfig --list mysqld

 

Вывод команды будет примерно следующим:

 

mysqld          0:выкл  1:выкл  2:выкл  3:выкл  4:выкл  5:выкл  6:выкл

 

Если Вы работаете на 3 уровне запуска системы (что является обычным для сервера) добавьте запуск MySQL на этом уровне:

 

chkconfig --level 3 mysqld on

 

 

Настройка Cacti

 

Перейдите в каталог /etc/cacti и отредактируйте файл db.php прописав в нем корректное имя пользователя и пароль для доступа в БД MySQL.

 

<?php/* make sure these values refect your actual database/host/user/password */

$database_type = "mysql";

$database_default = "cacti";

$database_hostname = "localhost";

$database_username = "cacti";

$database_password = "password";

$database_port = "3306";

?>

 

 

Настройка WEB сервера Apache

 

Cacti для своей работы требует установленного сервера Apache.

Проверьте установлен ли у Вас в системе пакет httpd выполнив команду:

 

rpm -q httpd

 

Если данный пакет у Вас с системе не установлен его можно установить при помощи yum выполнив:

 

yum install httpd

 

Перейдите в каталог /etc/httpd/conf.d и отредактируйте файл cacti.conf добавив строку Allow from <ip адрес>

Где <ip адрес> хоста которому разрешено подключаться к Cacti.

Т.е. файл cacti.conf может выглядеть следующим образом:

 

Alias /cacti    /usr/share/cacti<Directory /usr/share/cacti/>

       Order Deny,Allow

       Deny from all

       Allow from 127.0.0.1

       Allow from 10.0.0.1

</Directory>

 

Запустите сервис httpd командой:

 

service httpd start

 

Добавьте сервис httpd в автоматический запуск на Вашем уровне (в примере 3) запуска системы:

 

chkconfig --level 3 httpd on

 

 

Периодический запуск с помощью Cron

 

Cacti снимает данные со всех клиентских устройств с помощью php скрипта который запускается с помощью системного планировщика cron каждые 5 минут, т.е. для корректной работы Cacti Вам необходимо проверить запущен ли демон crond в системе.

 

chkconfig --list crond

 

как мы видим crond стартует на нашем текущем (3) уровне запуска.

 

crond           0:выкл  1:выкл  2:вкл   3:вкл   4:вкл   5:вкл   6:выкл

 

осталось проверить запущен ли демон crond в данный момент:

 

 ps ax|grep crond

 

Если Вы увидели что-то подобное, то это обозначает, что демон работает в данный момент.

 

2083 ?        Ss     0:00 crond

 

 

Проверка работоспособности

 

Запустите любой броузер и в строке адреса наберите http://<ip адрес>/cacti/

Где вместо <ip адрес> напишите ip адрес, либо доменное имя машины на которой Вы установили Cacti.

В том случае если Вы все настроили верно в окне броузера Вы должны увидеть следующее:

cacti6.png

Нажмите Next

cacti7.png

Убедитесь, что выбран пункт «New Install» и нажмите Next

cacti8.png

В следующем окне Вам предложат ввести пути до утилит которые Cacti использует в своей работе, оставьте данные в этих полях по умолчанию и нажмите Finish.

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

cacti9.png

Вам сразу же предложат сменить пароль администратора, в следующем окне введите новый пароль и его подтверждение.

cacti10.png

Сразу после задания нового пароля Вы попадете в интерфейс управления Cacti.

cacti11.png

 

Настройка SNMP клиентов

 

 

Cisco

 

Для настройки SNMP выполните вход на маршрутизатор под пользователем, перейдите в привилегированный режим «enable», затем выполните:

 

#conf t(config)#access-list 555 permit <ip адрес>

(config)#access-list 555 deny any

(config)#snmp-server community public RO 555

(config)#exit

#write memory

#exit

 

Где <ip адрес> - это адрес машины с установленным пакетом Cacti.

 

Linux/Unix

 

Убедитесь, что на Linux машине установлен пакет net-snmp:

 

rpm -q net-snmp

 

Если данный пакет не установлен, то Вам следует установить его:

 

yum install net-snmp

 

Перейдите в каталог /etc/snmp/ внесите изменения в файл snmp.conf Он должен выглядеть следующим образом:

 

syslocation Test.syscontact INF <mail@test.ru>

rocommunity cacti

#      sec.name   source          community (password)

com2sec cacti     <IP адрес>          public



#      group.name sec.model  sec.name

group   ROGroup    v1        cacti

group   ROGroup    v2c       cacti

view all     included  .1        80

view system  included  system    fe

#              context sec.model sec.level prefix  read    write  notif

access  ROGroup   ""      any    noauth    exact   all     none   none
 

Где вместо <ip адрес> поставьте ip адрес машины с установленным пакетом Cacti.

Затем выполняем команду:

 

service snmpd start

 

Добавьте сервис snmpd в автоматический запуск на Вашем уровне (в примере 3) запуска системы:

 

chkconfig --level 3 smnpd on

 

 

Добавление данных в Cacti

 

 

Добавление хоста Cisco

 

Перейдите в пункт 'Devices' с левой части экрана.

cacti12.png

Нажмите кнопку ADD для добавления нового устройства. В появившемся окне

cacti13.png

Заполните поля следующим образом:

Description – Описание маршрутизатора/коммутатора , например Cisco XXX. Hostname – IP адрес маршрутизатора/коммутатора. Host Template – В ниспадающем меню выберите пункт «Cisco Router». Блок параметров SNMP – Введите имя SNMP Community, Username, Password, Version, SNMP Port – подробнее о настройке смотрите пункт данной статьи «Настройка SNMP клиентов» - «Cisco». После заполнения всех необходимых параметров нажмите «Create».

Перед вами открылось окно с настройками хоста.

В верхней части экрана показана информация которую Cacti смогла снять по SNMP, в случае если Вы не настроили соответствующим образом оборудование или указали неверные параметры SNMP в настройках устройства, то Cacti должна выдать сообщение SNMP Error.

cacti14.png

Проверьте на данной странице, что в разделе «Associated Graph Templates» уже добавлен пункт «Cisco - CPU Usage» и в разделе «Associated Data Queries» добавлен пункт «SNMP - Interface Statistics» - дело в том, что выбирая готовый шаблон «Cisco Router» для хоста Вы автоматически добавили необходимые нам для отображения данные.

Теперь выберите пункт «Create Graphs for this Host» сверху страницы.

cacti16.png

В появившемся окне выберите пункты меню данные которых Вас интересуют в графическом представлении (загрузка CPU, сетевые интерфейсы).

cacti17.png

После Выбора необходимых пунктов нажмите «Create».

cacti18.png

В появившемся окне Вам предлагают Выбрать Цвет графика отображающего загрузку CPU, после выбора необходимого Вам цвета нажмите «Create».

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

cacti19.png

Теперь Нам осталось создать графики. Дело в том, что в Cacti все графические данные представляются в виде «дерева». По умолчанию создано одно дерево с именем «Default Tree», Вы можете создавать свои графические деревья таким образом группируя по каким-нибудь признакам группы хостов. В данном примере Мы с Вами добавим вновь созданный хост Cisco в дерево по умолчанию «Default Tree». Перейдите в пункт «Graph Trees» в левой части экрана. В появившемся окне выберите «Default Tree».

cacti20.png

В меню «Tree Items» нажмите «Add».

cacti21.png

В «Parent Item» оставьте «root» В «Tree Item Type» выберите значение «Host» В «Host» выберите то имя которое Вы присвоили вашему устройству Cisco. После заполнения всех полей нажмите «Create».

cacti22.png

добавили все необходимые данные теперь Вам нужно выждать несколько запусков пулера Cacti (он стартует через cron с интервалом в 5 минут) чтобы на графиках появились первые данные.

cacti23.png

 

Добавление хоста Linux/Unix

 

Перейдите в пункт «Devices» в левой части экрана.

cacti24.png

Нажмите «Add» для добавления нового хоста. В появившемся окне заполните поля следующим образом: Description – Описание сервера. Hostname – IP адрес, дибо доменное имя хоста. Host Template – оставьте значение данного параметра в «None». Также заполните раздел «SNMP Options» в соответствии с настройками которые Вы сделали на контролируемом сервере, правильно заполните поля SNMP Community, SNMP Version,SNMP Port и т.д.

cacti25.png

После заполнения всех необходимых параметров нажмите «Create». Откроется окно с установками вновь созданного хоста.

cacti26.png

Перейдите в нижнюю часть экрана, там находится 2 раздела «Associated Graph Templates» и «Associated Data Queries»

cacti27.png

Вам необходимо добавить в раздел «Associated Graph Templates» 3 шаблона «ucd/net - CPU Usage», «ucd/net - Load Average», «ucd/net - Load Average», а в раздел «Associated Data Queries» добавить «SNMP - Interface Statistics» и «SNMP - Get Mounted Partitions».

cacti28.png

Теперь выберите пункт «Create Graphs for this Host» сверху страницы, и в появившемся окне выберите необходимые данные для графического отображения.

cacti29.png

После нажатие на кнопку «Create» необходимые данные будут добавлены.

cacti30.png

Теперь перейдите в пункт меню «Graph Trees», выберите дерево по умолчанию «Default Tree», нажмите кнопку «ADD».

В появившемся меню

cacti31.png

В «Parent Item» оставьте «root» В «Tree Item Type» выберите значение «Host» В «Host» выберите то имя которое Вы присвоили вашему хосту. После заполнения всех полей нажмите «Create».

Все графики созданы и размещены.

Для просмотра графических данных перейдите в меню «Graphs» в верхней части экрана и выберите созданный хост.

 Автор: Денис Фролов

Tags: , ,