Введение
Вы можете сказать среднюю загрузку ЦП на Вашем сервере ?
Вы можете сказать на сколько процентов увеличилась средняя загрузка памяти на Вашем сервере за последние 3 месяца?
Вы знаете сколько DNS запросов приходит на Ваш сервер или Вы сможете сказать на сколько процентов увеличилось количество спама приходящего на Ваш почтовый сервер за последние пол года ?
Можете ли Вы точно сказать среднюю нагрузку на сеть в рабочие часы?
Если Ваш ответ на некоторые из этих вопросов «Нет» а Вы хотите чтобы ответом было «Да », тогда данная статья для Вас, в ней предпринята попытка наиболее подробно описать процесс установки и настройки одного из средств мониторинга под названием Cacti.
Cacti – позволяет снимать учетные данные с любого сетевого устройства по протоколу SNMP (при учете, что оборудование умеет работать с данным протоколом).
Из наиболее важных преимуществ Cacti по сравнению со своими более простыми собратьями типа Mrtg, можно отметить прекрасный WEB интерфейс, отличную расширяемость за счет написания простых модулей реализующих необходимый дополнительный функционал, наличие готовых шаблонов для различного сетевого оборудования и т. д., но стоит отметить и несколько проблем о которых нельзя не упомянуть, первоначальная установка и настройка Cacti требует от системного администратора больше времени и терпения чем установка того же Mrtg, также для своей работы Cacti необходимо наличие MySQL, PHP, RRDTool на сервере где он будет установлен.
Вот так схематично выглядит схема работы Cacti:
Есть парк сетевого оборудования, которое умеет работать с протоколом SNMP (управляемые свичи, маршрутизаторы, рабочие станции и сервера под управлением ОС Unix, Linux, Windows и т. д.), сервером с установленным на него Cacti с данного оборудования периодически снимаются необходимые данные. Определенному кругу машин в сети разрешено заходить на этот сервер и просматривать собранные данные в Cacti с помощью WEB интерфейса.
Вот несколько из примеров графиков которые можно получить с помощью Cacti.
С момента написания первой версии данной статьи многое изменилось в лучшую сторону, а именно пакет 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 :
- Name: RPMforge RPM Repository for Red Hat Enterprise 4 – dag
-
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.
В том случае если Вы все настроили верно в окне броузера Вы должны увидеть следующее:
Нажмите Next
Убедитесь, что выбран пункт «New Install» и нажмите Next
В следующем окне Вам предложат ввести пути до утилит которые Cacti использует в своей работе, оставьте данные в этих полях по умолчанию и нажмите Finish.
Первоначальная настройка Cacti закончена. В следующем окне Вам предложат ввести имя пользователя и пароль для администрирования Cacti. Введите имя пользователя admin пароль admin.
Вам сразу же предложат сменить пароль администратора, в следующем окне введите новый пароль и его подтверждение.
Сразу после задания нового пароля Вы попадете в интерфейс управления Cacti.
Настройка 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> # sec.name source community (password) com2sec Mybox localhost public com2sec cacti <ip адрес> public com2sec Outside default public # group.name sec.model sec.name group RWGroup v2c Mybox group ROGroup v1 cacti group ROGroup v2c cacti group Others v2c Outside 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 access RWGroup "" v2c noauth exact all all all access Others "" v2c noauth exact system none all
Где вместо <ip адрес> поставьте ip адрес машины с установленным пакетом Cacti.
Затем выполняем команду:
service snmpd start
Добавьте сервис snmpd в автоматический запуск на Вашем уровне (в примере 3) запуска системы:
chkconfig --level 3 smnpd on
Добавление данных в Cacti
Добавление хоста Cisco
Перейдите в пункт ‘Devices’ с левой части экрана.
Нажмите кнопку ADD для добавления нового устройства. В появившемся окне
Заполните поля следующим образом:
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.
Проверьте на данной странице, что в разделе «Associated Graph Templates» уже добавлен пункт «Cisco – CPU Usage» и в разделе «Associated Data Queries» добавлен пункт «SNMP – Interface Statistics» – дело в том, что выбирая готовый шаблон «Cisco Router» для хоста Вы автоматически добавили необходимые нам для отображения данные.
Теперь выберите пункт «Create Graphs for this Host» сверху страницы.
В появившемся окне выберите пункты меню данные которых Вас интересуют в графическом представлении (загрузка CPU, сетевые интерфейсы).
После Выбора необходимых пунктов нажмите «Create».
В появившемся окне Вам предлагают Выбрать Цвет графика отображающего загрузку CPU, после выбора необходимого Вам цвета нажмите «Create».
Вы снова попадете в настройки хоста, только в верхней части экрана появятся сообщения о успешном создании необходимых Вам графических данных.
Теперь Нам осталось создать графики. Дело в том, что в Cacti все графические данные представляются в виде «дерева». По умолчанию создано одно дерево с именем «Default Tree», Вы можете создавать свои графические деревья таким образом группируя по каким-нибудь признакам группы хостов. В данном примере Мы с Вами добавим вновь созданный хост Cisco в дерево по умолчанию «Default Tree». Перейдите в пункт «Graph Trees» в левой части экрана. В появившемся окне выберите «Default Tree».
В меню «Tree Items» нажмите «Add».
В «Parent Item» оставьте «root» В «Tree Item Type» выберите значение «Host» В «Host» выберите то имя которое Вы присвоили вашему устройству Cisco. После заполнения всех полей нажмите «Create».
добавили все необходимые данные теперь Вам нужно выждать несколько запусков пулера Cacti (он стартует через cron с интервалом в 5 минут) чтобы на графиках появились первые данные.
Добавление хоста Linux/Unix
Перейдите в пункт «Devices» в левой части экрана.
Нажмите «Add» для добавления нового хоста. В появившемся окне заполните поля следующим образом: Description – Описание сервера. Hostname – IP адрес, дибо доменное имя хоста. Host Template – оставьте значение данного параметра в «None». Также заполните раздел «SNMP Options» в соответствии с настройками которые Вы сделали на контролируемом сервере, правильно заполните поля SNMP Community, SNMP Version,SNMP Port и т.д.
После заполнения всех необходимых параметров нажмите «Create». Откроется окно с установками вновь созданного хоста.
Перейдите в нижнюю часть экрана, там находится 2 раздела «Associated Graph Templates» и «Associated Data Queries»
Вам необходимо добавить в раздел «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».
Теперь выберите пункт «Create Graphs for this Host» сверху страницы, и в появившемся окне выберите необходимые данные для графического отображения.
После нажатие на кнопку «Create» необходимые данные будут добавлены.
Теперь перейдите в пункт меню «Graph Trees», выберите дерево по умолчанию «Default Tree», нажмите кнопку «ADD».
В появившемся меню
В «Parent Item» оставьте «root» В «Tree Item Type» выберите значение «Host» В «Host» выберите то имя которое Вы присвоили вашему хосту. После заполнения всех полей нажмите «Create».
Все графики созданы и размещены.
Для просмотра графических данных перейдите в меню «Graphs» в верхней части экрана и выберите созданный хост.
Автор: Денис Фролов
Постовой
Дом на колесах, или автодом - довольно неплохое решение при современных ценах на недвижимость. Основное предназначение – это жилье при путешествии, но приспособить можно ко всему.
Купить ноутбук не проблем. Проблема найти достойное предложение среди многообразия различных предложений. Для меня после ряда различных неудачных покупок пока номер один – интернет-магазин inox.com.ua
One Comment