네트워크 모니터링 · 6 min read · Dec 07, 2025

Debian 11에 Cacti 네트워크 모니터링 도구 설치하는 방법

Cacti는 PHP로 작성된 오픈 소스 웹 기반 네트워크 모니터링 도구입니다. Cacti는 업계 표준 RRDtool의 프론트 엔드입니다. Cacti는 SNMP(간단한 네트워크 관리 프로토콜)를 사용하여 CPU 부하 및 네트워크 대역폭 사용 그래프를 생성합니다. 스위치, 라우터 및 서버와 같은 네트워크 장치를 모니터링하도록 특별히 설계되었습니다. Cacti는 다양한 그래프를 생성하기 위해 필요한 모든 데이터를 MySQL 데이터베이스에 저장합니다.

이 가이드는 Debian 11에 Cacti 모니터링 도구를 설치하는 방법을 보여줍니다.

전제 조건

  • Debian 11이 실행되는 서버.
  • 서버에 루트 비밀번호가 설정되어 있어야 합니다.

시작하기

시작하기 전에 기본 시스템을 최신 버전으로 업데이트하는 것이 항상 좋은 아이디어입니다. 다음 명령을 실행하여 모든 패키지를 업데이트합니다:

sudo apt update
sudo apt upgrade

패키지 업데이트 후 다음 설치 단계로 진행할 수 있습니다.

의존성 설치

Cacti는 SNMP를 사용하므로 다음 명령을 실행하여 필요한 의존성을 설치해야 합니다:

sudo apt install snmp snmpd php-snmp rrdtool librrds-perl unzip curl git gnupg2

LAMP 서버 설치

서버에 Apache, PHP 및 MySQL/MariaDB를 설치해야 합니다.

Apache 웹 서버 설치

다음 명령으로 Apache 웹 서버를 설치할 수 있습니다:

sudo apt install apache2 -y

다음으로, Apache 서비스를 시작하고 부팅 시 Apache 서비스가 시작되도록 활성화하려면 다음 명령을 실행합니다:

sudo systemctl start apache2
sudo systemctl enable apache2

PHP 설치

PHP 및 기타 필요한 PHP 확장을 설치해야 합니다:

apt install php php-mysql libapache2-mod-php php-xml php-ldap php-mbstring php-gd php-gmp -y

다음으로, php.ini 파일에 몇 가지 수정을 해야 합니다:

vim /etc/php/*/apache2/php.ini

이제 아래와 같이 변경합니다:

memory_limit = 512M  
max_execution_time = 60  
date.timezone = Asia/Kolkata

이제 파일을 저장하고 닫은 후 CLI용 php.ini를 편집합니다:

vim /etc/php/*/cli/php.ini

다음으로, 다음과 같은 변경을 합니다:

memory_limit = 512M  
max_execution_time = 60  
date.timezone = Asia/Kolkata

파일을 저장하고 닫은 후 변경 사항을 적용하기 위해 Apache 서비스를 재시작합니다:

systemctl restart apache2

Cacti용 데이터베이스 서버 설치 및 구성

MySQL/MariaDB는 Cacti의 백엔드입니다. 다음 명령을 실행하여 MariaDB를 설치할 수 있습니다:

sudo apt install mariadb-server

다음으로, MariaDB 서비스를 시작하고 시스템 시작 시 서비스를 활성화하며 다음 명령을 사용하여 MariaDB 서비스 상태를 확인합니다:

sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo systemctl status mariadb

다음으로, 다음 명령을 실행하여 MariaDB 셸에 로그인합니다:

mysql

로그인 후, 다음 명령을 실행하여 Cacti용 데이터베이스와 사용자를 생성합니다:

CREATE DATABASE cactidb DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
GRANT ALL PRIVILEGES ON cactidb.* TO 'cacti_user'@'localhost' IDENTIFIED BY 'password';
ALTER DATABASE cactidb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

다음으로, 변경 사항을 적용하기 위해 권한을 플러시하고 아래 명령을 사용하여 MariaDB 셸에서 나옵니다:

flush privileges;
exit;

이제 MariaDB 데이터베이스에 시간대 데이터를 가져와야 합니다. 아래 명령을 실행하여 시간대를 가져옵니다:

mysql mysql < /usr/share/mysql/mysql_test_data_timezone.sql

import cacti mysql database

이제 MariaDB 셸에 로그인하고 다음 명령을 실행하여 MySQL 시간대에 필요한 권한을 부여합니다:

mysql
GRANT SELECT ON mysql.time_zone_name TO cacti_user@localhost;

다음으로, 권한을 플러시하고 MariaDB 셸에서 나옵니다:

flush privileges;
exit;

Grant MySQL user privileges

다음으로, MariaDB 기본 구성 파일을 편집합니다:

vim /etc/mysql/mariadb.conf.d/50-server.cnf

먼저, 다음 두 줄에 #태그를 추가하여 주석 처리합니다:

#collation-server      = utf8mb4_general_ci  
#character-set-server  = utf8mb4

다음으로, [mariadb] 섹션 아래에 다음 줄을 추가/수정합니다:

collation-server = utf8mb4_unicode_ci  
character-set-server=utf8mb4  
max_heap_table_size = 128M  
tmp_table_size = 128M  
join_buffer_size = 128M  
innodb_file_format = Barracuda  
innodb_large_prefix = 1  
innodb_buffer_pool_size = 1G  
innodb_flush_log_at_timeout = 3  
innodb_read_io_threads = 32  
innodb_write_io_threads = 16  
innodb_io_capacity = 5000  
innodb_io_capacity_max = 10000  
innodb_doublewrite = 0 

이제 파일을 저장하고 종료한 후 변경 사항을 적용하기 위해 MariaDB 서비스를 재시작합니다:

systemctl restart mariadb

서비스를 재시작한 후 다음 단계로 진행할 수 있습니다.

Cacti 설치 및 구성

이제 wget 명령을 사용하여 Cacti의 최신 버전을 Cacti 공식 웹사이트에서 다운로드합니다:

wget https://www.cacti.net/downloads/cacti-latest.tar.gz

그런 다음, 다음 명령을 실행하여 tar.gz 파일을 추출합니다:

tar -zxvf cacti-latest.tar.gz

이제 추출된 디렉토리를 Apache 루트 경로로 이동하려면 다음 명령을 실행합니다:

mv cacti-1* /var/www/html/cacti

다음으로, 아래 명령을 사용하여 cacti의 데이터베이스 ‘cactidb’에 데이터베이스를 가져옵니다:

mysql cactidb < /var/www/html/cacti/cacti.sql

이제 config.php를 편집하고 Cacti의 데이터베이스 세부정보를 입력합니다.

cd /var/www/html/cacti/include/
vim config.php

다음 줄에서 변경을 합니다:

$database_type     = 'mysql';  
$database_default  = 'cactidb';  
$database_hostname = 'localhost';  
$database_username = 'cacti_user';  
$database_password = 'password';  
$database_port     = '3306';

이제 아래 명령을 사용하여 cacti 디렉토리에 필요한 권한을 설정합니다:

chown -R www-data:www-data /var/www/html/cacti/
chmod -R 775 /var/www/html/cacti/

이제 다음 명령을 사용하여 Cacti의 데이터 수집 빈도를 cronjob으로 설정합니다:

vim /etc/cron.d/cacti

다음 줄을 추가하여 Cacti Pollor가 poller.php를 5분마다 실행하도록 설정합니다.

*/5 * * * * www-data php /var/www/html/cacti/poller.php > /dev/null 2>&1

파일을 저장하고 종료합니다.

Cacti용 Apache 가상 호스트 구성

다음으로, Cacti를 위한 별도의 Apache 가상 호스트 구성 파일을 생성해야 합니다. 아래 명령을 사용하여 생성할 수 있습니다:

vim /etc/apache2/sites-available/cacti.conf

그런 다음, 다음 줄을 추가합니다:

Alias /cacti /var/www/html/cacti  
    
      Options +FollowSymLinks  
      AllowOverride None  
      = 2.3>  
      Require all granted  
        
        
      Order Allow,Deny  
      Allow from all  
        
   
   AddType application/x-httpd-php .php  
  
  
      php_flag magic_quotes_gpc Off  
      php_flag short_open_tag On  
      php_flag register_globals Off  
      php_flag register_argc_argv On  
      php_flag track_vars On  
      # this setting is necessary for some locales  
      php_value mbstring.func_overload 0  
      php_value include_path .  
    
  
  DirectoryIndex index.php  

