웹사이트 검색

RHEL, Rocky 및 AlmaLinux에 Icinga2를 설치하는 방법


Icinga2는 Nagios 모니터링 도구의 포크인 기능이 풍부한 오픈 소스 네트워크 모니터링 및 경고 애플리케이션입니다.

Nagios의 단점을 해결하고 개선된 현대적인 사용자 인터페이스, 변경 없이 새로운 확장 기능을 통합하기 위한 REST API와 같은 새로운 기능을 도입하기 위해 구축되었습니다. Icinga 코어 및 추가 데이터베이스 커넥터.

Icinga2는 호스트와 서비스의 가용성을 모니터링합니다. 이러한 서비스에는 SNMP, HTTP, HTTPSSSH가 포함됩니다. 또한 라우터 및 스위치와 같은 네트워크 장치를 모니터링합니다.

Icinga는 또한 측정항목을 수집하고 로그를 생성하여 네트워크 인프라에 대한 완전한 그림을 제공합니다. 그런 다음 로그와 측정항목이 대시보드에 시각화되어 모든 내용을 더 나은 맥락으로 보여줍니다.

이 문서에서는 RHEL, Rocky LinuxAlmaLinuxIcinga2 모니터링 애플리케이션을 설치하는 방법을 보여줍니다.

전제조건

Icinga2 설치 요구 사항으로 LAMP 스택이 설치되어 있어야 합니다. 여기에 약간의 주의가 필요합니다. Icinga2를 설치하려면 PHP 7.3 이상 버전이 필요합니다.

RHEL 8에 LAMP를 설치하는 방법에 대한 튜토리얼이 이미 있습니다. 지침은 설치에 중점을 두므로 Apache 웹 서버 및 MariaDB 데이터베이스 서버를 설치하려면 이 문서를 사용하세요. Icinga2에서 지원되지 않는 PHP 7.2.

이 가이드의 첫 번째 단계에서는 PHP 7.4 및 필수 모듈을 설치하는 과정을 안내합니다.

1단계: PHP 및 PHP 모듈 설치

ApacheMariaDB가 설치되었으므로 계속해서 PHP 7.4를 설치해 보겠습니다. PHP 7.2 이상 버전이 설치되어 있는 경우 다음을 실행하여 제거하세요.

sudo dnf remove php

그런 다음 시스템에서 현재 PHP 모듈을 재설정합니다.

sudo dnf module reset php

그런 다음 표시된 대로 사용 가능한 PHP 버전을 나열하세요.

sudo dnf module list php

그런 다음 PHP 7.4를 활성화합니다.

sudo dnf module enable php:7.4

PHP 7.4 모듈이 활성화되면 PHP와 필수 PHP 확장 프로그램을 설치합니다.

sudo dnf install php-gd php-mbstring php-mysqlnd php-curl php-devel php-pear php-xml php-cli php-soap php-intl php-json php-ldap php-xmlrpc php-zip php-json php-common php-opcache php-gmp php-pgsql make -y

Icinga2에는 php-imagick 확장 프로그램도 필요합니다. 그러나 이것은 다른 PHP 모듈에서 했던 것처럼 기존 방식으로 설치할 수 없습니다.

확장 기능을 설치하려면 다음 명령을 실행하세요.

dnf install -y ImageMagick ImageMagick-devel
sudo pecl install imagick

그런 다음 루트 사용자로 전환하고 확장자를 PHP.INI 파일에 추가합니다.

su -
echo "extension=imagick.so" > /etc/php.d/20-imagick.ini

변경 사항을 적용하려면 Apache 웹 서버를 다시 시작하세요.

sudo systemctl restart httpd

2단계: RHEL 8에 Icinga2 설치

Icinga2를 설치하려면 Icinga2AppStream 저장소에서 호스팅되지 않으므로 Icinga 저장소를 추가해야 합니다.

이렇게 하려면 먼저 EPEL 저장소를 활성화하세요.

sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

그런 다음 GPG 서명 키를 활성화하세요.

sudo rpm --import https://packages.icinga.com/icinga.key

다음으로 /etc/yum.repos.d 디렉터리에 저장소 파일을 만듭니다.

sudo vim  /etc/yum.repos.d/icinga2.repo

다음 코드 블록을 붙여넣으세요.

 
[icinga2]
name=Icinga 2 Repository for EPEL 8
baseurl=https://packages.icinga.com/epel/8/release
enabled=1

저장소 파일을 저장하고 종료합니다. 그런 다음 캐시 패키지를 업데이트하고,

sudo dnf makecache

저장소가 추가되면 Icinga2 패키지 및 기타 관련 Icinga2 패키지를 설치합니다.

sudo dnf install icinga2 icinga2-ido-mysql icinga2-selinux  vim-icinga2 -y

다음으로, 물리적 호스트와 가상 호스트를 모두 모니터링하는 데 사용할 Nagios 플러그인을 설치합니다.

sudo dnf install nagios-plugins-all -y

다음으로 Icinga2 ido-mysql 모듈 및 기타 기능을 활성화합니다.

sudo icinga2 feature enable ido-mysql syslog command

그런 다음 변경 사항을 적용하려면 Icinga를 다시 시작하세요.

sudo systemctl restart icinga2

3단계: Icinga-IDO MySQL 모듈용 데이터베이스 생성

icinga2-IDO(Icinga 데이터 출력) mysql 기능은 모든 구성 및 상태 정보를 수집하여 데이터베이스로 내보내는 백엔드 기능입니다. 이러한 이유로 Icinga2-ido-mysql 기능을 위한 데이터베이스를 생성해야 합니다.

따라서 MySQL 데이터베이스 서버에 로그인하세요.

sudo mysql -u root -p

Icinga2에 대한 데이터베이스 사용자와 데이터베이스를 만듭니다. 그런 다음 데이터베이스 사용자의 모든 권한을 Icinga2 데이터베이스에 부여합니다.

> CREATE DATABASE icinga2;
> GRANT ALL PRIVILEGES ON icinga2.* TO 'icinga2_user'@'localhost' IDENTIFIED BY 'P@ssword321';

변경 사항을 적용하고 데이터베이스 서버를 종료합니다.

> FLUSH PRIVILEGES;
> EXIT;

다음으로, 다음과 같이 데이터베이스 스키마를 가져옵니다. 데이터베이스 비밀번호를 제공해야 하는 비밀번호를 묻는 메시지가 표시됩니다.

sudo mysql -u root -p icinga2 < /usr/share/icinga2-ido-mysql/schema/mysql.sql

계속해서 ido-mysql 구성 파일을 편집합니다.

sudo vim /etc/icinga2/features-available/ido-mysql.conf

데이터베이스 블록의 주석 처리를 해제하고 데이터베이스 세부 정보를 지정합니다.

저장 및 종료.

그런 다음 Icinga2를 시작하고 활성화합니다.

sudo systemctl start icinga2
sudo systemctl enable icinga2

그런 다음 그림과 같이 Icinga2의 상태를 확인합니다.

sudo systemctl status icinga2

아래 출력을 보면 Icinga가 예상대로 실행되고 있음이 분명합니다.

4단계: RHEL 8에 IcingaWeb2 설치

IcingaWeb2는 명령줄 인터페이스도 통합하는 오픈 소스 웹 기반 모니터링 도구입니다. Icinga-ido-mysql, Icinga 코어, Icinga2 및 기타 모듈과 같은 모든 백엔드 Icinga 기능을 지원합니다.

IcingaWeb2를 설치하려면 다음 명령을 사용하여 PowerTools를 설치하세요.

sudo dnf install 'dnf-command(config-manager)'
sudo dnf config-manager --set-enabled powertools

설치가 완료되면 그림과 같이 IcingaWeb2CLI를 설치합니다.

sudo dnf install icingaweb2 icingacli

5단계: IcingaWeb2용 데이터베이스 생성

Icinga2-IDO-mysql 기능에 대한 데이터베이스 스키마를 생성한 것처럼 Icinga Web2에 대한 두 번째 스키마도 생성해야 합니다.

따라서 다시 한 번 데이터베이스 서버에 로그인하십시오.

sudo mysql -u root -p

IcingaWeb2에 대한 데이터베이스 및 데이터베이스 사용자를 생성한 다음 Icinga Web2 데이터베이스의 데이터베이스 사용자에게 모든 권한을 부여합니다.

> CREATE DATABASE icingaweb2;
> GRANT ALL ON icingaweb2.* TO icingaweb2@localhost IDENTIFIED BY 'P@ssword321';

변경 사항을 저장하고 종료합니다.

> FLUSH PRIVILEGES;
> QUIT

Icinga2가 설치되면 Icinga2에 대한 새로운 구성 파일이 생성되었습니다. 표시된 대로 볼 수 있습니다.

cat /etc/httpd/conf.d/icingaweb2.conf

변경 사항을 적용하려면 Apache 웹 서버를 다시 시작해야 합니다.

sudo systemctl restart httpd

또한 다음과 같이 SELinux 모드를 '허용'으로 설정해야 합니다.

sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config

6단계: 브라우저에서 Icinga2 설정 완료

