네트워크 모니터링 · 8 min read · Nov 16, 2025

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

Observium은 서버 인프라를 위한 네트워크 모니터링 도구입니다. 자동 탐지 기능이 있는 네트워크 모니터링 플랫폼으로 유지 관리가 적고 Cisco, Linux, Windows, HP, Juniper, Dell, FreeBSD, Netscalar, NetApp 등 다양한 네트워크 장치와 플랫폼을 지원합니다.

Observium은 무료 버전, 전문 버전 및 기업 버전 등 여러 버전으로 제공됩니다. 홈 랩의 경우, Observium 무료 버전으로 네트워크 장치를 모니터링하기에 충분합니다.

Observium은 네트워크 장치의 상태를 쉽게 확인할 수 있는 직관적인 사용자 인터페이스를 제공합니다. 또한, 외부 애플리케이션과의 통합을 통해 애플리케이션에서 데이터를 수집하고 보고하는 사용자 정의 모듈을 생성할 수 있습니다.

이 튜토리얼에서는 Debian 11 서버에 Observium 네트워크 모니터링 도구를 설정합니다. 이 가이드를 통해 LAMP 스택(Linux, Apache2, MariaDB 및 PHP)에서 Observium을 실행할 수 있습니다. 튜토리얼이 끝나면 Observium 네트워크 모니터링이 실행되고 모니터링할 호스트 또는 네트워크 장치를 추가할 준비가 완료됩니다.

필수 조건

이 튜토리얼을 완료하려면 다음 요구 사항이 필요합니다:

  • Debian 11 서버 - 이 예제에서는 호스트 이름이 ‘observium-server’인 최신 버전의 Debian Bulleye를 사용합니다.
  • sudo/root 관리자 권한이 있는 비루트 사용자.

종속성 설치

Observium은 주로 PHP로 작성된 네트워크 모니터링 도구입니다. Observium을 설치하려면 Apache2 웹 서버, MariaDB 데이터베이스 서버 및 PHP 패키지와 whois, rrdtool, mtr 등과 같은 일부 네트워크 유틸리티와 같은 패키지 종속성을 설치해야 합니다.

첫 번째 단계에서는 LAMP 스택과 일부 네트워킹 도구를 Debian 시스템에 설치합니다.

다음 apt 명령을 실행하여 Debian 패키지 인덱스를 업데이트하고 새로 고칩니다.

sudo apt update

이제 다음 apt 명령을 통해 Observium의 패키지 종속성을 설치합니다.

sudo apt install libapache2-mod-php7.4 php7.4-cli php7.4-mysql php7.4-gd php7.4-json php7.4-bcmath \
php7.4-mbstring php7.4-opcache php7.4-apcu php7.4-curl php-pear snmp fping rrdtool whois \
mariadb-server mariadb-client subversion mtr-tiny ipmitool graphviz imagemagick apache2 \
python3-mysqldb python3-pymysql python-is-python3

확인 메시지가 표시되면 y를 입력하여 확인하고 ENTER를 눌러 진행합니다. 설치가 시작됩니다.

install LAMP

패키지 종속성이 설치되면 다음으로 Observium 설치를 위한 LAMP 스택을 설정하고 구성합니다.

MariaDB 서버 설정

이제 Observium에 사용될 MariaDB 서버를 설정합니다. ‘mysql_secure_installation’ 명령을 통해 MariaDB 배포를 보호한 다음, Observium 설치에 사용할 새 데이터베이스와 사용자를 생성합니다.

시작하기 전에 다음 systemctl 명령을 실행하여 MariaDB 서비스가 활성화되고 실행 중인지 확인합니다.

sudo systemctl is-enabled mariadb  
sudo systemctl status mariadb

다음과 같은 출력이 표시됩니다 - MariaDB 서비스가 활성화되어 있으며 부팅 시 자동으로 실행됩니다. 현재 MariaDB 서비스의 상태도 실행 중입니다.

check mariadb

다음으로 아래 ‘mysql_secure_installation’ 명령을 통해 MariaDB 서버 배포를 보호합니다.

sudo mysql_secure_installation