다음으로, 이 가상 호스트 파일을 활성화해야 합니다. 아래 명령을 실행하여 활성화합니다.

a2ensite cacti

다음 명령을 실행하여 cacti.conf 파일을 확인합니다:

ls -l /etc/apache2/sites-enabled/cacti.conf

다음으로, 변경 사항을 적용하기 위해 Apache 서비스를 재시작해야 합니다:

systemctl restart apache2

Apache 서비스를 재시작한 후, 아래 명령을 실행하여 Apache 서비스 상태를 확인합니다:

systemctl status apache2

출력:

? apache2.service - The Apache HTTP Server  
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)  
     Active: active (running) since Wed 2022-06-29 07:22:07 UTC; 3s ago  
       Docs: https://httpd.apache.org/docs/2.4/  
    Process: 63096 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)  
   Main PID: 63100 (apache2)  
      Tasks: 6 (limit: 1132)  
     Memory: 13.6M  
        CPU: 100ms  
     CGroup: /system.slice/apache2.service  
             ??63100 /usr/sbin/apache2 -k start  
             ??63101 /usr/sbin/apache2 -k start  
             ??63102 /usr/sbin/apache2 -k start  
             ??63103 /usr/sbin/apache2 -k start  
             ??63104 /usr/sbin/apache2 -k start  
             ??63105 /usr/sbin/apache2 -k start  
  
Jun 29 07:22:07 debian-11 systemd[1]: Starting The Apache HTTP Server...

이 단계에서 Cacti가 설치되고 구성되었으며, 웹 브라우저에서 Cacti에 접근할 수 있는 다음 단계로 진행할 수 있습니다.

Cacti 웹 인터페이스

이제 웹 브라우저를 열고 다음 URL에 IP 주소를 입력합니다:

http://your-server-ip/cacti

Cacti 로그인 페이지가 표시되어야 합니다.

Cacti login

기본 사용자 이름과 비밀번호를 admin으로 입력하고 로그인 버튼을 클릭합니다. 비밀번호 재설정 화면으로 리디렉션됩니다:

Set cacti password

기본 비밀번호를 변경한 후 저장 버튼을 클릭합니다. 라이센스 동의 화면이 표시됩니다:

accept license agreement from cacti

GPL 라이센스 동의 체크박스를 선택하고 시작 버튼을 클릭합니다. 다음 화면에서 사전 설치 확인 및 기타 경고 정보가 표시됩니다:

Pre-Installation checks

다음 버튼을 클릭합니다. 다음 설치 유형 화면이 표시됩니다:

Installation type

여기에서 원하는 설치 유형을 선택한 후 다음 버튼을 클릭합니다. 다음으로 디렉토리 권한 확인 화면이 표시됩니다:

Directory permission checks

다음 버튼을 클릭합니다. 다음으로 중요한 바이너리 위치 및 버전 화면이 표시됩니다:

Binary locations and versions

다음 버튼을 클릭합니다. 입력 유효성 검사 화이트리스트 보호 화면이 표시됩니다:

Input validation

“이 성명을 읽었습니다” 체크박스를 선택하고 다음 버튼을 클릭합니다. 기본 프로필 화면으로 리디렉션됩니다:

network and profile

필요에 따라 정보를 입력하고 다음 버튼을 클릭합니다. 다음으로 템플릿 설정 화면이 표시됩니다:

Template setup

다음 버튼을 클릭하면 다음 화면에서 UTF-8 관련 설정이 표시됩니다:

Server Allocation

다음 버튼을 클릭합니다. 설치 확인 화면이 표시됩니다:

Confirm installation

“설치 확인” 체크박스를 선택한 후 설치 버튼을 클릭합니다. 다음 화면에서 설치 로그가 표시됩니다:

Cacti Installation complete

설치가 완료되면 시작하기 버튼을 클릭합니다. Cacti 대시보드 화면이 표시됩니다:

Cacti dashboard

결론

이 기사에서는 Debian 11에 Cacti 모니터링 도구를 성공적으로 설치하고 구성했습니다. 이제 네트워크 장치를 추가하고, 네트워크 대역폭을 모니터링하고, 다양한 네트워크 모니터링 그래프를 생성하는 등 많은 작업을 수행할 수 있습니다. 웹 브라우저에서 Cacti에 쉽게 접근할 수 있습니다. 질문이 있으시면 주저하지 말고 문의해 주세요.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.