Cacti 네트워크 모니터링


Cacti는 RRDtool을 기반으로 한 네트워크 모니터링 및 성능 그래프 도구로, 네트워크 장비와 서버의 상태 및 트래픽을 시각화하는 데 유용합니다. 여기서는 Ubuntu 20.04 기준으로 Cacti 설치 및 설정 방법을 자세히 설명하겠습니다.


1. 사전 준비 사항

Cacti 설치에는 웹 서버(Apache)PHP데이터베이스(MySQL 또는 MariaDB), 그리고 SNMP와 RRDtool이 필요합니다. 필요한 패키지를 먼저 설치합니다.


2. Apache, PHP, MariaDB 설치

Apache 및 PHP 설치

<bash>

sudo apt update
sudo apt install -y apache2 php php-mysql php-snmp php-xml php-gd php-ldap php-mbstring php-json php-intl libapache2-mod-php

MariaDB 설치

Cacti는 MariaDB 또는 MySQL을 데이터베이스로 사용하므로, MariaDB를 설치하고 설정을 진행합니다.

<bash>

sudo apt install -y mariadb-server
sudo mysql_secure_installation

데이터베이스 보안을 강화하는 설정을 진행합니다.


3. Cacti 데이터베이스 설정

데이터베이스 생성 및 사용자 생성

MariaDB에 접속하여 Cacti용 데이터베이스와 사용자 계정을 만듭니다.

<bash>

sudo mysql -u root -p

로그인 후 다음 명령어를 입력하여 Cacti 데이터베이스와 사용자를 생성하고, 권한을 부여합니다.

<sql>

CREATE DATABASE cacti;
GRANT ALL ON cacti.* TO 'cactiuser'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
EXIT;

참고'password' 부분을 원하는 비밀번호로 변경하세요.


4. Cacti 및 RRDtool 설치

Cacti 설치 파일과 RRDtool을 포함한 관련 패키지를 설치합니다.

<bash>

sudo apt install -y snmp php-snmp rrdtool cacti cacti-spine

5. Cacti 초기 설정

Cacti 설치 시 자동으로 초기 설정 마법사가 실행됩니다. 마법사에 따라 설치를 진행합니다.

  1. 웹 서버 선택: Apache2 선택 후 엔터.
  2. 데이터베이스 설정: “Yes”를 선택하여 cactiuser 계정을 Cacti에 연결.

6. MariaDB 설정 변경

Cacti가 대용량 데이터를 효율적으로 처리하도록 MariaDB 설정을 조정합니다.

<bash>

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

파일에 다음 설정을 추가합니다.

<conf>

[mysqld]
max_heap_table_size=128M
tmp_table_size=128M
join_buffer_size=128M
innodb_file_per_table=1
innodb_buffer_pool_size=512M
innodb_doublewrite=ON
innodb_flush_log_at_trx_commit=2
innodb_large_prefix=1

이후 MariaDB를 재시작합니다.

<bash>

sudo systemctl restart mariadb

7. Apache 설정

Cacti는 기본적으로 Apache를 통해 접근합니다. Apache 설정 파일에서 Cacti 디렉토리에 대한 접근 권한을 수정하여 웹 브라우저로 접근할 수 있도록 합니다.

<bash>

sudo nano /etc/apache2/sites-available/cacti.conf

Require local 줄을 찾아 아래와 같이 수정하여 모든 IP에서 접근할 수 있도록 합니다.

<conf>

Require all granted

이후 Apache를 다시 시작합니다.

<bash>

sudo systemctl restart apache2

8. Cacti 웹 설치 마법사 실행

브라우저에서 Cacti 설치 마법사에 접근합니다. http://YOUR_SERVER_IP/cacti로 접속하여 설치 마법사를 완료합니다.

  1. 로그인: 기본 계정은 admin이며, 초기 비밀번호도 admin입니다. 처음 로그인 시 비밀번호 변경이 요청됩니다.
  2. 설치 마법사 진행: 안내에 따라 Cacti 설치 마법사를 완료합니다.

9. Cacti Spine 설정

Cacti Spine은 Cacti의 고성능 데이터 수집 백엔드로, 대규모 환경에서 성능을 높여줍니다. Spine 설정을 위해 Cacti 설정 파일을 수정합니다.

<bash>

sudo nano /usr/share/cacti/site/include/config.php

파일 내에서 다음 항목을 확인합니다.

<php>

$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "password"; // Cacti 데이터베이스 비밀번호

설정을 마친 후 Spine을 재시작합니다.

<bash>

sudo systemctl restart cacti

10. SNMP 설정

네트워크 장비와 서버의 상태를 모니터링하려면 SNMP(Simple Network Management Protocol) 설정이 필요합니다. 서버에 SNMP 서비스를 설정합니다.

<bash>

sudo apt install snmp snmpd
sudo nano /etc/snmp/snmpd.conf

파일에서 기본 설정을 아래와 같이 변경하여 로컬 및 네트워크에서 SNMP 요청을 받을 수 있도록 설정합니다.

<conf>

agentAddress udp:161,udp6:[::1]:161
rocommunity public default

이후 SNMP 서비스를 재시작합니다.

<bash>

sudo systemctl restart snmpd

11. Cacti에서 장비 추가 및 모니터링 설정

Cacti 웹 인터페이스에서 모니터링할 장비를 추가하고 그래프 설정을 진행합니다.

  1. 장비 추가Devices > Add로 이동하여 모니터링할 장비를 추가합니다.
  2. SNMP 설정: SNMP 버전을 선택하고, Community String을 public으로 설정합니다.
  3. 그래프 추가: 장비를 추가한 후 Create Graphs for this Host 옵션을 사용하여 모니터링할 지표(예: CPU, 메모리, 네트워크 대역폭)를 그래프로 생성합니다.

12. Cacti 대시보드 및 그래프 확인

장비 추가와 그래프 설정을 완료하면 Cacti 대시보드에서 실시간 모니터링 데이터를 확인할 수 있습니다.

  • 그래프 보기Graphs 메뉴에서 생성된 그래프를 통해 네트워크 및 서버 상태를 시각적으로 확인합니다.
  • 장비 상태 모니터링: SNMP를 통해 수집된 데이터로 장비의 트래픽, 메모리, CPU 사용률 등을 추적할 수 있습니다.

맺음말

Cacti는 RRDtool 기반의 오픈소스 네트워크 모니터링 도구로, 네트워크 장비와 서버의 상태를 시각화하고 추적하는 데 최적화되어 있습니다. 이 가이드에 따라 Cacti를 설치하고 설정하면, 네트워크 및 서버의 트래픽 상태를 손쉽게 확인할 수 있는 모니터링 환경을 구축할 수 있습니다.


2930 Blog에서 더 알아보기

구독을 신청하면 최신 게시물을 이메일로 받아볼 수 있습니다.