Мониторинг при помощи Cacti
- Homepage: Cacti
Cacti — это инструмент для мониторинга и графического мониторинга сети с открытым исходным кодом, разработанный в качестве внешнего приложения для инструмента RRDtool с открытым исходным кодом, стандартного для ведения данных . Cacti позволяет пользователю опросить службы с заданными интервалами и нарисовать полученные данные. Cacti обычно используется для сбора данных временных рядов показателей, таких как загрузка процессора и использование пропускной способности сети. Общее использование - мониторинг сетевого трафика путем опроса сетевого коммутатора или интерфейса маршрутизатора через протокол Simple Network Management Protocol (SNMP).
Установка Cacti и snmp на localhost. Файлы с описание установки находятся в /usr/share/doc/cacti для ОС Ubuntu.
# aptitude install cacti-spine # aptitude install snmpd
Правим конфигурационный файл snmpd.conf (для настройки можно также использовать утилиту snmpconf)
# 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
Проверяем. Делаем запрос к демону SNMP протокол управления сетью:
# 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
Проверяем чтобы демон SNMP протокол управления сетью слушал только на localhost:
# 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
Отключение логов snmpd
- Замечание для Debian 5.02: Чтобы snmpd слушал на всех интерфейсах нужно отредактировать строку:
# 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'
Для отключения логирования snpmd в /var/log/messages нужно изменить строку запуска.
# nano /etc/sysconfig/snmpd OPTIONS="-Lf /dev/null -p /var/run/snmpd.pid"
Эта строка полностью отключит логирование. Для того чтобы перенаправить лог в другой файл, можно сделать так. Добавить ключ -Ls0 и настроить local0:
# 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.* ~
- Задать уровень логирования snmpd параметр -LS 0-4 такой вид позволит получать в лог только критические сообщения
#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'
Настройка Cacti
Cacti запускается через cron (каждые 5 минут), в Ubuntu файл запуска находится здесь:
# 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
По умолчанию, для доступа к 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 нужно установить поддержку плагинов Cacti Plugin Architecture.
- Для FreeBSD 8.2 это будет выглядеть так (в портах версия cacti-0.8.7g.tar.gz):
> 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
> cd /usr/ports/net-mgmt/cacti-spine > make install clean
> 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
Скопируем diff файл в рабочую директорию Cacti. Запустим в тестовом варианте с ключем –dry-run(для Linux), если ошибок нет можно применять diff.
> 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
Изменим БД Cacti импортируя в нее данные из файла pa.sql:
> mysql -u cactiuser -p cacti < pa.sql
Для включения Plugin Management, на странице User Management→ Realm Permissions→ поставить птичку напротив Plugin Management.
Ссылки
📌 Для тестирования скриптов, установщиков VPN, Python ботов рекомендуем использовать надежные VPS на короткий срок. Если вам нужна помощь с более сложными задачами, вы можете найти фрилансера, который поможет с настройкой. Узнайте больше о быстрой аренде VPS для экспериментов и о фриланс-бирже для настройки VPS, WordPress. 📌
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Китайский VPN Shadowsocks простая установка и настройка
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах