A Cacti egy egyszerű, alapvetően hálózati struktúrát monitorozó termék. A maga puritán módján, egy gyors webes, grafikonos megoldást kínál a hálózatunk felügyelete érdekében. Kedves kollégám Kiss János készített egy rövid leírást melyet engedélyezett, hogy közkincsé tehessek. A cikk nem a Cacti felépítésével, és lelkével foglalkozik, inkább kezdőknek szól, hogy is tudják telepíteni, és működésre bírni.
A Cacti maga természetesen a végtelenségig scriptelhető és customizálható. A következőkben János írása következik.
Hálózati beállítások
Feltételezem, hogy egy alap Red Hat vagy CentOS telepítés már a rendelkezésünkre áll. Ellenőrizzük le, hogy a biztonsági beállításaink lehetővé teszik-e a snmp port (161/udp) forgalmát. Az SELinux státuszát az #sestatus paranccsal, az iptablesünket az #iptables –L –n paranccsal ellenőrizhetjük.
Cacti install
A Cacti egy összetett monitorozó webes ‘alkalmazás’ ami az RRDTool’ –al összegyűjtött és készített diagramokat jeleníti meg.
Először is updateljünk a #yum update paranccsal:
Telepítsük a szükséges csomagokat és függőségeiket:
#yum install httpd php php-mysql php-snmp php-gd php-ldap mysql mysql-server net-snmp net-snmp-devel
Apache, PHP beállítások
Győződjünk meg, hogy a szükséges PHP modulok elérhetőek rendszerünkben:
- • mysql
• SNMP
• XML
• Session
• Sockets
• LDAP
• GD
A következő paranccsal tudjuk kilistázni a betöltött php modulokat:
# php -m | egrep ‘(mysql)|(snmp)|(xml)|(session)|(sockets)|(snmp)|(ldap)|(gd)’
A /etc/php.ini–ben ellenőrizzük a php extension-ok elérhetőségét:
extension_dir = /usr/lib64/php/modules
Lokalizáljuk a mysql.so –t és az snmp.so –t (én szeretem a locate használatát, de bármilyen keresővel megtörténhet):
Aktiváljuk a MySQL extension-t a /etc/php.d/mysql.ini -ben:
# vi /etc/php.d/mysql.ini
Az alábbi bejegyzéseket tegyük az /etc/httpd/conf/httpd.conf, amennyiben nem szerepel:
# Load config files from the config directory “/etc/httpd/conf.d”.
Include conf.d/*.conf
Az /etc/httpd/conf.d/php.conf –hoz adjuk a következő sorokat:
# PHP is an HTML-embedded scripting language which attempts to make it
# easy for developers to write dynamically generated webpages.
LoadModule php5_module modules/libphp5.so
#
# Cause the PHP interpreter to handle files with a .php extension.
AddHandler php5-script .php
AddType text/html .php
#
# Add index.php to the list of files that will be served as directory
# indexes.
DirectoryIndex index.php
MySQL konfiguráció
Adjuk ki az alábbi parancsokat:
#service mysqld start
#mysqladmin –user=root password yourpassword
#mysqladmin –user=root –password reload
#mysqladmin –user=root –p create cacti
# mysqladmin –u root –p cacti < cacti.sql
# mysql –u root –p
GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY ‘yourcactiuserpassword’;
flush privileges
quit
Cacti konfigurálás
Töltsd le a legutolsó Cacti verziót a http://www.cacti.net oldalról.
Tömörítsd ki a /var/www/html/cacti könyvtárba a #tar –xvf cacti-yourversion.tar.gz paranccsal. Szerkeszd a config.php fájlt a cacti/include könyvtárban, és módosítsd a alap beállításokat az általad megadott értékekkel:
RRDTtool install
#yum install gcc cairo-devel libxml2-devel pango-devel pango libpng-devel freetype freetype-devel libart_lgpl-devel
Töltsd le az rrdtool forrást a http://packages.express.org/rrdtool/ és tömörítsd ki.
Állítsd be a PKG_CONFIG_PATH környezetbe az alábbi bejegyzést:
# export PKG_CONFIG_PATH=/usr/lib/pkgconfig/
Add ki a következő parancsot:
# ./configure
Fordítsuk és installáljuk az RRDTool-t:
# make
# make install
# cd /usr/local/
# ln -s rrdtool-‘yourversion’/ rrdtool/
# cd rrdtool
# ls –l
Írd be a Cacti szervered IP-jét a böngésződbe és kövesd a next-next-finish install folyamatot.
SNMP beállítás a localhoston
Csináljunk egy backupot a default /etc/snmp/snmpd.conf fájlról:
# mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.orig
Hozzunk létre egy újat alap beállításokkal:
# vi /etc/snmp/snmpd.conf
rocommunity testingsnmp
syslocation Whereyouare
syscontact root
Indítsuk el az snmpd szervizt az #service snmpd start paranccsal és ellenőrizzük az snmp beállításainkat:
# snmpwalk –v 2c –c “yourrocommunitystring” yourserverip
Hasonló kimenetet kell kapnod:
Cacti-ban localhost monitorozás létrehozása
A Cacti web interfész főoldalán klikkelj a Create devices for network -> Add gombra és töltsd ki a jelenlegi hostod hostnevével vagy IP címével és az /etc/snmp/snmp.conf –ban beállított SNMP Community string -el:
A sikeres beállítás után ezt kellene látnod:
Módosítsd a crontab-odat, hogy áramoljon az adat a grafikonjaidba:
*/5 * * * * root php -q /var/www/html/cacti/poller.php > /dev/null 2>&1
Megjegyzés: Amennyiben Cisco Nexus switchet akarsz monitorozni, az SNMP Timeout value –t emeld fel 500-ról 35000-re.
Szerviz start
Végül állítsuk be a szervizek indulását automatikusra egy restart után a #chkconfig httpd mysqld snmpd on paranccsal.