piątek, 12 lutego 2016

Centos 7 i Cacti - Instalacja oraz konfiguracja

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