Instalacja Cacti – Debian / Raspberry Pi

Monitorowanie urządzeń i serwerów to przydatna sprawa, a zebrane statystyki przydają się do weryfikacji działania naszych urządzeń, sieci, serwerów. Postanowiłem opisać instalację Cacti na Raspberry Pi, ale w taki sam sposób praktycznie (może z jakimiś malutkimi różnicami) można to wykonać na Linuxie Debian 9. Cacti to narzędzie, które umożliwia monitorowanie urządzeń m.in. używając protokołu SNMP. Dzięki temu możemy pobierać z np. routera, switcha, serwera takie dane jak transfer na kartach sieciowych/portach LAN, zużycie pamięci RAM, zużycie dysku, wykorzystanie procesora itp.. Można także tworzyć własne skrypty, które pobierają dane ze stron www, naszych własnych urządzeń (Arduino) itd.. Cacti z zebranych danych tworzy wykresy co pozwala w prosty sposób prowadzić podgląd monitorowanych urządzeń. Umożliwia także wysyłanie powiadomień e-mail kiedy, któreś urządzenie jest niedostępne, a po instalacji i ustawieniu wtyczki „Thold” Cacti może wysyłać powiadomienia kiedy wskazane parametry któregoś z urządzeń zostaną przekroczone. U mnie Raspberry Pi zalegało w szufladzie więc postanowiłem je wykorzystać jako serwer dla Cacti. Co prawda zrobiłem to na Raspberry Pi Model B i jest to trochę za słabe dla Cacti, ale jakoś daje radę (tylko ślamazarnie odświeża wyświetlanie wykresów). Najlepiej mieć do tego celu minimum RPi 2. Opis dotyczy Cact od wersji 1.0 (tutaj jest przedstawiona instalacja wersji 1.1.27 (taka była dostępna jako najnowsza w chwili tworzenia tego poradnika)

Spis treści:
1. Przygotowanie
2. Instalacja wymaganych narzędzi i modułów
3. Kompilacja i instalacja Cacti-Spine (opcjonalne)
4. Instalacja Cacti
5. Odświeżanie co 1 minutę (Cacti 1 minute poll – opcjonalne)
6. Podsumowanie


1. Przygotowanie

Pierwsze co to wymagane jest Raspberry Pi z zainstalowanym systemem i najlepiej stałym adresem w sieci LAN.
Statyczny adres w Raspbian Stretch ustawiamy w /etc/dhcpd.conf. Sprawdzamy nazwę interfejsu sieciowego.

sudo ifconfig

lub

ip a

Przykładowy wynik „ip a”

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 192.168.254.129/24 brd 192.168.254.255 scope global eth0
       valid_lft forever preferred_lft forever

eth0 to mój interfejs sieciowy, który należy skonfigurować.

Edytujemy plik

sudo nano /etc/dhcpcd.conf

Na końcu pliku dodajemy poniższą konfigurację dla statycznego adresu IP dla karty sieciowej eth0.
Zamiast podanych adresów należy wprowadzić swoje własne odpowiednie dla własnej sieci LAN. Poniżej to tylko przykład:

#static IP configuration

interface eth0
static ip_address=192.168.254.10/24
static routers=192.168.254.254
static domain_name_servers=208.67.222.222 8.8.8.8

static ip_address – to adres jaki ma mieć RPi
statis routes – adres routera z internetem
static domain_name_servers – DNSy

Po ustawieniu adresu IP wykonujemy restart Rpi.

reboot

Powinno się uruchomić ze skonfigurowanym adresem IP.


2. Instalacja wymaganych narzędzi i modułów

Całość instalacji wykonywałem używając Raspbian Stretch w wersji lite i Raspberry Pi 2. Właściwie w podobny sposób można Cacti zainstalować pod Debian 9 Stretch jak ktoś chce. Różnic w instalacji i konfiguracji właściwie nie ma.

Na początek wykonujemy update i upgrade:

sudo apt-get update && apt-get upgrade -y

Czyli aktualizacja apt i aktualizacja systemu.
Po aktualizacji instalujemy potrzebne narzędzia:

apt-get install apache2 libapache2-mod-php7.0 php7.0 php7.0-snmp php7.0-xml php7.0-mbstring php7.0-json php7.0-gd php7.0-gmp php7.0-zip php7.0-ldap php7.0-mcrypt sendmail -y

Przechodzimy do utawienia timezone dla PHP (wymagane przez Cacti).
Edytujemy plik /etc/php/7.0/apache2/php.ini

sudo nano /etc/php/7.0/apache2/php.ini

Odszukujemy pole file_uploads powinno być ustawione jak poniżej

file_uploads = On

Następnie odszukujemy date.timezone i ustawiamy jak poniżej

date.timezone = Europe/Warsaw

Przed date.timezone może być znak ; (średnik). Usuwamy go i ustawiamy tak aby było jak powyżej.
Zapisujemy plik i wychodzimy z edytora.
Restartujemy apache2

sudo systemctl restart apache2

Następnie instalujemy bazę i obsługę bazy przez php

sudo apt-get install mariadb-server php7.0-mysql -y

Po instalacji zabezpieczamy konto root dla mysql:

sudo mysql -h localhost

Przejdziemy do mysql czyli będzie coś takiego:

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 10.1.23-MariaDB-9+deb9u1 Raspbian 9.0

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

Wpisujemy:

use mysql;
update user set plugin='' where user='root';
flush privileges;

Na koniec

exit

Teraz uruchamiamy kreator zabezpieczeń mysql

sudo mysql_secure_installation

Powinny się pojawić pytania jak poniżej. W pytaniu o hasło do root wciskamy enter (ponieważ nie ma żadnego hasła). Na wszystkie pytania odpowiadamy twierdząco (Y). W pytaniu o zmianę hasła wciskamy Y, enter i wpisujemy nowe hasło. Wszystko jak poniżej:

---------------------
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

You already have a root password set, so you can safely answer 'n'.

Change the root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y
... Success!

Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y
... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y
... Success!

Cleaning up...

All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!
---------------------

Tworzymy bazę danych dla Cacti. Czyli łączymy się z mysql

mysql -h localhost -u root –p

System zapyta o nasze hasło do root mysql. Wpisujemy i przechodzimy do tworzenia bazy z użytkownikiem.

create database cacti;
grant all on cacti.* to 'cacti'@'localhost' identified by 'hasło_użytkownika_cacti';
flush privileges;

Po pomyślnym wykonaniu powyższych komend wpisujemy

exit

Należy teraz ustawić uprawnienia do strefy czasu w MySQL dla Cacti. Jest to wymagane przy nowej wersji Cacti.

mysql -u root -p mysql < /usr/share/mysql/mysql_test_data_timezone.sql

oraz

mysql -u root -p -e 'grant select on mysql.time_zone_name to cacti@localhost'

Teraz edytujemy plik /etc/my.cnf

sudo nano /etc/my.cnf

Dodajemy do pliku:

[mysqld]
max_heap_table_size              = 98M
tmp_table_size                   = 64M
join_buffer_size                 = 64M
innodb_doublewrite               = off
innodb_additional_mem_pool_size  = 80M
innodb_flush_log_at_timeout      = 3
innodb_read_io_threads           = 32
innodb_write_io_threads          = 16

Zapisujemy i restartujemy usługi:

sudo systemctl restart mysql apache2

Sprawdzamy status:

sudo systemctl status mysql apache2

Instalujemy narzędzia i usługi SNMP i rrdtool oraz cron:

sudo apt-get install snmp snmpd snmp-mibs-downloader rrdtool cron -y

Edytujemy plik /etc/snmp/snmp.conf

sudo nano /etc/snmp/snmp.conf

komentujemy linie mibs dodając znak # czyli #mibs jak poniżej

# As the snmp packages come without MIB files due to license reasons, loading
# of MIBs is disabled by default. If you added the MIBs you can reenable
# loading them by commenting out the following line.
#mibs :

Zapisujemy plik i edytujemy /etc/snmp/snmpd.conf

sudo nano /etc/snmp/snmpd.conf

usuwamy # przy #agentAddress udp:161,udp6:[::1]:161 i uzupełniamy adres IP. Dlaczego? Ponieważ jest jakiś BUG w snmpd dla Raspbiana i inaczej usługa nie startuje. Czyli zostanie agentAddress udp:192.168.254.10:161,udp6:[::1]:161. Każdy wpisuje swój adres IP Raspberry.

#
#  AGENT BEHAVIOUR
#

#  Listen for connections from the local system only
agentAddress  udp:127.0.0.1:161
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)
agentAddress udp:92.168.254.10:161,udp6:[::1]:161

