RHEL 시스템에 Cacti (네트워크 모니터링) 도구 설치하는 방법

Cacti 도구는 IT 비즈니스에서 네트워크 모니터링 및 시스템 그래픽을 위한 오픈 소스 웹 기반 솔루션입니다. Cacti를 사용하면 사용자가 정기적으로 서비스를 폴링하여 RRDtool을 사용하여 그래프를 생성할 수 있습니다.

일반적으로 네트워크 대역폭 사용률, CPU 부하, 실행 중인 프로세스, 디스크 공간 등과 같은 메트릭을 위한 시계열 데이터를 그래프로 나타내는 데 사용됩니다.

Cacti라는 포괄적인 네트워크 모니터링 애플리케이션을 Net-SNMP 도구를 사용하여 RHEL 기반 배포판CentOS Stream, Fedora, Rocky, 그리고 Alma Linux에 설치하고 설정하는 방법을 설명하겠습니다. 이를 위해 YUMDNF 패키지 관리자 도구를 사용할 것입니다.

Cacti 필수 패키지

Cacti를 사용하려면 Linux 운영 체제에 다음 패키지를 설치해야 합니다.

  • Apache : PHPRRDTool로 생성된 네트워크 그래프를 표시하기 위한 웹 서버입니다.
  • MySQL : Cacti 정보를 저장하기 위한 데이터베이스 서버입니다.
  • PHP : RRDTool을 사용하여 그래프를 생성하는 스크립트 모듈입니다.
  • PHP-SNMP : 데이터에 액세스하기 위한 PHP 확장 기능으로, SNMP를 지원합니다.
  • NET-SNMP : 네트워크 관리에 사용되는 SNMP (Simple Network Management Protocol)입니다.
  • RRDTool : 시간 시리즈 데이터를 관리하고 검색하는 데이터베이스 도구로 CPU 부하, 네트워크 대역폭 등을 포함합니다.

데모 목적으로, 우리는 Cacti 도구를 설치하기 위해 Rocky Linux 9를 사용했지만, 동일한 지침은 모든 RHEL 기반 배포판에서 작동합니다.

단계 1: 리눅스에서 필수 패키지 설치

먼저, 시스템의 패키지 저장소를 업데이트하여 사용 가능한 소프트웨어 패키지의 최신 버전을 보장하세요.

sudo dnf update

다음으로, 다음 명령을 사용하여 Cacti 및 해당 종속성에 필요한 패키지를 설치하세요.

sudo dnf install net-snmp-utils net-snmp-libs rrdtool php-mysqlnd php-snmp php-xml php-gd mariadb-server httpd
Install Cacti Required Packages

단계 2: 리눅스에 Cacti 도구 설치

Cacti를 설치하려면 시스템에서 EPEL 저장소가 활성화되어 있는지 확인하세요.

sudo yum install epel-release

EPEL 저장소가 활성화되면 다음 명령을 실행하여 Cacti를 설치할 수 있습니다.

sudo yum install cacti
Install Cacti in Linux

단계 3: MariaDB 데이터베이스 보안

MySQLCacti에 구성하기 위해 먼저 새로 설치된 MySQL 서버를 보호하고 그런 다음 사용자 “Cacti”로 Cacti 데이터베이스를 생성해야 합니다. MySQL이 이미 설치되고 보안되어 있는 경우 이 단계를 다시 수행할 필요가 없습니다.

sudo mysql_secure_installation

루트 암호를 설정하고 익명 사용자를 제거하고 원격 루트 로그인을 금지하고 테스트 데이터베이스를 제거하려면 프롬프트에 따라 진행하세요.

Secure MySQL Installation

단계 4: Cacti 데이터베이스 생성

MySQL 서버에 새로 생성된 암호를 사용하여 로그인한 다음 사용자 “Cacti”로 Cacti 데이터베이스를 생성하십시오.

sudo mysql -u root -p
CREATE DATABASE cacti;
CREATE USER 'cacti'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON cacti.* TO 'cacti'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Create Cacti Database

다음으로, 새로 생성된 데이터베이스에 기본 Cacti 데이터베이스 스키마를 가져와야하지만, 이전에 rpm 명령을 사용하여 데이터베이스 파일 경로를 찾은 후에 가져와야합니다.

sudo rpm -ql cacti | grep cacti.sql
sudo mysql -u cactiuser -p cacti < /usr/share/doc/cacti/cacti.sql
Import Cacti Database

단계 5: Cacti 데이터베이스 연결 구성

Cacti 데이터베이스 연결을 구성하려면 구성 파일을 열어야합니다.

sudo vi /etc/cacti/db.php

다음 줄을 데이터베이스 정보로 업데이트하십시오.

$database_type     = 'mysql';
$database_default  = 'cacti';
$database_hostname = 'localhost';
$database_username = 'cacti';
$database_password = 'your_password';
Configure Cacti Database Settings

단계 6: Cacti용 Apache 구성

선택한 편집기로 /etc/httpd/conf.d/cacti.conf 파일을 엽니다.

sudo vi /etc/httpd/conf.d/cacti.conf

다음 줄을 파일에 추가하십시오.

Alias /cacti /usr/share/cacti
<Directory /usr/share/cacti/>
    Options +FollowSymLinks
    AllowOverride None
    <IfModule mod_authz_core.c>
        # Apache 2.4
        Require all granted
    </IfModule>
    <IfModule !mod_authz_core.c>
        # Apache 2.2
        Order Deny,Allow
        Deny from all
        Allow from all
    </IfModule>
</Directory>

파일을 저장하고 닫습니다.

마지막으로 변경 사항을 적용하려면 Apache 및 MariaDB 서비스를 다시 시작하십시오.

sudo systemctl restart httpd
sudo systemctl restart mariadb

단계 7: Cacti 크론 작업 구성

이제 크론 탭 파일을 열어 Cacti의 폴링 간격을 예약하십시오.

sudo vi /etc/cron.d/cacti

다음 줄에서 주석을 제거하십시오. poller.php 스크립트는 알려진 호스트에서 데이터를 수집하기 위해 5분마다 실행되며, 이 데이터는 Cacti가 그래프를 생성하는 데 사용됩니다.

*/5 * * * *    cacti   /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1

단계 8: Cacti 웹 인터페이스에 액세스

선인장 웹 인터페이스에 액세스하려면 방화벽에서 포트 80을 열어 해당 포트로의 들어오는 트래픽을 허용해야합니다.

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload

이제 서버의 IP 주소 또는 도메인 이름을 사용하여 웹 브라우저를 통해 선인장에 액세스 할 수 있습니다.

http://your_server_ip/cacti
OR
http://domain.com/cacti

이제 설치 프로세스를 완료하려면 화면에 표시된 지침을 따르십시오.

User: admin
Password: admin
Cacti User Login

다음으로, 기본 선인장 암호를 변경하십시오.

Change Cacti Admin Password

선인장 라이선스 계약을 수락하십시오.

Accept Cacti License Agreement

다음으로, 선인장 설치에 대한 사전 설치 확인 사항이 표시됩니다. 변경 사항을 가한 후에는 /etc/php.ini 파일에서 제안된 설정을 수정하고 변경 사항을 적용한 후 아파치를 다시 시작하십시오.

memory_limit = 800M
max_execution_time = 60
date.timezone = Asia/Kolkata
Cacti Pre-installation Checks

마찬가지로 사용자 선인장에 대한 MySQL TimeZone 데이터베이스 액세스 권한을 부여해야하며, 이를 통해 데이터베이스가 전역 TimeZone 정보로 채워집니다.

mysql> use mysql;
mysql> GRANT SELECT ON mysql.time_zone_name TO cacti@localhost;
mysql> flush privileges;
Cacti MySQL Pre-Installation Checks

새 설치“로 설치 유형을 선택하십시오.

Select Cacti Installation Type

계속하기 전에 모든 다음 디렉토리 권한이 올바른지 확인하십시오.

Cacti Directory Permission Checks

계속하기 전에 모든 이러한 중요한 바이너리 위치 및 버전 값이 올바른지 확인하십시오.

Critical Binary Locations and Versions

폴링 소스에 사용할 기본 데이터 소스 프로필을 선택하십시오.

Select Data Source Profile

선인장 설치 후 사용하려는 장치 템플릿을 선택하십시오.

Select Cacti Device Templates

MySQL 구성 파일 /etc/my.cnf[mysqld] 섹션에서 서버 콜레이션을 설정하십시오.

[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
Set Server Collation

선인장 서버가 거의 준비되었습니다. 계속하시기 전에 진행하시기에 만족하신다면 확인하십시오.

Cacti Installation Process
Installing Cacti Server
Cacti Dashboard

축하합니다! RHEL 기반 시스템에 Cacti를 성공적으로 설치했습니다. 이제 Cacti 웹 인터페이스 내에서 장치를 추가하고 그래프를 생성하며 경고를 설정하여 네트워크 인프라를 모니터링할 수 있습니다.

Source:
https://www.tecmint.com/install-cacti-network-monitoring-on-rhel-centos-fedora/