Cacti - oprogramowanie open source służące do monitorowania pracy urządzeń telekomunikacyjnych oraz komputerowych. Służy również do archiwizacji wyników pomiarów pracy tych urządzeń oraz do przedstawiania wyników tych pomiarów w formie wykresów.
Celem poniższego opisu jest stworzenie wykresów ruchu w sieci na różnych portach urządzenia.
Przydatne narzędzie:
PuTTY
Instalujemy Apache, serwer internetowy do wyświetlania wykresów
yum install httpd httpd-devel
Instalujemy MariaDB, miejsce gdzie będą przechowywane dane
yum install mariadb-server -y
Instalacja PHP
yum install php-mysql php-pear php-common php-gd php-devel php php-mbstring php-cli
Rozszerzenie dla PHP
yum install php-snmp
Protokół SNMP używane do zarządzania siecią
yum install net-snmp-utils net-snmp-libs
RRDTool dla gromadzenia i przetwarzania danych
yum install rrdtool
1. Uruchamiamy usługi:
systemctl start httpd.service
systemctl start mariadb.service
systemctl start snmpd.service
2. Robimy linki dla Start-up
systemctl enable httpd.service
systemctl enable mariadb.service
systemctl enable snmpd.service
3. Dodajemy repozytorium EPEL niezbędne do instalacji Cacti
yum install wget
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
rpm -ivh epel-release-7-5.noarch.rpm
Sprawdzamy repozytoria, dostępność i instalujemy Cacti
yum repolist
yum --enablerepo=epel info cacti
yum install cacti
4. Konfigurujemy bazę danych
mysqladmin -u root password USTALONE-HASLO
mysql -u root -p
create database cacti;
GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY 'USTALONE-HASLO';
FLUSH privileges;
exit;
5. Wgrywamy tabale do bazy danych
Wracamy do folderu root i wyszukujemy cacti.sql
rpm -ql cacti | grep cacti.sql
Otrzymamy ścieżkę:
/usr/share/doc/cacti-0.8.8b/cacti.sql
Importujemy tabele:
mysql -u cacti -p cacti < /usr/share/doc/cacti-0.8.8b/cacti.sql
6. Edytujemy plik
/etc/cacti/db.php
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "USTALONE-HASLO";
$database_port = "3306";
$database_ssl = false;
6a. Jeżli łączymi się z serwerem zewnętrzym należy zezwolić na nawiązywanie połączenia:
setsebool -P httpd_can_network_connect 1
7. Przepuszczamy ruch HTTP przez firewall'a
iptables -A INPUT -p udp -m state --state NEW --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW --dport 80 -j ACCEPT
8. Edytujemy plik
/etc/httpd/conf.d/cacti.conf
Alias /cacti /usr/share/cacti
<Directory /usr/share/cacti/>
<IfModule mod_authz_core.c>
# httpd 2.4
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
# httpd 2.2
Order deny,allow
Deny from all
Allow from all
</IfModule>
</Directory>
9. Restart serwera Apache
systemctl restart httpd.service
10. Edytujemy plik
/etc/cron.d/cacti i usuwamy # na początku linii
11. W pliku
/etc/php.ini ustalamy
safe_mode = Off
date.timezone = "Europe/Berlin"
12. Uruchamiamy stronę naszego serwera:
http://adres-ip/cacti/
Przechodzimy formularz:
Next >>
New Install i Next >>
Finish
13. Logujemy się i zmieniamy hasło
Domyślne hasło i login to admin / admin
14. Logujemy się na NETASQ i włączamy moduł SNMP
15. Na stronie Cacti dodajemy urządzenie od którego będą zbierane dane
Klikamy New Graphs, następnie Create New Host
Wypełniamy formularz:
Nazwę użytkownika i hasło wpisujemy takie jak ustalono w urządzeniu (NETASQ) z którego otrzymywane są dane. Po udanym połączeniu zostaniemy poinformowani komunikatem Save Successfull.
16. Wchodzimy do Management > Devices i klikamy na nasze urządzenie, na samym dole w tabeli Associated Data Queries z rozwijanej listy wybieramy SNMP - Interface Statistics i zatwierdzamy przyciskiem Add
17. Na górze strony klikamy
*Create Graphs for this Host, zaznaczamy porty dla których mają być tworzone wykresy i klikamy Create.
Możemy dostosować wykres (np. nazwę) jak uważamy wchodząc do Management > Graph Management i kliknąć na nazwę wykresu, który chcemy dostosować.
18. Klikamy na Management > Graph Trees
Możemy stworzyć dowolnie nazwaną grupę jeśli chcemy uporządkować więcej urządzeń, albo przechodzimy do tworzenia w domyślnej grupie, klikamy Default tree i Add.
i ustawiamy jak na obrazku poniżej
Wszystko jest gotowe, pierwsze wykresy mogą pojawić się dopiero po 5-10 minutach.
19. Zrobimy kosmetyczna korektę, aby w adresie www nie trzeba było dopisywać
http://adres-ip/cacti.
Wchodzimy do pliku, który jest odpowiedzialny za wyświetlanie strony pod adresem
http://adres-ip/
Wchodzimy do
/usr/share/httpd/noindex/ i czyścimy plik
index.html poleceniem
cat > index.html
i naciskamy [CTRL] + [Z], edytujemy plik wklejając poniższy kod podmieniająć
adres-ip na właściwy.
<html><head><meta http-equiv="refresh" content="0; url=http://adres-ip/cacti" /></head></html>
Zapisujemy i wszystko gotowe !
Efekt po kilkunastu minutach działania