Cacti je open-source webový nástroj pro monitorování sítě navržený jako front-end aplikace pro RRDtool (nástroj Round-Robin Database), umožňuje uživateli dotazovat se služeb v časových intervalech a výsledkem je formát grafu.
Cacti se používá k získání grafových dat pro CPU a využití šířky pásma sítě, monitoruje síťový provoz dotazováním routeru nebo přepínače přes SNMP.
Zde uvidíme, jak nainstalovat Cacti na CentOS 7 / RHEL 7.
Předpoklady
Nastavení úložiště EPEL
Nastavte pouze úložiště EPEL CentOS 7 / RHEL 7.
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Nainstalovat SNMP
Nainstalujte SNMP a RRDTool.
yum -y install net-snmp net-snmp-utils net-snmp-libs rrdtool
Nainstalujte rozšíření PHP a PHP
Verze PHP dostupná v základním úložišti OS již skončila a pro instalaci Cacti možná budete muset přejít na PHP v7.2+.
K instalaci PHP 7.x.
tedy použijeme úložiště RemiČTĚTE: Jak nainstalovat PHP 7.3/7.2 na CentOS 7 / RHEL 7
yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
PHP v7.3
yum install -y --enablerepo=remi-php73 php php-xml php-session php-sockets php-ldap php-gd php-gmp php-intl php-mbstring php-mysqlnd php-pdo php-process php-snmp
PHP v7.2
yum install -y --enablerepo=remi-php723 php php-xml php-session php-sockets php-ldap php-gd php-gmp php-intl php-mbstring php-mysqlnd php-pdo php-process php-snmp
Nainstalujte MariaDB
Balíček MariaDB (v5.4) dostupný v základním úložišti OS nesplňuje minimální požadavky Cacti, protože Cacti vyžaduje pro instalaci MariaDB v5.6+ nebo MariaDB v10+. Nainstalujte si tedy nejnovější verzi MariaDB dostupnou z oficiálního webu komunity MariaDB.
ČTĚTE: Jak nainstalovat MariaDB na CentOS 7 / RHEL 7
Můžete také nainstalovat MySQL 8 na CentOS 7 / RHEL 7 jako databázi pro instalaci Cacti### CentOS 7 ### cat <<EOF>> /etc/yum.repos.d/mariadb.repo [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.4/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 EOF ### RHEL 7 ### cat <<EOF>> /etc/yum.repos.d/mariadb.repo [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.4/rhel7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 EOF
Nainstalujte server MariaDB pomocí následujícího příkazu.
yum install -y MariaDB-server MariaDB-client
Ladění databáze
Cacti doporučují změnit nastavení MariaDB pro lepší výkon. Upravte konfigurační soubor MariaDB.
vi /etc/my.cnf.d/server.cnf
Přidejte proměnné v sekci [mysqld].
collation-server = utf8mb4_unicode_ci character-set-server=utf8mb4 max_heap_table_size = 64M tmp_table_size = 64M join_buffer_size = 64M innodb_file_format = Barracuda innodb_large_prefix = 1 innodb_flush_log_at_timeout = 3 innodb_buffer_pool_size = 1GB innodb_buffer_pool_instances = 10 # Based on what type for storage you use. The below values are for SSD drives. # Change it if Cacti reports issues during the installation innodb_read_io_threads = 32 innodb_write_io_threads = 16 innodb_io_capacity = 5000 innodb_io_capacity_max = 10000
Spustit a povolit služby
Spusťte následující služby.
systemctl start httpd snmpd mariadb
Povolte automatické spouštění služeb při spouštění systému.
systemctl enable httpd snmpd mariadb
Vytvořit databázi
Pokud konfigurujete MySQL poprvé; podívejte se, jak zabezpečit MariaDB.
Vytvořte databázi pro instalaci Cacti.
mysql -u root -p
Vytvořte databázi pro kaktusy.
create database cacti;
Udělte oprávnění nově vytvořené databázi.
GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactipassword'; flush privileges; exit
Nově vytvořený uživatel databáze (cactiuser ) by měl mít přístup k tabulce mysql.time_zone_name. Chcete-li to provést, nejprve importujte soubor mysql_test_data_timezone.sql do databáze mysql.
mysql -u root -p mysql < /usr/share/mysql/mysql_test_data_timezone.sql
Poté se přihlaste do MySQL.
mysql -u root -p
Udělte svolení kaktiusovi.
GRANT SELECT ON mysql.time_zone_name TO cactiuser@localhost; flush privileges; exit
Instalovat kaktusy
Pomocí příkazu yum na CentOS / RHEL nainstalujte balíček Cacti.
yum -y install cacti
Importujte výchozí databázi do databáze kaktusů.
mysql cacti < /usr/share/doc/cacti-*/cacti.sql -u root -p
Upravte konfigurační soubor a zadejte informace o typu databáze, názvu, názvu hostitele, uživateli a hesle.
vi /usr/share/cacti/include/config.php
Proveďte příslušné změny.
/* make sure these values reflect your actual database/host/user/password */ $database_type = "mysql"; $database_default = "cacti"; $database_hostname = "localhost"; $database_username = "cactiuser"; $database_password = "cactipassword"; $database_port = "3306"; $database_ssl = false;
Upravte soubor crontab.
vi /etc/cron.d/cacti
Odkomentujte následující záznam do hlasování každých pět minut.
*/5 * * * * apache /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1
Nastavte časové pásmo úpravou souboru /etc/php.ini.
vi /etc/php.ini
Aktualizujte časové pásmo.
date.timezone = US/Central memory_limit = 512M max_execution_time = 60
Upravte konfigurační soubor Apache a proveďte vzdálenou instalaci.
vi /etc/httpd/conf.d/cacti.conf
Upravte první stanzu adresáře z Vyžadovat hostitele localhost.
Alias /cacti /usr/share/cacti <Directory /usr/share/cacti/> <IfModule mod_authz_core.c> # httpd 2.4 Require host localhost </IfModule> <IfModule !mod_authz_core.c> # httpd 2.2 Order deny,allow Deny from all Allow from localhost </IfModule> </Directory>
Chcete-li vyžadovat vše uděleno.
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 localhost </IfModule> </Directory>
Restartujte služby.
systemctl restart httpd
Firewall
Nakonfigurujte bránu firewall tak, aby umožňovala službu HTTP.
firewall-cmd --permanent --add-service=http firewall-cmd --reload
SELinux
Nastavte kontext SELinux pro protokoly Cacti.
yum install -y policycoreutils-python semanage fcontext -a -t httpd_sys_rw_content_t "/var/log/cacti(/.*)?" restorecon -Rv /var/log/cacti/Pokud stále nejste schopni zajistit, aby Cacti fungovaly správně, zvažte trvalé vypnutí SELinuxu. Chcete-li dočasně deaktivovat SELinux, spusťte v terminálu následující příkaz.
setenforce 0
Nastavení kaktusů
Navštivte následující URL a zahajte instalaci kaktusů.
http://vaše-ip-adresa/kaktusyPřihlaste se do Cacti a nastavte instalaci Cacti.
Uživatelské jméno: správce
Heslo: správce
Před nastavením Cacti musíte změnit heslo správce Cacti.
Přijměte licenční ujednání na této stránce a pokračujte kliknutím na Další.
Cacti provádějí předinstalační kontroly pro instalaci Cacti. Pokud se ohlásí průvodce instalací, musíte problémy opravit.
Přejděte na další krok kliknutím na tlačítko Další umístěné v pravé dolní části stránky.
Vyberte Nový primární server nebo novou instalaci a poté klikněte na Další.
Tento krok zkontroluje a nahlásí problémy s oprávněními, které můžete mít v instalačním adresáři Cacti.
Ukáže vám, zda nějaký balíček chybí, což je pro kaktusy povinné.
Klikněte na Další na stránce výchozího profilu, protože jsme již nakonfigurovali cron tak, aby se každých pět minut dotazoval.
Vyberte všechny šablony a klikněte na Dokončit pro dokončení instalace Cacti.
Na poslední stránce souhrnu testu klikněte na Další.
Vyberte Confirm Installation a stiskněte Install pro zahájení instalace Cacti.
Počkejte na dokončení instalace.
Za minutu nebo dvě bude instalace Cacti dokončena.
Kliknutím na Začínáme na výše uvedené stránce se dostanete přímo na hlavní panel kaktusů. Jinak se můžete do Cacti přihlásit pomocí uživatelského jména a hesla, které jste nastavili během instalace Cacti.
Přístup k kaktusům
Zadejte uživatelské jméno a heslo pro přihlášení do Cacti.
Uživatelské jméno: správceHeslo:
Hlavní panel kaktusů:
Ve výchozím nastavení bude místní počítač (váš server Cacti) přidán pro sledování v Cacti. Můžete přejít na Grafy>> Výchozí strom>> Místní počítač se systémem Linux zobrazíte graf využití serveru Cacti.
Závěr
To je vše. Doufám, že jste se naučili, jak nainstalovat Cacti na CenOS 7 / RHEL 7. Nyní se můžete podívat, jak monitorovat vzdálené počítače s Linuxem pomocí nástroje pro monitorování Cacti. Podělte se o svůj názor v sekci komentářů.