Инструменты пользователя

Инструменты сайта


cacti

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

cacti [2018/11/26 14:09]
cacti [2020/06/13 13:45] (текущий)
Строка 1: Строка 1:
 +====== Мониторинг при помощи Cacti ======
  
 +{{htmlmetatags>
 +metatag-description=(Cacti — это инструмент для мониторинга сети путем опроса сетевого коммутатора.)
 +}}
 +
 +  * Homepage: [[http://www.cacti.net|Cacti]]
 +
 +Cacti — это инструмент для мониторинга и графического мониторинга сети с открытым исходным кодом, разработанный в качестве внешнего приложения для инструмента RRDtool с открытым исходным кодом, стандартного для ведения данных . Cacti позволяет пользователю опросить службы с заданными интервалами и нарисовать полученные данные. Cacti обычно используется для сбора данных временных рядов показателей, таких как загрузка процессора и использование пропускной способности сети. Общее использование - мониторинг сетевого трафика путем опроса сетевого коммутатора или интерфейса маршрутизатора через протокол Simple Network Management Protocol (SNMP).
 +
 +Установка Cacti и snmp на localhost. Файлы с описание установки находятся в /usr/share/doc/cacti для ОС Ubuntu.
 +<code>
 +# aptitude install cacti-spine
 +# aptitude install snmpd
 +</code>
 +Правим конфигурационный файл snmpd.conf (для настройки можно также использовать утилиту snmpconf)
 +<code>
 +# nano /etc/snmp/snmpd.conf
 +...
 +# Example output of snmpwalk:
 +#   % snmpwalk -v 1 -c public localhost system
 +#   system.sysDescr.0 = "SunOS name sun4c"
 +#   system.sysObjectID.0 = OID: enterprises.ucdavis.ucdSnmpAgent.sunos4
 +#   system.sysUpTime.0 = Timeticks: (595637548) 68 days, 22:32:55
 +#   system.sysContact.0 = "Me <me@somewhere.org>"
 +#   system.sysName.0 = "name"
 +#   system.sysLocation.0 = "Right here, right now."
 +#   system.sysServices.0 = 72
 +
 +#       sec.name  source          community
 +#com2sec paranoid  default         public
 +com2sec readonly  localhost         public
 +#com2sec readwrite default         private
 +...
 +# /etc/init.d/snmpd restart
 +</code>
 +Проверяем. Делаем запрос к демону [[SNMP]]:
 +<code>
 +# snmpwalk -v 2c -c PASSWORD localhost system
 +SNMPv2-MIB::sysDescr.0 = STRING: Linux keep 2.6.31-17-server #54-Ubuntu SMP Thu Dec 10 18:06:56 UTC 2009 x86_64
 +SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
 +DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (1473) 0:00:14.73
 +</code>
 +Проверяем чтобы демон [[SNMP]] слушал только на localhost:
 +<code>
 +# netstat -a | grep -i snmp
 +udp        0      0 localhost:snmp          *:* 
 +# lsof -i:161
 +COMMAND   PID USER   FD   TYPE  DEVICE SIZE NODE NAME
 +snmpd   31994 snmp    7u  IPv4 8401896       UDP localhost:snmp
 +</code>
 +===== Отключение логов snmpd =====
 +  * **Замечание для Debian 5.02**: Чтобы snmpd слушал на всех интерфейсах нужно отредактировать строку:<code># nano /etc/default/snmpd
 +# snmpd options (use syslog, close stdin/out/err).
 +#SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1'
 +SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid'
 +</code>
 +
 +Для отключения логирования snpmd в /var/log/messages нужно изменить строку запуска.
 +<file>
 +# nano /etc/sysconfig/snmpd
 +OPTIONS="-Lf /dev/null -p /var/run/snmpd.pid"
 +</file>Эта строка полностью отключит логирование. Для того чтобы перенаправить лог в другой файл, можно сделать так. Добавить ключ -Ls0 и настроить local0:<file>
 +# nano /etc/sysconfig/snmpd
 +SNMPDOPTS='-Ls0 -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid'
 +
 +# nano /etc/rsyslog.conf
 +local0.*                        -/var/log/snmpd.log
 +local0.* ~
 +</file>
 +
 +  * Задать уровень логирования snmpd параметр -LS 0-4 такой вид позволит получать в лог только критические сообщения
 +<file>
 +#SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid'
 +SNMPDOPTS='-LS 0 -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid'
 +</file>
 +====== Настройка Cacti ======
 +Cacti запускается через cron (каждые 5 минут), в Ubuntu файл запуска находится здесь:
 +<code>
 +# cat /etc/cron.d/cacti 
 +MAILTO=root
 +*/5 * * * * www-data php /usr/share/cacti/site/poller.php >/dev/null 2>/var/log/cacti/poller-error.log
 +</code>
 +
 +По умолчанию, для доступа к Web интрефейсу Cacti используется логин: admin password:admin
 +  - Создание устройства (Devices). Выбор шаблона: В большинстве случаем шаблон "ucd/net SNMP Host".
 +  - Создание графиков (Create graphs for this host). Нужные графики нужно отметить галочкой.
 +  - Настроить дерево графиков (Graph Trees). Логически группирует графики.
 +
 +P.S. Если после обновления запросов (зеленый кружок) будет показано сообщение "Success [0 Items, 0 Rows]", это говорит о том что данный запрос не подходит к данному хосту.
 +===== Cacti Plugin Architecture =====
 +Для расширения возможности Cacti нужно установить поддержку плагинов [[http://cactiusers.org|Cacti Plugin Architecture]].
 +
 +  * Для FreeBSD 8.2 это будет выглядеть так (в портах версия cacti-0.8.7g.tar.gz):
 +<file>
 +> cd /usr/ports/net-mgmt/cacti
 +> make install
 +
 +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 the line to cron jobs with the command:
 +# crontab -u cacti -e
 +*/5 * * * * /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.
 +
 +If you update cacti, open a login page, an updating process
 +will start automatically.
 +> make clean
 +</file>
 +
 +<file>
 +> cd /usr/ports/net-mgmt/cacti-spine
 +> make install clean
 +</file>
 +
 +<file>
 +> wget http://mirror.cactiusers.org/downloads/plugins/cacti-plugin-0.8.7g-PA-v2.8.tar.gz
 +> tar -xvzf cacti-plugin-0.8.7g-PA-v2.8.tar.gz
 +</file>
 +Скопируем diff файл в рабочую директорию Cacti. Запустим в тестовом варианте с ключем --dry-run(для Linux), если ошибок нет можно применять diff.
 +<file>
 +> cp cacti-plugin-0.8.7g-PA-v2.8.diff /usr/local/share/cacti/
 +> patch -p1 -N --dry-run < cacti-plugin-0.8.7g-PA-v2.8.diff
 +> patch -p1 -N < cacti-plugin-0.8.7g-PA-v2.8.diff
 +</file>
 +Изменим БД Cacti импортируя в нее данные из файла pa.sql:
 +<file>
 +> mysql -u cactiuser -p cacti < pa.sql
 +</file>
 +Для включения Plugin Management, на странице User Management-> Realm Permissions-> поставить птичку напротив Plugin Management.
 +====== Ссылки ======
 +  * [[http://habrahabr.ru/blogs/linux/115493/|HowTo: Cacti 0.8.7g + Plugin Architecture 2.9 + Spine 0.8.7g на CentOS 5.5 i386]]
 +  * [[http://habrahabr.ru/blogs/sysadm/56345/|Cистема оповещения в cacti]]
 +  * [[http://www.opennet.ru/base/net/traf_cnt_cacti.txt.html|Настройка системы учета трафика на базе Cacti, SNMP, bpft, FreeBSD]]
 +  * [[http://hostinfo.ru/articles/773|Cистема мониторинга Cacti]]
 +  * {{:install_russian_windows.pdf.zip|Установка Cacti в Windows}}
 +  * [[http://forums.cacti.net/about15067.html|Additional Cacti Templates]]