Przechodzimy niżej do Access Control i dodajemy

rocommunity snmpcacti localhost
rocommunity snmpcacti 192.168.254.0/25

snmpcacti może być dowolną nazwą.
W pliku sekcja ACESS CONROL będzie wyglądać przykładowo jak poniżej:

###############################################################################
#
#  ACCESS CONTROL
#

                                                 #  system + hrSystem groups only
view   systemonly  included   .1.3.6.1.2.1.1
view   systemonly  included   .1.3.6.1.2.1.25.1

                                                 #  Full access from the local host
#rocommunity public  localhost
                                                 #  Default access to basic system info
 rocommunity public  default    -V systemonly
                                                 #  rocommunity6 is for IPv6
 rocommunity6 public  default   -V systemonly

 rocommunity snmpcacti localhost
 rocommunity snmpcacti 192.168.254.0/25

                                                 #  Full access from an example network
                                                 #     Adjust this network address to match your local
                                                 #     settings, change the community string,
                                                 #     and check the 'agentAddress' setting above
#rocommunity secret  10.0.0.0/16

                                                 #  Full read-only access for SNMPv3
 rouser   authOnlyUser

Oczywiście adres IP podajemy odpowiedni dla naszej sieci LAN.
Niżej możemy przejść do sekcji System Information i zmienić dane sysLocation i sysContact na takie jak chcemy:

sysLocation    Cacti server in server room
sysContact     Admin <admin@domena.pl>

Zapisujemy zmiany i wychodzimy z pliku. Restartujemy usługę:

sudo systemctl restart snmpd.service

Sprawdzamy status

sudo systemctl status snmpd.service

Wynik powinien być podobny do tego:

● snmpd.service - Simple Network Management Protocol (SNMP) Daemon.
   Loaded: loaded (/lib/systemd/system/snmpd.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2017-11-08 23:20:07 UTC; 2min 16s ago
  Process: 11257 ExecStartPre=/bin/mkdir -p /var/run/agentx (code=exited, status=0/SUCCESS)
 Main PID: 11260 (snmpd)
   CGroup: /system.slice/snmpd.service
           └─11260 /usr/sbin/snmpd -Lsd -Lf /dev/null -u Debian-snmp -g Debian-snmp -I -smux mteTrigger mteTriggerConf -f

Nov 08 23:20:07 rpi-cacti systemd[1]: Starting Simple Network Management Protocol (SNMP) Daemon....
Nov 08 23:20:07 rpi-cacti systemd[1]: Started Simple Network Management Protocol (SNMP) Daemon..
Nov 08 23:20:07 rpi-cacti snmpd[11260]: pcilib: Cannot open /proc/bus/pci
Nov 08 23:20:07 rpi-cacti snmpd[11260]: pcilib: Cannot find any working access method.
Nov 08 23:20:07 rpi-cacti snmpd[11260]: pcilib: pci_init failed
Nov 08 23:20:07 rpi-cacti snmpd[11260]: /etc/snmp/snmpd.conf: line 148: Warning: Unknown token: defaultMonitors.
Nov 08 23:20:07 rpi-cacti snmpd[11260]: /etc/snmp/snmpd.conf: line 150: Warning: Unknown token: linkUpDownNotifications.
Nov 08 23:20:07 rpi-cacti snmpd[11260]: Turning on AgentX master support.
Nov 08 23:20:07 rpi-cacti snmpd[11260]: NET-SNMP version 5.7.3

Błędem pci_init failed nie ma co się przejmować. Jest to jakiś błąd w samym SNMPD i tak poza SNMPD działa OK.
Działanie SNMPD możemy dodatkowo zweryfikować:

snmpwalk -v 2c -c snmpcacti localhost memory

snmpcacti to jest nazwa, którą podaliśmy w konfiguracji /etc/snmp/snmpd.conf przy rocommunity.


3. Kompilacja i instalacja Cacti-Spine (opcjonalne)

Teraz czas na instalację Cacti-Spine. Jest to opcjonalne i jeżeli ktoś nie chce to może ten krok pominąć. Cacti-Spine zastępuje domyślny cmd.php pooler szybszym napisanym W C co skraca czas wykonywania poolera. W celu instalacji Cacti-Spine.
Najpierw instalujemy narzędzia i zależności potrzebne do kompilacji i instalacji Cacti-Spine.

sudo apt-get install build-essential dos2unix dh-autoreconf help2man libssl-dev libmysql++-dev libmariadb-dev libmariadbclient-dev librrds-perl libsnmp-dev -y

Przechodzimy do katalogu domowego pi i ściagamy cacti-spine czyli

cd /home/pi
wget https://www.cacti.net/downloads/spine/cacti-spine-latest.tar.gz

Wypakowujemy

tar xfz cacti-spine-latest.tar.gz

Przechodzimy do katalogu

cd cacti-spine-1.1.27/

Może być inny numer wersji. W tym celu należy sprawdzić dostępne katalogi poleceniem

ls

Po przejściu do katalogu cacti-spine-1.1.27 wpisujemy

sudo ./bootstrap

następnie

sudo ./configure

póżniej

sudo make

no i w końcu

sudo make install

Cacti-spine zostanie zainstalowane w katalogu /usr/local/spine/. Zalecane jest ustawienie SUID dla pliku wykonywalnego spine aby wspierał ICMP ping.
Zmieniamy właściciela

sudo chown root:root /usr/local/spine/bin/spine

Ustawiamy chmod

sudo chmod +s /usr/local/spine/bin/spine

Następnie edytujemy/tworzymy konfiguracje spine

sudo nano /usr/local/spine/etc/spine.conf

Ustawiamy dostęp do bazy danych Cacti

DB_Host localhost
DB_Database cacti
DB_User cacti
DB_Pass hasło_użytkownika_cacti
DB_Port 3306
DB_PreG 0

Zapisujemy plik i przechodzimy do instalacji Cacti.


4. Instalacja Cacti

Ściągamy ostatnią wersję Cacti:

wget https://www.cacti.net/downloads/cacti-latest.tar.gz

wypakowujemy

tar xfz cacti-latest.tar.gz

tworzymy katalog dla cacti

sudo mkdir /var/www/html/cacti

kopiujemy do katalogu /var/www/html/cacti (poleceniem ls należy sprawdzić jaki katalog Cacti został wypakowany. W momencie tworzenia tego opisu był to katalog cacti-1.1.27).

sudo cp -rf cacti-1.1.27/* /var/www/html/cacti

edytujemy plik config dla cacti

sudo nano /var/www/html/cacti/include/config.php

ustawiamy dane dostępu do bazy danych

$database_type     = 'mysql';
$database_default  = 'cacti';
$database_hostname = 'localhost';
$database_username = 'cacti';
$database_password = 'hasło_użytkownika_cacti';
$database_port     = '3306';
$database_ssl      = false;

importujemy bazę Cacti z pliku do bazy danych

mysql -u cacti cacti -p < /var/www/html/cacti/cacti.sql 

podajemy hasło użytkownika cacti (system zapyta o hasło)

zmieniamy właściciela katalogu www i wszystkiego co jest wewnątrz tego katalogu na użytkownika www-data

sudo chown -R www-data:www-data /var/www/

Teraz przechodzimy na stronę Cacti install czyli w przeglądarce wchodzimy na adres

http://192.168.254.10/cacti/install

Każdy podaje swój adres IP Rasperry.

Powinna się pojawić strona instalacyjna Cacti:

Klikamy Accept GPL License Agreement i Next.

Następna strona to weryfikacja ustawień systemu. Wszystko powinno się zgadzać jak na poniższym screenie:

Klikamy Next i przechodzimy dalej.
Ustawiamy serwer na opcję „New Primary Server” (domyślny wybór) i przechodzimy dalej.

Na kolejnym ekranie będzie błąd ze względu na ścieżkę /usr/local/spine/bin/spine/spine. Tym się nie przejmujemy póki co i przechodzimy dalej.

Jeżeli ktoś ma błąd przy Cacti Log Path to może wykonać następujące czynności:

sudo touch /var/www/html/cacti/log/cacti.log
chown www-data:www-data /var/www/html/cacti/log/cacti.log

Przechodzimy dalej czyli Next. Weryfikacja katalogów i uprawnień:

Wszystko jest OK więc Next.
Wybór szablonów. Zaznaczamy wszystkie dostępne.


Klikamy Finish. Powinno przejść teraz do strony logowania.

Domyślne logowanie to
Login: admin
Hasło: admin
Przy pierwszym zalogowaniu zostaniemy poproszeni o zmianę hasła.


Ustawiamy nowe hasło, save i pokaże się panel Cacti.


Czyli wszystko jest OK.

Teraz przechodzimy do ustawienia Pollera.

UWAGA: jeżeli ktoś nie instalował Cacti spine to nie zmienia pollera i zostawia cmd.php.

Console -> Configuration -> Settings -> Poller
W zakładce Poller mamy ustawienia Pollera. Zmieniamy Poller Type z cmd.php na Spine

Przechodzimy niżej strony i klikamy przycisk Save.

UWAGA: jeżeli ktoś będzie korzystać ze Spine to wykonuje tą część

Teraz klikamy na zakładkę Paths i zmieniamy ścieżkę do Spine na /usr/local/spine/bin/spine oraz ustawiamy ścieżkę Spine Config File Path na /usr/local/spine/etc/spine.conf

Klikamy przycisk Save. Tam gdzie był błąd przy Spine Binary File Location powinien się pojawić znaczek, że jest OK.

Teraz dodamy jakiś wykres. Na początek z maszyny lokalnej na której pracuje Cacti. Przechodzimy do Console -> Management -> Devices i klikamy na + w prawym górnym rogu tabelki Devices.

Ustawiamy dane urządzenia czyli nazwę, adres itd.

Description – określa opis urządzenia tutaj ustawiłem „Rpi Cacti”
Hostname – adres urządzenia czyli 127.0.0.1
Device Template – ustawiamy Local Linux Machine
SNMP Version – Version 2
SNMP Community – czyli to co ustawialiśmy przy konifugracji SNMPD w moim przypadku jest to nazwa snmpcacti
SNMP Port – 161
Downed Device Detection – SNMP Uptime

Po ustawieniu klikamy przycisk Create. Po utworzeniu urządzenia zostanie wyświetlona strona zarządzania utworzonym urządzeniem.

Klikamy napis w prawym górnym rogu „Create Graphs for this device”. Przejdzie to nam do strony tworzenia wykresów. Zaznaczamy pozycje z których chcemy mieć wykresy.

Po zaznaczeniu klikamy przycisk Create.
Kolejna strona to kolory. Jak ktoś chce to może je pozmieniać. Klikamy przycisk Create i przechodzimy dalej.

Teraz dla zachowania porządku możemy dodać urządzenie do odpowiedniego drzewka/kategorii wykresów. Drzewa tworzymy w Console -> Management -> Trees. W tabelce Trees w prawym gónym rogu jest + (plus), którym dodajemy nową kategorię/drzewo. Jak ktoś chce to może dodać nowe. Ja pokaże jak przypisać urządzenie do wybranej kategorii
Przechodzimy teraz do Console -> Management -> Devices i zaznaczamy w kwadraciku po prawej stronie nasze urządzenie. Przy przycisu GO jest pole rozwijalne. Rozwijamy je i wybieramy opcję Place on a Tree (Default Tree).

Następnie klikamy przycisk GO. Jeżeli bęzie dostępnych więcej kategorii/drzew to będzie więcej opcji Place on a Tree (nazwa).
W następnym oknie zostawiamy tak jak jest i klikamy continue

Teraz w Raspberry edytujemy crontab (jeżeli zapyta o edytor to wybieramy nano)

sudo crontab -u www-data -e

dodajemy wpis

*/5 * * * * php /var/www/html/cacti/poller.php > /var/www/html/cacti/log/cron.log

Zapisujemy i wychodzimy.
Teraz pozostaje poczekać minimum 5-10 min żeby cokolwiek się zaczęło pojawiać na wykresach. Wykresy możemy podejrzeć wchodząc w Cacti w zakładkę Graphs, rozwijamy drzewo Default tree i klikamy na dodane urządzenie. Pojawi się ekran z wykresami. Na początku będzie to zapewne wyglądać tak jak na screenie. Czyli wykresy bez danych. Jak już Cacti jakieś dane zbierze wówczas zaczną się one pojawiać na wykresie.

Tutaj screen jak już Cacti zebrało jakieś dane i naniosło na wykres

Jeżeli ktoś chce mieć SSL (https) to należy wykonać:

sudo a2enmod ssl
sudo a2ensite default-ssl.conf
sudo systemctl restart apache2

SSL włączone i można się łączyć z Cacti przez https (SSL z certyfikatem self-signed).


5. Odświeżanie co 1 minutę (Cacti 1 minute poll – opcjonalne)

Jeżeli dla kogoś polling danych co 5 minut to za mało to można ustawić Cacti aby to działało z rozdzielczością 1 minuty. Żeby ustawić odświeżanie danych co 1 minutę (1 minute poller) należy przejść najpierw do zakładki Console -> Presets -> Data profiles. W tabelce Data Source Profiles kliknąć na + (add) i dodać nowy profil. Pojawi się okno z dodawaniem nowego profilu.


Name – dowolna tutaj dla przykładu 1 minute rate poller.
Polling Interval – Every minute
Heartbeat – 2 minutes
X-Files Factor – 0.5
Consolidation Functions – zaznaczamy wszystkie
Default – zaznaczamy

Klikamy create. Po utworzeniu pojawi się tabelka Data Source Profile RRAs (press save to update timespans).

Klikamy na + (add) w prawym rogu tej tabelki i dodajemy kolejne profile

Po wpisaniu wszystkiego klikamy Create. Teraz to samo dla kolejnych profili (czyli +, wpisać dane i create, dane jak poniżej na screenach).

Widok końcowy

Klikamy Save.

Teraz przechodzimy do konsoli. Zmieniamy wpis w cronie

sudo crontab -u www-data -e

zmieniamy 5 na 1 czyli będzie wpis

*/1 * * * * php /var/www/html/cacti/poller.php > /var/www/html/cacti/log/cron.log

Przechodzimy teraz do zakładki Console -> Templates -> Data source. Tutaj wybieram Profile „All”, Data Templates „50” (żeby wyświetliło wszystkie, na początku więcej niż 50 ich nie ma) zaznaczamy wszystkie szablony. Na samym dole z listy rozwijalnej przy przycisku GO wybieramy Change profile i wciskamy przycisk GO. Pojawi się okienko gdzie wybieramy „New Data Source Profile” na nasz nowy utworzony czyli 1 Minute rate poller.

Klikamy przycisk Continue.
Przechodzimy teraz do zakładki Console -> Utilities -> System utilities i klikamy opcję Rebuild Poller Cache. Jest to konieczne aby wszystko działało jak należy. Po tym zabiegu mamy Cacti z pollerem 1 minutowym.


6. Podsumowanie

Więcej pomocy na temat tworzenia wykresów, podłączania urządzeń znajdziecie na stronie Cacti oraz na forach związanych z Cacti. Można znaleźć także gotowe szablony oraz wtyczki do urządzeń takich jak np. Mikrotik. Temat jest dość obszerny i wątpię abym zdołał tutaj opisać wszystko co można zrobić i co kto chciałby zrobić. U mnie w domu monitoruję tak router Mikrotik, serwer domowy, strony webowe (czy żyją) itd. Cacti ma także możliwość odpytywania wskazanych portów TCP/UDP, a także można dołożyć własne skrypty aby badać stan jakichś specyficznych usług. Możliwości jest naprawdę wiele.

Powodzenia w dalszym użytkowaniu Cacti i zgłębianiu wiedzy na temat SNMP i monitoringu urządzeń i serwerów. Opis instalacji i konfiguracji jest dość obszerny więc możliwe, że gdzieś wkradły się jakieś błędy aczkolwiek dokładam wszelkich starań aby opis był jak najbardziej dokładny i umożliwiał sprawne uruchomienie przedstawionego narzędzia.

Dokumentacja Cacti: https://docs.cacti.net/wiki:documentation

You can leave a response, or trackback from your own site.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Powered by WordPress | Designed by: NewWpThemes | Provided by Free WordPress Themes