웹사이트 검색

Debian 11에 Icinga 2 모니터링 소프트웨어를 설치하는 방법


이 튜토리얼은 다음 OS 버전에 대해 존재합니다.

  • 데비안 11(불스아이)
  • 데비안 9(스트레치)

이 페이지에서

  1. 전제 조건
  2. LAMP 서버 설치
  3. Icinga2 설치
  4. Icinga Web 2 설치 및 구성
  5. Icinga2 웹 인터페이스 액세스
  6. 결론

Icinga2는 무료 오픈 소스이며 가장 널리 사용되는 네트워크 모니터링 도구 중 하나입니다. PHP 및 C++로 작성되었으며 네트워크 리소스를 모니터링하고 중단을 알리고 보고를 위한 성능 데이터를 생성할 수 있습니다. SMTP, POP3, HTTP, NNTP, 핑, CPU 부하, 디스크 사용량, 스위치, 라우터 등을 포함한 다양한 프로토콜을 모니터링할 수 있습니다. Icinga2와 Icinga Web 2의 두 스택으로 구성됩니다. Icinga2는 모니터링 서버로 사용되며 Icinga Web 2는 모니터링을 계속하는 웹 인터페이스입니다.

이 글에서는 Debian 11에 Icinga2 모니터링 서버를 설치하는 방법을 보여드리겠습니다.

전제 조건

  • Debian 11을 실행하는 서버.\n
  • 루트 암호는 서버에서 구성됩니다.\n

램프 서버 설치

먼저 Apache 웹 서버, MariaDB, PHP 및 기타 필수 확장을 서버에 설치해야 합니다. 다음 명령으로 모두 설치할 수 있습니다.

apt-get install apache2 mariadb-server php libapache2-mod-php php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip php-cli php-mysql php-common php-opcache php-pgsql php-gmp php-imagick -y

모든 패키지가 설치되면 php.ini 파일을 편집하고 일부 설정을 변경합니다.

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

다음 줄을 변경합니다.

memory_limit = 256M 
post_max_size = 64M
upload_max_filesize = 100M	
max_execution_time = 300
default_charset = "UTF-8"
date.timezone = "Asia/Kolkata"
cgi.fix_pathinfo=0

파일을 저장하고 닫은 다음 Apache 서비스를 다시 시작하여 변경 사항을 적용합니다.

systemctl restart apache2

다음으로 MariaDB 루트 암호를 설정하고 설치를 보호해야 합니다. 다음 스크립트를 실행하여 수행할 수 있습니다.

mysql_secure_installation

아래와 같이 모든 질문에 답하십시오.

Enter current password for root (enter for none):
OK, successfully used password, moving on...
Set root password? [Y/n] Y
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

Icinga2 설치

기본적으로 Icinga2 패키지는 Debian 11 기본 리포지토리에 포함되어 있습니다. 다음 명령을 사용하여 설치할 수 있습니다.

apt-get install icinga2 monitoring-plugins -y

모든 패키지가 설치되면 Icinga2를 시작하고 시스템 재부팅 시 시작되도록 활성화합니다.

systemctl start icinga2
systemctl enable icinga2

Icinga2의 상태를 확인하려면 다음 명령을 실행하십시오.

systemctl status icinga2

샘플 출력:

? icinga2.service - Icinga host/service/network monitoring system
     Loaded: loaded (/lib/systemd/system/icinga2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2021-10-03 13:40:11 UTC; 27s ago
       Docs: https://icinga.com/docs/icinga2/latest/
    Process: 20727 ExecStartPre=/usr/lib/icinga2/prepare-dirs /usr/lib/icinga2/icinga2 (code=exited, status=0/SUCCESS)
   Main PID: 20734 (icinga2)
      Tasks: 15 (limit: 2341)
     Memory: 12.7M
        CPU: 1.769s
     CGroup: /system.slice/icinga2.service
             ??20734 /usr/lib/x86_64-linux-gnu/icinga2/sbin/icinga2 --no-stack-rlimit daemon -e
             ??20748 /usr/lib/x86_64-linux-gnu/icinga2/sbin/icinga2 --no-stack-rlimit daemon -e
             ??20751 /usr/lib/x86_64-linux-gnu/icinga2/sbin/icinga2 --no-stack-rlimit daemon -e
             ??21621 /usr/lib/nagios/plugins/check_ping -6 -H ::1 -c 200,15% -w 100,5%
             ??21622 /bin/ping -6 -n -U -w 10 -c 5 ::1

Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/ConfigItem: Instantiated 1 Endpoint.
Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/ConfigItem: Instantiated 1 FileLogger.
Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/ConfigItem: Instantiated 235 CheckCommands.
Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/ScriptGlobal: Dumping variables to file '/var/cache/icinga2/i>
Oct 03 13:40:11 debian11 systemd[1]: Started Icinga host/service/network monitoring system.
Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/ConfigItem: Triggering Start signal for config items
Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/FileLogger: 'main-log' started.
Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/NotificationComponent: 'notification' started.
Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/CheckerComponent: 'checker' started.
Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/ConfigItem: Activated all objects.

다음으로 Icinga2용 MySQL 플러그인을 설치해야 합니다. 다음 명령을 사용하여 설치할 수 있습니다.

apt-get install icinga2-ido-mysql -y

설치하는 동안 Icinga 2s ido-mysql 기능을 활성화하라는 메시지가 표시됩니다.

예를 선택하고 Enter 키를 누릅니다. Icinga2용 데이터베이스를 생성하라는 메시지가 표시됩니다.

예를 선택하고 Enter 키를 누릅니다. Icinga2 애플리케이션 비밀번호를 설정하라는 메시지가 표시됩니다.

암호를 입력하고 Enter 키를 눌러 설치를 마칩니다.

이렇게 하면 icinga2라는 데이터베이스와 사용자가 생성되고 암호가 설정됩니다.

참고: icinga2 데이터베이스, 사용자 및 암호를 기억하십시오. 웹 기반 설치 중에 필요합니다. 다음으로 다음 명령을 사용하여 ido-mysql 모듈을 활성화합니다.

icinga2 feature enable ido-mysql

마지막으로 Icinga2 서비스를 다시 시작하여 변경 사항을 적용합니다.

systemctl restart icinga2

Icinga Web 2 설치 및 구성

Icinga Web 2는 Icinga2를 모니터링하기 위한 웹 인터페이스를 제공합니다. 다음 명령으로 설치할 수 있습니다.

apt-get install icingaweb2 icingacli -y

설치가 완료되면 Icinga Web 2용 데이터베이스와 사용자를 생성해야 합니다.

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

mysql -u root -p

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

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

다음으로 다음 명령을 사용하여 권한을 플러시하고 MariaDB를 종료합니다.

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

다음으로 다음 명령을 사용하여 비밀 토큰을 생성합니다.

icingacli setup token create

다음 출력이 표시되어야 합니다.

The newly generated setup token is: 73bb878b50a35df8

Icinga2 웹 인터페이스에 액세스

이제 웹 브라우저를 열고 URL http://your-server-ip/icingaweb2/setup을 사용하여 Icinga2 웹 설치 마법사에 액세스하십시오. 다음 페이지가 표시됩니다.

비밀 토큰을 제공하고 다음 버튼을 클릭합니다. 다음 페이지가 표시됩니다.

모니터링을 선택하고 다음 버튼을 클릭합니다. 다음 페이지가 표시됩니다.

모든 PHP 확장이 설치되었는지 확인하고 다음 버튼을 클릭합니다. 다음 페이지가 표시됩니다.

인증 유형을 선택하고 다음 버튼을 클릭합니다. 다음 페이지가 표시됩니다.

Icinga2 웹 데이터베이스 자격 증명을 제공하고 다음 버튼을 클릭합니다. 다음 페이지가 표시됩니다.

백엔드 이름을 선택하고 다음 버튼을 클릭합니다. 다음 페이지가 표시됩니다.

관리 사용자를 제공하고 다음 버튼을 클릭합니다. 다음 페이지가 표시됩니다.

다음 버튼을 클릭합니다. 다음 페이지가 표시됩니다.

모든 설정을 검토하고 다음 버튼을 클릭합니다. 다음 페이지로 리디렉션됩니다.

다음 버튼을 클릭합니다. 다음 페이지가 표시됩니다.

백엔드 이름을 선택하고 다음 버튼을 클릭합니다. 다음 페이지가 표시됩니다.

Icinga IDO 데이터베이스 자격 증명을 제공하고 다음 버튼을 클릭합니다. 다음 페이지가 표시됩니다.

원하는 옵션을 선택하고 다음 버튼을 클릭합니다. 다음 페이지가 표시됩니다.

모니터링 보안을 선택하고 다음 버튼을 클릭합니다. 다음 페이지가 표시됩니다.

구성을 검토하고 마침 버튼을 클릭합니다. 다음 페이지가 표시됩니다.

Icinga Web 2에 로그인을 클릭하십시오. 다음 페이지가 표시되어야 합니다.

관리자 사용자 이름, 암호를 제공하고 로그인 버튼을 클릭합니다. 다음 페이지가 표시됩니다.

결론

축하합니다! Debian 11에 Icinga2 모니터링 서버를 성공적으로 설치 및 구성했습니다. 이제 원격 호스트를 추가하고 Icinga Web 2 대시보드에서 모니터링을 시작할 수 있습니다.