Cacti konfiguracja i instalacja

Do czego służy projekt Cacti ?

Głównym celem Cacti jest monitorowanie sieci przy pomocy Simple Network Management Protocol w skrócie (SNMP), ale także można analizować i obrazować wykresy przy pomocy skryptów, bash, perl, python, php i inne.

Samo Cacti daje nam bardzo duże możliwości jeśli chodzi o pobranie danych i przedstawienie ich za pomocą wykresu RRDTool.

Cacti w sobie zawiera kilka już gotowych szablonów, ale moim zdaniem są to naprawdę tylko przykłady, z których można skorzystać do nauki, w jaki sposób sobie stworzyć własne szablony do danego sprzętu jaki posiada nasza sieć.

Informowanie o wadliwie działającym sprzęcie w sieci, Cacti posiada wiele dodatkowych wtyczek, które mogą przy pomocy funkcji mail, sms wysłać informację który segment sieci lub urządzenie odmówiło nam posłuszeństwa.

Wymagania Cacti

  • RRDTool – strona projektu: RRDTool
  • Perl – strona projektu: Perl Programming Language
  • Dowolny serwer WEB: apache, nginx, lighttpd – strona projektu: LIGHTTPD
  • Simple Network Management Protocol (SNMP) – strona projektu: SNMP
  • Hypertext Preprocessor (PHP) – strona projektu: PHP
  • MySQL – strona projektu: MySQL
  • Cacti – strona projektu: Cacti

Instalacja Cacti

Pobranie najnowszej wersji w czasie pisania tego artykułu najnowsza wersja to 0.8.8f, i rozpakowanie źródeł przechodzimy do katalogu:
cd /usr/src
wget www.cacti.net/downloads/cacti-0.8.8f.tar.gz
tar zxf cacti-0.8.8f.tar.gz

Zmiana nazwy i kopiowanie rozpakowanego katalogu Cacti do wybranego miejsca na dysku gdzie działa na serwer WEB:

mv cacti-0.8.8f /var/www/htdocs/cacti
rm -f cacti-0.8.8f.tar.gz

Przechodzimy do katalogu /var/www/htdocs/cacti i tworzymy bazę danych:

cd /var/www/htdocs/cacti
mysql -u root -pMojeTajneHasło
mysql> CREATE DATABASE IF NOT EXISTS 'cacti_db' CHARACTER SET utf8mb4 COLLATE utf8_general_ci;
mysql> GRANT USAGE ON cacti_db.* TO cacti@localhost;
mysql> GRANT ALL ON cacti_db.* TO cacti@localhost IDENTIFIED BY 'TajneHasłoDoBazyCacti';
mysql> FLUSH PRIVILEGES;
mysql> USE cacti_db;
mysql> source cacti.sql;
mysql> quit;

Edycja pliku /var/www/htdocs/cacti/include/config.php i przepisanie konfiguracji:

vim /var/www/htdocs/cacti/include/config.php
$database_type = "mysql";
$database_default = "cacti_db";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "TajneHasłoDoBazyCacti";
$database_port = "3306";
$database_ssl = false;

Nadanie odpowiednich uprawnień do poszczególnych katalogów:

chown apache:apache /var/www/htdocs/cacti -R
find /var/www/htdocs/cacti -type d -exec chmod 0750 {} \;
find /var/www/htdocs/cacti -type f -exec chmod 0640 {} \;

Dodanie odpowiedniego wpisu do demona Cron i restart usługi po dodaniu wpisu:

cd /var/spool/cron/crontabs
vim root
*/5 * * * * /usr/bin/php /var/www/htdocs/cacti/poller.php > /dev/null 2>&1

Po wykonaniu tego kroku przechodzimy do aplikacji Cacti, będziemy proszeni o podanie nowego hasła:

http://x.x.x.x/cacti
User Name: admin
Password: admin

Od tej chwili możemy cieszyć się aplikacją Cacti i tworzyć przeróżne obrazowanie danych od najprostszych rzeczy jaką według mnie jest prędkość download/upload, do pomiaru temperatur, ilości pakietów, czasu pracy danego urządzenia, sygnałów wireless, napięcia danego urządzenia i wiele innych.

Uwagi końcowe

Gdyby były problemy z instalacją Cacti to przede wszystkim odsyłam do podręcznika który jest na stronie projektu, jeśli nie masz czasu lub odpowiedniej wiedzy jak zrealizować sobie system monitorujący, mogę pomóc coś takiego zrealizować w Twojej sieci oczywiście nie za darmo, ale wtedy gdy podejmę się takiego zlecenia dbam o ciągłe aktualizacje, bezpieczeństwo, kopie zapasowe.

W razie potrzeby dane do kontaktu są tu: Kontakt.

W swoich zasobach posiadam gotowe szablony (templates) do takiego sprzętu sieciowego jak: MikroTik RouterOS, Ubiquiti Networks, Zyxel, 3Com, Linux, Cisco, oraz systemy GEPON: Dasan Networks, ZTE Networks, Huawei Networks. Oczywiście zawsze mogę dorobić gotowe szablony do innego sprzętu sieciowego który dana sieć posiada.

Galeria wykresów

Poniżej zamieszczam kilka zrzutów ekranu wykresów: