웹사이트 검색

Debian 9에 Observium 네트워크 모니터링 설치


이 페이지에서

  1. 시작하기\n
  2. LAMP 서버 설치
  3. MariaDB 구성
  4. Observium 다운로드 및 설치
  5. Observium 웹 인터페이스 액세스
  6. 결론

Observium은 모든 네트워크 장치를 모니터링하는 데 사용할 수 있는 무료 오픈 소스 네트워크 관리 및 모니터링 도구입니다. PHP로 작성되었으며 SNMP를 사용하여 연결된 장치에서 데이터를 수집하고 웹 인터페이스를 사용하여 모니터링합니다. Observium은 Linux, Windows, FreeBSD, Cisco, Dell, NetApp 등을 포함한 많은 네트워크 하드웨어 및 운영 체제를 지원합니다. Observium은 강력하고 간단하며 사용하기 쉬운 인터페이스를 제공하여 네트워크의 상태를 모니터링합니다.

이 튜토리얼에서는 Debian 9 서버에 Observium을 설치하고 구성하는 방법을 설명합니다.

요구 사항

  • 시스템에 설치된 새로운 Debian 9 서버.
  • 서버에 루트 암호가 설정되어 있습니다.\n

시작하기

다음 명령을 실행하여 시스템을 안정적인 최신 버전으로 업데이트하여 시작하겠습니다.

apt-get update -y
apt-get upgrade -y

시스템이 업데이트되면 시스템을 다시 시작하여 모든 업데이트를 적용합니다.

reboot

다시 시작한 후 루트 사용자로 로그인하고 다음 명령을 실행하여 일부 필수 패키지를 시스템에 설치합니다.

apt-get install snmp fping python-mysqldb rrdtool subversion whois mtr-tiny ipmitool graphviz imagemagick -y

필요한 모든 패키지가 설치되면 다음 단계로 진행할 수 있습니다.

램프 서버 설치

Observium은 PHP 언어로 작성된 Apache에서 실행되며 MySQL을 데이터베이스로 사용합니다. 따라서 시스템에 LAMP 서버를 설치해야 합니다.

먼저 다음 명령을 실행하여 Apache 웹 서버를 설치합니다.

apt-get install apache2 libapache2-mod-php7.0 -y

Apache를 설치한 후 Apache 서비스를 시작하고 다음 명령을 사용하여 부팅 시 시작되도록 활성화합니다.

systemctl start apache2
systemctl enable apache2

다음으로 다음 명령을 실행하여 PHP7 및 기타 필수 라이브러리를 설치합니다.

apt-get install php7.0 php7.0-cli php7.0-mysql php7.0-mysqli php7.0-gd php7.0-mcrypt php7.0-json php-pear -y

PHP7과 필요한 모든 라이브러리가 설치되면 다음 명령을 실행하여 MariaDB 서버를 설치합니다.

apt-get install mariadb-server -y

그런 다음 MariaDB 서비스를 시작하고 다음 명령을 사용하여 부팅 시 시작되도록 활성화합니다.

systemctl start mysql
systemctl enable mysql

MariaDB 구성

기본적으로 MariaDB는 보안되지 않습니다. 다음 명령으로 보안을 유지할 수 있습니다.

mysql_secure_installation

다음과 같이 모든 질문에 답하십시오.

 
   set root password? [Y/n] n
    Remove anonymous users? [Y/n] y
    Disallow root login remotely? [Y/n] y
    Remove test database and access to it? [Y/n] y
    Reload privilege tables now? [Y/n] y

MariaDB가 보호되면 Observium용 데이터베이스와 사용자를 생성해야 합니다.

먼저 다음 명령을 사용하여 MySQL 셸에 로그인합니다.

mysql -u root -p

루트 암호를 입력한 후 다음 명령을 사용하여 Observium용 데이터베이스를 생성합니다.

MariaDB [(none)]>CREATE DATABASE observiumdb DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

다음으로 Observium에 대한 사용자를 생성하고 다음 명령을 사용하여 Observium 데이터베이스에 대한 모든 권한을 부여합니다.

MariaDB [(none)]>GRANT ALL PRIVILEGES ON observiumdb.* TO 'observium'@'localhost' IDENTIFIED BY 'password';

다음으로 다음 명령을 사용하여 권한을 플러시합니다.

MariaDB [(none)]>FLUSH PRIVILEGES;

마지막으로 다음 명령을 사용하여 MySQL 셸을 종료합니다.

MariaDB [(none)]>\q

Observium 다운로드 및 설치

Observium은 Open Source Edition과 Subscription Edition의 두 가지 버전으로 제공되며, Open Source Edition은 더 적은 기능과 몇 가지 보안 수정 사항으로 무료로 다운로드할 수 있으며 Subscription Edition은 추가 기능과 하드웨어 지원이 함께 제공됩니다. 다음 명령을 사용하여 공식 웹 사이트에서 Observium의 오픈 소스 버전을 다운로드할 수 있습니다.

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

다운로드 후 다음 명령을 사용하여 다운로드한 아카이브를 추출합니다.

tar -xvzf observium-community-latest.tar.gz

다음으로 압축을 푼 디렉터리를 Apache 웹 루트 디렉터리에 복사합니다.

cp -ar observium /var/www/html/

다음으로 샘플 구성 파일의 이름을 바꾸고 몇 가지 사항을 변경합니다.

cd /var/www/html/observium
cp config.php.default config.php
nano config.php

아래와 같이 파일을 변경합니다.

    // Database config ---  This MUST be configured
    $config['db_extension'] = 'mysqli';
    $config['db_host']      = 'localhost';
    $config['db_user']      = 'observium';
    $config['db_pass']      = 'password';
    $config['db_name']      = 'observiumdb';

파일을 저장한 후 다음 명령을 사용하여 MySQL 데이터베이스의 기본 스키마를 설정합니다.

./discovery.php -u

모든 것이 정상이면 다음 출력이 표시됩니다.

  ___   _                              _
 / _ \ | |__   ___   ___  _ __ __   __(_) _   _  _ __ ___
| | | || '_ \ / __| / _ \| '__|\ \ / /| || | | || '_ ` _ \
| |_| || |_) |\__ \|  __/| |    \ V / | || |_| || | | | | |
 \___/ |_.__/ |___/ \___||_|     \_/  |_| \__,_||_| |_| |_|
                         Observium Community Edition 17.9.0
                                   http://www.observium.org

Install initial database schema ... done.
-- Updating database/file schema
310 -> 311 # (db) . Done (0s).
311 -> 312 # (db) .... Done (0s).
312 -> 313 # (db)  Done (0s).
313 -> 314 # (db)  Done (0s).
314 -> 315 # (php) . Done (0s).
315 -> 316 # (db) . Done (0s).
316 -> 317 # (db) .. Done (0s).
317 -> 318 # (db) . Done (0s).
318 -> 319 # (db) ....... Done (2s).
319 -> 320 # (db) . Done (0s).
320 -> 321 # (db) . Done (0s).
321 -> 322 # (db) . Done (0s).
322 -> 323 # (db) ... Done (1s).
323 -> 324 # (db) ... Done (0s).
324 -> 325 # (db) .... Done (1s).
325 -> 326 # (db) . Done (0s).
326 -> 327 # (db) . Done (0s).
327 -> 328 # (db) . Done (0s).
328 -> 329 # (db) . Done (0s).
329 -> 330 # (db) . Done (0s).
330 -> 331 # (db) . Done (0s).
331 -> 332 # (db) ... Done (1s).
332 -> 333 # (php)  Done (0s).
333 -> 334 # (db) . Done (0s).
334 -> 335 # (php)  Done (0s).
335 -> 336 # (db) . Done (0s).
336 -> 337 # (db) . Done (1s).
337 -> 338 # (db) . Done (0s).
338 -> 339 # (db) ... Done (0s).
339 -> 340 # (db) ... Done (0s).
340 -> 341 # (db) ........ Done (1s).
341 -> 342 # (db) ............... Done (0s).
342 -> 343 # (db) ... Done (0s).
343 -> 344 # (db) .... Done (1s).
344 -> 345 # (db) .. Done (0s).
345 -> 346 # (db) . Done (0s).
346 -> 347 # (db) . Done (0s).
347 -> 348 # (db) F Done (0s, 1 errors).
348 -> 349 # (db) .. Done (0s).
349 -> 350 # (php)  Done (0s).
350 -> 351 # (db) ..... Done (1s).
351 -> 352 # (db) .. Done (0s).
-- Done.