이제 MariaDB 구성에 대한 몇 가지 프롬프트가 표시됩니다:

  • MariaDB 루트 사용자를 unix_socket 인증 방법으로 전환하시겠습니까? 아니오를 위해 n을 입력합니다.
  • 새 MariaDB 루트 비밀번호를 설정하시겠습니까? 확인을 위해 y를 입력한 다음, MariaDB 배포를 위한 새 비밀번호를 입력하고 비밀번호를 반복합니다.
  • MariaDB 루트 사용자의 원격 로그인을 비활성화하시겠습니까? 확인을 위해 y를 입력하고 비활성화합니다.
  • MariaDB에서 기본 익명 사용자를 제거하시겠습니까? y를 입력합니다.
  • MariaDB에서 기본 데이터베이스 테스트를 제거하시겠습니까? y를 입력합니다.
  • 마지막으로, 새 변경 사항을 적용하기 위해 모든 테이블 권한을 다시 로드하시겠습니까? 확인을 위해 y를 입력합니다.

이제 MariaDB 설치를 보호하고 루트 비밀번호로 MariaDB를 구성했습니다. 이제 Observium을 위한 새 MariaDB 데이터베이스와 사용자를 생성합니다.

다음 명령을 실행하여 MariaDB 루트 사용자로 MariaDB 셸에 로그인합니다.

sudo mysql -u root -p

다음 쿼리를 실행하여 Observium을 위한 새 데이터베이스와 사용자를 생성합니다. 데이터베이스 이름, 데이터베이스 사용자 및 비밀번호를 자신의 세부정보로 변경할 수 있습니다.

이 예제에서는 새 데이터베이스와 사용자 ‘ observium ‘을 비밀번호 ‘ p4ssw0rd ‘로 생성합니다.

CREATE DATABASE observium DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;  
GRANT ALL PRIVILEGES ON observium.* TO 'observium'@'localhost' IDENTIFIED BY 'p4ssw0rd';  
FLUSH PRIVILEGES;

이제 아래 쿼리를 실행하여 MariaDB 사용자 ‘observium’이 ‘observium’ 데이터베이스에 접근하고 권한이 있는지 확인합니다.

SHOW GRANTS FOR observium@localhost;  
quit

다음과 같은 출력이 표시됩니다 - MariaDB 사용자 ‘ observium ‘이 데이터베이스 ‘ observium ‘에 대한 권한을 가지고 있습니다.

verify user privileges

이제 MariaDB 서버를 구성하고 Observium을 위한 데이터베이스와 사용자를 생성했습니다. 다음으로 PHP 구성을 진행합니다.

PHP 설정

Observium을 설치하려면 PHP의 일부 구성을 편집해야 합니다. PHP 구성 ‘php.ini’ 파일을 변경하고 PHP opcache를 활성화합니다. 또한 PHPINFO를 통해 PHP와 Apache2 웹 서버의 구성을 확인하여 Apache2와 PHP가 작동하는지 확인합니다.

다음 nano 편집기 명령을 사용하여 ‘ /etc/php/7.4/apache2/php.ini ‘ 파일을 편집합니다.

sudo nano /etc/php/7.4/apache2/php.ini

다음 구성을 주석 해제하고 ‘ error_reporting ‘ 옵션을 다음과 같이 변경합니다.

file_uploads = On  
default_charset               = UTF-8  
error_reporting = E_ALL & ~E_NOTICE  
date.timezone = Europe/London

[opcache] ‘ 옵션에서 다음 설정을 변경합니다. 이는 PHP opcache 확장을 활성화하고 최대 성능을 얻기 위한 일부 구성을 추가합니다.

[opcache]  
opcache.enable=1    
opcache.enable_cli=1    
opcache.interned_strings_buffer=8    
opcache.max_accelerated_files=10000    
opcache.memory_consumption=128    
opcache.save_comments=1  
opcache.revalidate_freq=1

작업이 끝나면 파일을 저장하고 편집기를 종료합니다.

이제 아래 systemctl 명령을 통해 Apache2 서비스를 재시작하고 새 변경 사항을 적용합니다.

sudo systemctl restart apache2

아래 명령을 사용하여 Apache2 서비스 상태를 확인하여 Apache2 서비스가 실행 중이고 활성화되어 있는지 확인합니다.

sudo systemctl is-enabled apache2  
sudo systemctl status apache2

다음과 같은 출력이 표시됩니다 - Apache2 서비스가 활성화되어 있으며 부팅 시 자동으로 실행됩니다. 현재 Apache2 서비스의 상태도 실행 중입니다.

check apache2

Apache2와 PHP가 작동하는지 확인하기 위해 새 PHPINFO 파일을 생성합니다. 다음 명령을 실행하여 새 PHPINFO 파일 ‘ /var/www/html/info.php ‘를 생성합니다.

echo '' | tee /var/www/html/info.php