Icinga2 설치 단계에서는 Icinga2를 설정할 때 첫 번째 단계에서 인증에 사용되는 고유 코드인 설정 토큰을 생성합니다. 브라우저.

비밀 토큰을 생성하려면 다음 명령을 실행하세요.

sudo icingacli setup token create

설정 토큰을 복사하여 안전하게 보관하세요. 토큰을 분실한 경우 다음 명령을 실행하여 토큰을 검색할 수 있습니다.

sudo icingacli setup token show

이 가이드의 이 시점에서는 모든 구성이 확인되었습니다. 남은 것은 웹 브라우저에서 설치를 완료하는 것입니다. 이렇게 하려면 표시된 URL을 찾아보세요.

http://server-ip/icingaweb2/setup

시작 페이지에 앞서 생성한 설정 토큰을 붙여넣습니다.

토큰을 붙여넣은 후 '다음'을 클릭하여 계속하세요. 그러면 '모듈' 페이지로 이동됩니다. 이는 활성화할 수 있는 모든 모듈에 대한 개요를 제공합니다. 기본적으로 '모니터링' 모듈이 활성화되어 있습니다.

선호하는 모듈을 활성화하고 아래로 스크롤한 후 '다음'을 클릭하여 계속하세요.

이 섹션에서는 PHP 모듈, 라이브러리 및 디렉터리를 포함하여 모든 PHP 필수 구성 요소가 충족되었는지 확인합니다. 문제가 없으면 아래로 스크롤하여 '다음'을 클릭하세요.

'인증' 페이지에서 모든 항목을 그대로 두고 '다음'을 클릭하세요.

데이터베이스 리소스' 섹션에서 5단계에 지정된 대로 IcingaWeb2에 대한 데이터베이스 세부정보를 입력합니다.

데이터베이스 세부정보가 올바른지 확인하려면 아래로 스크롤하여 '구성 확인'을 클릭하세요.

모든 것이 순조롭게 진행되면 구성이 성공적으로 검증되었다는 알림을 받게 됩니다.

다음 단계로 넘어가려면 아래로 스크롤하여 '다음'을 클릭하세요. '인증 백엔드'의 경우 '다음'을 클릭하여 기본값을 수락하면 됩니다.

다음 단계에서는 Icinga2 웹 인터페이스에 액세스하고 로그인하는 데 사용할 Admin 사용자를 만듭니다.

'애플리케이션 모니터링' 섹션의 경우 기본값을 수락하고 '다음'을 클릭하세요.

지금까지 진행한 모든 변경 사항을 검토하세요. 모두 괜찮다면 '다음'을 클릭하고, 변경하고 싶다면 '뒤로'를 클릭하여 필요한 사항을 변경하세요.

다음 섹션은 IcingaWeb2에 대한 모니터링 모듈 구성입니다. 이는 중요한 이벤트를 추적하기 위한 강력한 필터 기능과 함께 상태 및 보고 보기를 제공하는 Icinga Web 2의 핵심 모듈입니다.

계속하려면 '다음'을 클릭하세요.

다음 단계에서는 3단계에 지정된 대로 Icinga2-ido-mysql 기능에 대한 데이터베이스 세부정보로 양식을 작성합니다.

구성을 확인하려면 아래로 스크롤하여 '구성 확인'을 클릭하세요.

구성이 성공적으로 검증되었다는 알림을 받게 됩니다.

다음 단계로 진행하려면 아래로 스크롤하여 '다음'을 클릭하세요. '명령 전송'의 경우 전송 유형으로 '로컬 명령 파일'을 사용하고 '다음'을 클릭합니다.

'보안 모니터링' 섹션에서 '다음'을 클릭하세요.

다시 한 번 Icinga2 모니터링 모듈의 모든 구성을 검토하세요. 모두 문제가 없으면 '마침'을 클릭하고, 그렇지 않으면 돌아가서 필요한 사항을 변경하세요.

Icinga Web 2 설정이 모두 제대로 진행되었다면 Icinga Web 2가 성공적으로 설정되었다는 알림을 받게 됩니다. 웹 인터페이스에 로그인하려면 'Icinga Web 2에 로그인' 링크를 클릭하세요.

그러면 Icinga Web 2 인터페이스가 열립니다. 관리자 계정 세부정보를 입력하고 '로그인'을 클릭하세요.

그러면 그림과 같이 Icinga2 모니터링 대시보드로 이동됩니다.

그리고 그게 다야. 여기에서 네트워크 인프라 내의 다양한 호스트와 서비스를 모니터링할 수 있습니다. 이 가이드에서는 RHEL 8, Rocky LinuxAlmaLinuxIcinga Web 2를 설치하는 과정을 안내했습니다. 강하다>.