[1] Cacti – Instalacja
14 lutego 2022Zainstaluj Cacti, aby monitorować stan systemu.
[1] Zainstaluj i uruchom serwer httpd Apache, patrz tutaj.
[2] Zainstaluj PHP 7.4, patrz tutaj.
[3] Zainstaluj i uruchom serwer MariaDB, patrz tutaj.
[4] Zainstaluj Cacti i SNMP.
# zainstaluj z EPEL [root@vlsr01 ~]# dnf --enablerepo=epel install cacti net-snmp net-snmp-utils php-mysqlnd php-snmp php-bcmath rrdtool
[5] Skonfiguruj SNMP (Simple Network Management Protocol).
[root@vlsr01 ~]# mcedit /etc/snmp/snmpd.conf # linia 41: zakomentuj #com2sec notConfigUser default public # linie 74,75: odkomentuj i zmień # zmień [mynetwork] na Twoją sieć # zmień nazwę społeczności (comunity) opróćż publicznej i prywatnej (ze względu na bezpieczeństwo) ## sec.name source community com2sec local localhost ZICHERLAB com2sec mynetwork 192.168.100.0/24 ZICHERLAB # linie 78,79: odkomentuj i zmień ## group.name sec.model sec.name group MyRWGroup v2c local group MyROGroup v2c mynetwork # linia 85: odkomentuj ## incl/excl subtree mask view all included .1 80 # linie 93,94: odkomentuj i zmień ## context sec.model sec.level prefix read write notif access MyROGroup "" v2c noauth exact all none none access MyRWGroup "" v2c noauth exact all all all [root@vlsr01 ~]# systemctl enable --now snmpd # sprawdź ustawienia [root@vlsr01 ~]# snmpwalk -v2c -c ZICHERLAB localhost system SNMPv2-MIB::sysDescr.0 = STRING: Linux vlsr01.zicher.lab 4.18.0-358.el8.x86_64 #1 SMP Mon Jan 10 13:11:20 UTC 2022 x86_64 SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (5463) 0:00:54.63 SNMPv2-MIB::sysContact.0 = STRING: Root <root@localhost> (configure /etc/snmp/snmp.local.conf) SNMPv2-MIB::sysName.0 = STRING: vlsr01.zicher.lab . . . . .
[6] Zmień ustawienie MariaDB, tak by spoełnić wymagania Cacti.
[root@vlsr01 ~]# mcedit /etc/my.cnf.d/mariadb-server.cnf # dodaj w sekcji [mysqld] default-time-zone='Europe/Warsaw' character-set-server=utf8mb4 character_set_client=utf8mb4 collation-server=utf8mb4_unicode_ci max_heap_table_size=128M tmp_table_size=128M join_buffer_size=256M innodb_file_format=Barracuda innodb_large_prefix=1 innodb_buffer_pool_size=2048M innodb_flush_log_at_timeout=3 innodb_read_io_threads=32 innodb_write_io_threads=16 innodb_buffer_pool_instances=17 innodb_io_capacity=5000 innodb_io_capacity_max=10000 [root@vlsr01 ~]# mcedit /etc/my.cnf.d/cacti.cnf #stwórz nowy [mysqld] innodb_doublewrite = OFF # zastosuj ustawienia strefy czasowej [root@vlsr01 ~]# mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql Enter password: # wpisz hasło root@MariaDB Warning: Unable to load '/usr/share/zoneinfo/leapseconds' as time zone. Skipping it. Warning: Unable to load '/usr/share/zoneinfo/tzdata.zi' as time zone. Skipping it. [root@vlsr01 ~]# systemctl restart mariadb
[7] Stwórz bazę dla Cacti i zaimportuj tabele.
[root@vlsr01 ~]# mysql -u root -p Enter password: # wpisz hasło root@MqriaDB Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 3 Server version: 10.5.9-MariaDB MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> create database cacti; Query OK, 1 row affected (0.000 sec) MariaDB [(none)]> grant all privileges on cacti.* to cacti@'localhost' identified by 'TajneHasło'; Query OK, 0 rows affected (0.002 sec) MariaDB [(none)]> grant select on mysql.time_zone_name to cacti@'localhost'; Query OK, 0 rows affected (0.002 sec) MariaDB [(none)]> flush privileges; Query OK, 0 rows affected (0.000 sec) MariaDB [(none)]> exit Bye [root@vlsr01 ~]# mysql -u cacti -p cacti < /usr/share/doc/cacti/cacti.sql Enter password: # wpisz hasło cacti@MariaDB
[8] Jeżeli SELinux jest włączony zmień zasady polityki.
[root@vlsr01 ~]# setsebool -P httpd_can_network_connect on [root@vlsr01 ~]# setsebool -P httpd_unified on [root@vlsr01 ~]# setsebool -P domain_can_mmap_files on [root@vlsr01 ~]# mcedit cacti-phpfpm.te # stwórz nowy module cacti-phpfpm 1.0; require { type admin_home_t; type httpd_t; type httpd_log_t; class file { getattr map open read unlink write }; class dir { remove_name }; } #============= httpd_t ============== allow httpd_t admin_home_t:file map; allow httpd_t admin_home_t:file { getattr open read }; allow httpd_t httpd_log_t:dir remove_name; allow httpd_t httpd_log_t:file { unlink write }; [root@vlsr01 ~]# checkmodule -m -M -o cacti-phpfpm.mod cacti-phpfpm.te [root@vlsr01 ~]# semodule_package --outfile cacti-phpfpm.pp --module cacti-phpfpm.mod [root@vlsr01 ~]# semodule -i cacti-phpfpm.pp
[9] Skonfiguruj Cacti i pozostałe rzeczy.
[root@vlsr01 ~]# mcedit /etc/cron.d/cacti # odkomentuj */5 * * * * apache /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1 [root@vlsr01 ~]# mcedit /usr/share/cacti/include/config.php # linia 29: zmień na parametry ustawione do użytkownika [cacti] w MariaDB $database_type = "mysql"; $database_default = "cacti"; $database_hostname = "localhost"; $database_username = "cacti"; $database_password = "TajneHasło"; $database_port = "3306"; $database_ssl = false; [root@vlsr01 ~]# mcedit /etc/php.ini # linia 388: zmień na wartość rekomendowaną przez Cacti max_execution_time = 60 # linia 409: zmień na wartość rekomendowaną przez Cacti memory_limit = 512M # linia 923: ustaw domyślną strefę czasową (ustaw Twoją) date.timezone = Europe/Warsaw [root@vlsr01 ~]# mcedit /etc/httpd/conf.d/cacti.conf # linia 17: dodaj uprawnienia do dostępu Require host localhost Require ip 192.168.100.0/24 [root@vlsr01 ~]# systemctl restart httpd php-fpm