웹 브라우저를 열고 서버 IP 주소 뒤에 ‘ /info.php ‘ 경로를 방문합니다 (예: http://192.168.5.30/info.php).

Apache2와 PHP가 올바르게 구성되었다면 다음과 같은 PHPINFO 페이지를 볼 수 있습니다. PHP 설치 및 구성에 대한 자세한 정보를 확인할 수 있습니다.

phpinfo

이제 MariaDB 데이터베이스 서버와 PHP를 구성했으므로 Observium 소스 코드를 다운로드하고 Observium 설치를 구성합니다.

Observium 네트워크 모니터링 도구 설치

이 단계에서는 Observium 소스 코드를 다운로드하고 Observium에 대한 데이터베이스 세부정보를 설정하고 데이터베이스 스키마를 가져오고 마지막으로 Observium 설치를 위한 관리자 사용자를 생성합니다.

작업 디렉토리를 ‘ /opt ‘로 이동하고 아래 wget 명령을 통해 Observium 소스 코드를 다운로드합니다. 다운로드 프로세스가 완료되면 현재 작업 디렉토리에 ‘ observium-community-latest.tar.gz ‘ 파일이 표시됩니다.

cd /opt  
wget http://www.observium.org/observium-community-latest.tar.gz

아래 tar 명령을 통해 ‘observium-community-latest.tar.gz’ 파일을 추출합니다.

tar zxvf observium-community-latest.tar.gz

이제 Observium 소스는 ‘/opt/observium’ 디렉토리에 있으며, 이는 Observium 모니터링 도구의 대상 설치 디렉토리가 됩니다.

다음으로 로그 및 rrd 파일을 저장하는 데 사용될 추가 디렉토리를 생성합니다. 그런 다음 새 디렉토리의 소유권을 사용자 및 그룹 ‘www-data’로 변경합니다.

mkdir -p /opt/observium/{logs,rrd}  
sudo chown -R www-data:www-data /opt/observium/{logs,rrd}

configure observium

추가 디렉토리를 생성한 후 Observium 설치 디렉토리 ‘ /opt/observium ‘로 이동합니다.

cd /opt/observium

Observium 기본 구성 ‘ config.php.default ‘를 ‘ config.php ‘로 복사합니다. 그런 다음 다음 nano 편집기를 통해 새 파일 ‘ config.php ‘를 편집합니다.

cp config.php.default config.php  
nano config.php

기본 데이터베이스 설정을 자신의 데이터베이스 세부정보로 변경합니다.

$config['db_extension'] = 'mysqli';  
$config['db_host']      = 'localhost';  
$config['db_user']      = 'observium';  
$config['db_pass']      = 'p4ssw0rd';  
$config['db_name']      = 'observium';

작업이 끝나면 파일을 저장하고 편집기를 종료합니다.

다음으로 ‘ discovery.php ‘ 스크립트를 실행하여 데이터베이스를 업데이트하고 Observium 설치를 위한 데이터베이스 스키마를 가져옵니다.

./discovery.php -u

다음과 같은 출력이 표시됩니다.

migrate database

Observium 데이터베이스 스키마가 가져온 후, ‘ adduser.php ‘ 스크립트를 실행하여 Observium의 관리자 사용자를 설정합니다.

이 예제에서는 사용자 ‘ admin ‘을 비밀번호 ‘ p4ssw0rd ‘로 생성하며 역할은 ‘ 10 ‘으로 Observium에서 가장 높은 역할인 관리자입니다.

./adduser.php admin p4ssw0rd 10

사용자가 생성되면 ‘ User admin added successfully. ‘와 같은 메시지가 표시됩니다.

create user observium

이 시점에서 Observium 네트워크 모니터링 도구의 기본 설치 및 구성을 완료했습니다. 그러나 Apache2 가상 호스트 구성을 설정해야 합니다.

Apache2 가상 호스트 구성

Observium을 설치하고 구성한 후, 이제 Observium의 새로운 Apache2 가상 호스트 구성을 설정합니다. 시작하기 전에 Observium 설치를 위한 로컬 도메인 이름이 있는지 확인합니다.

다음 nano 편집기 명령을 사용하여 새 가상 호스트 구성 ‘ /etc/apache2/sites-available/observium.conf ‘을 생성합니다.

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

아래 구성을 파일에 추가하고 도메인 이름을 변경합니다. 이 예제에서는 로컬 도메인 obs.howtoforge.local을 사용합니다.

  
    ServerAdmin webmaster@localhost  
    ServerName obs.howtoforge.local  
    DocumentRoot /opt/observium/html  
      
      SetHandler application/x-httpd-php  
      
      
            Options FollowSymLinks  
            AllowOverride None  
      
      
            DirectoryIndex index.php  
            Options Indexes FollowSymLinks MultiViews  
            AllowOverride All  
            Require all granted  
      
    ErrorLog  ${APACHE_LOG_DIR}/error.log  
    LogLevel warn  
    CustomLog  ${APACHE_LOG_DIR}/access.log combined  
    ServerSignature On  

작업이 끝나면 파일을 저장하고 편집기를 종료합니다.

이제 a2ensite 명령을 통해 가상 호스트 구성 ‘observium.conf’를 활성화합니다. 그런 다음 Apache2 구성을 확인하여 올바른 구성이 있는지 확인합니다.

sudo a2ensite observium.conf  
sudo apachectl configtest

이제 ‘ Syntax OK ‘와 같은 출력 메시지가 표시되어 Apache2 구성이 올바르다는 것을 의미합니다.

마지막으로 아래 systemctl 명령을 실행하여 Apache2 서비스를 재시작하고 새 변경 사항을 적용합니다.

sudo systemctl restart apache2

이제 Apache2 가상 호스트를 구성했습니다. 이제 로컬 도메인을 통해 Observium 설치에 접근할 수 있습니다.

setup apache2

웹 브라우저를 통한 Observium 접근

Observium을 위한 가상 호스트를 구성한 후, 이제 웹 브라우저를 통해 Observium에 접근합니다.

웹 브라우저를 열고 Observium 설치의 로컬 도메인 이름을 방문합니다 (예: http://obs.howtoforge.local/). 이제 Observium 로그인 페이지가 표시됩니다.

사용자와 비밀번호로 로그인한 후 ‘ Log in ‘을 클릭합니다.

observium login

이제 Observium 관리 대시보드를 볼 수 있습니다. 여기에서 SNMP를 통해 Observium에 모니터링할 새 장치를 추가할 수 있습니다.

observium dashboard

이 시점에서 Debian 11 서버에 LAMP 스택으로 Observium 네트워크 모니터링 도구의 기본 설치를 완료했습니다. 이제 초기 Discovery 및 poll을 수행합니다.

Cron을 통한 자동 발견 설정

Observium 설치 디렉토리로 이동하고 ‘discovery.php’ 및 ‘poller.php’ 스크립트를 실행하여 새 장치의 데이터를 채웁니다.

cd /opt/observium  
  
./discovery.php -h all  
./poller.php -h all

그 후, 다음 nano 편집기 명령을 사용하여 새 cron 구성 ‘/etc/cron.d/observium’을 생성합니다.

sudo nano /etc/cron.d/observium

파일에 다음 구성을 추가합니다.

# 모든 장치에 대한 완전한 발견을 6시간마다 한 번 실행  
33  */6   * * *   root    /opt/observium/discovery.php -h all >> /dev/null 2>&1  
  
# 새로 추가된 장치의 자동 발견을 5분마다 실행  
*/5 *     * * *   root    /opt/observium/discovery.php -h new >> /dev/null 2>&1  
  
# 5분마다 다중 스레드 폴러 래퍼 실행  
*/5 *     * * *   root    /opt/observium/poller-wrapper.py >> /dev/null 2>&1  
  
# syslog, eventlog 및 alert log에 대한 housekeeping 스크립트를 매일 실행  
13 5 * * * root /opt/observium/housekeeping.php -ysel >> /dev/null 2>&1  
  
# rrds, ports, 데이터베이스의 고아 항목 및 성능 데이터에 대한 housekeeping 스크립트를 매일 실행  
47 4 * * * root /opt/observium/housekeeping.php -yrptb >> /dev/null 2>&1

작업이 끝나면 파일을 저장하고 편집기를 종료합니다.

cron 구성을 통해 자동 발견 및 폴러가 백그라운드에서 자동으로 실행됩니다.

결론

이 튜토리얼에서는 Debian 11 서버에 LAMP 스택(Linux, Apache2, MariaDB 및 PHP)으로 Observium 네트워크 모니터링 도구를 설치했습니다. 또한 생성한 cron 스크립트를 통해 Observium의 자동 발견 설정을 구성했습니다.

이 모든 것이 준비되면 이제 SNMP 에이전트를 통해 Observium 네트워크 모니터링 도구에 장치를 추가하고, 관리자와 다른 수준의 새 사용자를 추가하고, 경고를 설정하고, 그 외 여러 작업을 수행할 수 있습니다.

Share: X/Twitter LinkedIn

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

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