다음으로 RRD 및 로그를 저장할 디렉토리를 생성해야 합니다.

mkdir rrd logs

다음 명령을 사용하여 observium 디렉토리의 소유권을 변경하십시오.

chown -R www-data:www-data /var/www/html/observium

다음으로 Observium용 Apache 가상 호스트 파일을 생성해야 합니다. 이렇게 하려면 새 구성 파일 observium.conf를 만듭니다.

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

다음 줄을 추가합니다.

    <VirtualHost *:80>
     ServerAdmin 
     ServerName example.com
    DocumentRoot /var/www/html/observium/html
    <Directory />
     Options FollowSymLinks
     AllowOverride None
    </Directory>
    <Directory /var/www/html/observium/html/>
     Options Indexes FollowSymLinks MultiViews
     AllowOverride All
     Require all granted
    </Directory>
     ErrorLog  /var/log/apache2/error.log
     LogLevel warn
     CustomLog  /var/log/apache2/access.log combined
     ServerSignature On
    </VirtualHost>

파일을 저장한 다음 observium 가상 호스트 파일을 활성화하고 다음 명령을 사용하여 기본 가상 호스트 파일을 비활성화합니다.

a2ensite observium
a2dissite 000-default

다음으로 Apache 재작성 모듈과 PHP mcrypt 모듈도 활성화해야 합니다. 다음 명령을 실행하여 이를 수행할 수 있습니다.

a2enmod rewrite
phpenmod mcrypt

마지막으로 다음 명령을 사용하여 Apache 웹 서버를 다시 시작합니다.

systemctl restart apache2

다음으로 다음 명령을 사용하여 첫 번째 관리 사용자를 만듭니다.

/var/www/html/observium/adduser.php admin yourpassword 10

모든 것이 잘 되었다면 다음 출력이 표시됩니다.

    Observium CE 0.17.7.8697
    Add User

    User admin added successfully. 

Observium 웹 인터페이스에 액세스

Observium에 액세스하기 전에 UFW 방화벽을 통해 포트 80을 허용해야 합니다. 기본적으로 UFW는 Debian 9에 설치되지 않으므로 먼저 설치해야 합니다.

apt-get install ufw -y

UFW가 설치되면 다음 명령을 사용하여 UFW를 활성화합니다.

ufw enable

다음으로 다음 명령을 사용하여 UFW 방화벽을 통해 포트 80을 허용합니다.

ufw allow 80

방화벽이 구성되면 웹 브라우저를 열고 URL http://example.com을 입력하면 다음 페이지가 표시됩니다.

여기에 관리자 사용자 이름과 암호를 입력한 다음 로그인 버튼을 클릭하면 아래와 같이 Observium 기본 대시보드가 표시됩니다.

다음으로 네트워크에서 장치를 폴링하고 검색하기 위한 cron 작업을 생성해야 합니다. /etc/cron.d 디렉토리 안에 cron 파일을 생성하여 이를 수행할 수 있습니다.

nano /etc/cron.d/observium

다음 줄을 추가합니다.

# Run a complete discovery of all devices once every 2 hours
25  */2   * * *   root    /var/www/html/observium/discovery.php -h all >> /dev/null 2>&1

# Run automated discovery of newly added devices every 10 minutes
*/10 *     * * *   root    /var/www/html/observium/discovery.php -h new >> /dev/null 2>&1

# Run multithreaded poller wrapper every 10 minutes
*/10 *     * * *   root    /var/www/html/observium/poller-wrapper.py 4 >> /dev/null 2>&1

# Run housekeeping script daily for syslog, eventlog and alert log
10 2 * * * root /var/www/html/observium/housekeeping.php -ysel >> /dev/null 2>&1

# Run housekeeping script daily for rrds, ports, orphaned entries in the database and performance data
10 1 * * * root /var/www/html/observium/housekeeping.php -yrptb >> /dev/null 2>&1

완료되면 파일을 저장하고 닫은 다음 cron 서비스를 다시 시작하여 이 변경 사항을 적용합니다.

systemctl restart cron

결론

축하해요! Debian 9 서버에 Observium을 성공적으로 설치했습니다. 이제 네트워크 상태를 쉽게 확인할 수 있습니다. 장치, 알림 및 인증 모듈 구성에 대한 자세한 내용은 Observium 공식 문서 페이지를 확인할 수 있습니다.