Rocky Linux 및 AlmaLinux에 Zabbix를 설치하는 방법


적절한 모니터링은 전체 IT 인프라를 효과적으로 관리하는 데 필수적인 요소입니다. 강력한 실시간 모니터링 솔루션은 네트워크 및 애플리케이션 성능에 대한 자세한 가시성을 제공합니다.

오류 및 인시던트가 발생하는 실제 순간을 식별하고 경고를 전송하는 데 도움이 됩니다. 이를 통해 운영 팀은 적시에 개입 조치를 취하고 가능한 한 최단 시간에 비즈니스 연속성을 보장할 수 있습니다.

이를 통해 IT 리소스를 최대한 활용하고 수익을 극대화할 수 있습니다. 따라서 효율적이고 신뢰할 수 있는 모니터링 도구에 대한 투자의 중요성을 훼손할 수 없습니다.

Zabbix는 전체 IT 인프라를 모니터링하는 데 사용되는 무료 오픈 소스 엔터프라이즈급 모니터링 도구입니다. 네트워크 장치, 서버(클라우드 및 온프레미스) 애플리케이션, 데이터베이스, 도커 컨테이너를 포함한 모든 것을 모니터링할 수 있습니다. 또한 오류를 감지하고 경고를 보내 IT 팀이 문제를 해결하기 위한 즉각적인 조치를 취할 수 있도록 합니다.

이 가이드에서는 Rocky Linux/AlmaLinux에 Zabbix 모니터링 도구를 설치하는 데 중점을 둘 것입니다. 이 가이드를 작성하는 시점에서 Zabbix의 최신 버전은 Zabbix 6.0 시험판입니다.

이 가이드의 경우 다음이 필요합니다.

    "
  1. SSH 액세스 권한이 있는 Rocky Linux의 인스턴스입니다.
  2. SSH 액세스가 가능한 Alma Linux의 인스턴스입니다.
  3. 권한이 있는 작업을 수행하도록 구성된 sudo 사용자입니다.
  4. "

    1단계: Rocky/Alma Linux에 LAMP 설치

    Zabbix는 프론트엔드에서 PHP로, 백엔드에서 Java & C로 구동되는 모니터링 애플리케이션입니다. 또한 데이터를 수집하고 저장하기 위해 관계형 데이터베이스가 필요합니다. 따라서 Zabbix를 설치할 호스팅 스택을 설치해야 합니다.

    Linux, Apache, MariaDB/MySQL 및 PHP의 약어인 LAMP는 개발자 서클에서 널리 알려진 이름입니다. "Apache 웹 서버, MariaDB 또는 MySQL(관계형 데이터베이스) 및 서버 측 스크립팅 엔진인 PHP로 구성됩니다.

    Apache 웹 서버를 설치하는 것으로 시작하겠습니다. 이렇게 하려면 다음 명령을 실행합니다.

    $ sudo dnf install @httpd
    

    설치가 완료되면 Apache를 시작하고 시스템 시작 시 실행되도록 활성화합니다.

    $ sudo systemctl start httpd
    $ sudo systemctl enable httpd
    

    Apache가 실행 중인지 확인하려면 다음 명령을 실행합니다.

    $ sudo systemctl status httpd
    

    출력은 Apache가 설치되어 예상대로 실행 중임을 확인합니다.

    앞서 언급했듯이 Zabbix는 모든 데이터를 저장하기 위해 관계형 데이터베이스가 필요합니다. 안정성과 제공하는 수많은 보안 및 성능 향상을 고려하여 MariaDB를 설치하기로 결정했습니다.

    최신 버전의 Zabbix가 예상대로 작동하려면 MariaDB 버전 10.5가 필요합니다. 시작하려면 MariaDB YUM 저장소를 활성화해야 합니다.

    따라서 저장소 파일을 만듭니다.

    $ sudo vim  /etc/yum.repos.d/mariadb.repo
    

    다음 줄을 붙여넣습니다.

    [mariadb]
    name = MariaDB
    baseurl = http://yum.mariadb.org/10.5/rhel8-amd64
    gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
    gpgcheck=1
    module_hotfixes=1
    

    변경 사항을 저장하고 구성 파일을 종료합니다.

    다음으로 MariaDB GPG 서명 키를 가져옵니다.

    $ sudo --import https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
    

    마지막으로 MariaDB 서버와 클라이언트를 설치하려면 다음 명령을 실행합니다.

    $ sudo dnf install MariaDB-server MariaDB-client
    

    설치가 완료되면 MariaDB 서버를 시작하고 부팅 시 자동으로 시작되도록 활성화합니다.

    $ sudo systemctl start mariadb
    $ sudo systemctl enable mariadb
    

    데이터베이스 서버가 실행 중인지 확인합니다.

    $ sudo systemctl status mariadb
    

    설치된 MariaDB 버전을 확인하려면 다음 명령을 실행합니다.

    $ mysql -V
    

    또는 다음과 같이 데이터베이스 서버에 로그인할 수 있습니다.

    $ sudo mysql -u root -p
    

    MariaDB 버전은 환영 메시지에 인쇄됩니다.

    일반적으로 MariaDB의 설정은 필수 보안 권장 사항으로 구성되어 있지 않습니다. 고맙게도 MariaDB는 데이터베이스 서버의 보안을 강화하기 위해 mysql_secure_installation 스크립트를 제공합니다.

    따라서 표시된 대로 스크립트를 실행합니다.

    $ sudo mysql_secure_installation
    

    작업 목록을 수행해야 합니다. 먼저 UNIX 소켓 인증 플러그인으로 전환합니다.

    나머지 프롬프트에 대해 Y를 입력하고 ENTER를 누르십시오. 이를 통해 익명 사용자를 제거하고 원격 사용자가 루트로 로그인하는 것을 허용하지 않으며 해커가 악용할 수 있는 테스트 데이터베이스를 제거할 수 있습니다. 그런 다음 마지막으로 권한 테이블을 다시 로드하여 변경 사항을 저장합니다.

    UNIX_socket 인증 플러그인을 사용하면 루트 사용자가 암호 없이 데이터베이스 서버에 로그인할 수 있습니다. MariaDB 비밀번호 인증을 활성화하려면 MariaDB에 로그인하십시오.

    $ sudo mysql -u root -p
    

    그런 다음 다음과 같이 루트 암호를 설정합니다.

    set password = password("yourpassword");
    

    UNIX 소켓 인증에서 mysql_native_password 인증으로 전환하려면 다음 명령을 실행하십시오.

    ALTER USER [email protected] IDENTIFIED VIA mysql_native_password USING PASSWORD("yourpassword");
    

    이제 다시 로그인할 때마다 비밀번호를 입력해야 합니다.

    설치할 LAMP 스택의 마지막 구성 요소는 PHP입니다. "이는 기본 AppStream 리포지토리에서 제공됩니다. "다음과 같이 확인할 수 있습니다.

    $ sudo dnf module list PHP
    

    기본적으로 PHP 7.2는 기본적으로 활성화되어 있습니다. 이것을 PHP 7.4로 변경해야 합니다.

    $ sudo dnf module reset php
    $ sudo dnf module install php:7.4
    

    다음으로 Zabbix 설치에 필요한 PHP 모듈을 설치합니다.

    $ sudo dnf install php php-curl php-fpm php-mysqlnd
    

    PHP 버전을 확인하려면 다음을 실행하십시오.

    $ php -v
    

    PHP FastCGI의 대중적인 대안 구현인 PHP-FPM(FastCGI Process Manager) 서비스를 설치했습니다.

    부팅할 때 시작하고 활성화합니다.

    $ sudo systemctl start php-fpm
    $ sudo systemctl enable php-fpm
    

    그런 다음 상태를 확인합니다.

    $ sudo systemctl status php-fpm
    

    이 시점에서 LAMP 스택을 성공적으로 설치했습니다. 후속 단계에서는 Zabbix 설치에 대해 자세히 설명합니다.

    2단계: Rocky/Alma Linux에 Zabbix 설치

    LAMP 스택이 준비되면 이제 Zabbix 저장소를 설치하여 Zabbix를 설치해 보겠습니다.

    $ sudo rpm -Uvh https://repo.zabbix.com/zabbix/5.5/rhel/8/x86_64/zabbix-release-5.5-1.el8.noarch.rpm
    

    저장소가 설치되면 다음과 같이 Zabbix 서버, Zabbix 에이전트 및 관련 Zabbix 패키지를 설치합니다.

    $ sudo dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent
    

    설치가 완료되면 Zabbix 데이터베이스와 Zabbix가 데이터베이스에 액세스하는 데 사용할 데이터베이스 사용자를 생성해야 합니다.

    $ sudo mysql -u root -p
    CREATE USER [email protected] IDENTIFIED BY '[email protected]';
    

    그런 다음 데이터베이스 사용자에게 데이터베이스에서 모든 작업을 실행할 수 있는 권한을 부여합니다.

    GRANT ALL PRIVILEGES ON zabbix_db.* TO [email protected];
    

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

    FLUSH PRIVILEGES;
    EXIT;
    

    다음으로 데이터베이스 스키마를 가져옵니다.

    $ sudo zcat /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz | mysql -u zabbix_user -p zabbix_db
    

    비밀번호를 묻는 메시지가 표시되면 루트 계정의 비밀번호가 아닌 Zabbix 사용자의 비밀번호를 제공하십시오.

    또한 Zabbix 구성 파일을 편집하십시오.

    $ sudo vim /etc/zabbix/zabbix_server.conf
    

    DBName, DBUser, DBPassword 값이 데이터베이스에 대해 제공한 값을 반영하는지 확인하십시오.

    DBHost=localhost
    DBName=zabbix_db
    DBUser=zabbix_user
    [email protected]
    

    변경 사항을 저장하고 구성 파일을 종료합니다.

    3단계: Rocky/Alma Linux에서 PHP-FPM 구성

    다음으로 PHP-FPM 서비스에 대한 몇 가지 추가 구성이 필요합니다. www.conf 구성 파일을 편집합니다.

    $ sudo vim /etc/php-fpm.d/www.conf 
    

    다음 줄이 있는 그대로 나타나는지 확인합니다.

    listen = /run/php-fpm/www.sock
     
    user = apache
    group = apache
    
    listen.allowed_clients = 0.0.0.0
    listen.owner = apache
    listen.group = apache
    listen.mode = 0660
    pm = dynamic
    

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

    또한 Zabbix.conf 구성 파일에서 시간대 설정을 지정하십시오.

    $ sudo vim /etc/php-fpm.d/zabbix.conf
    

    표시된 줄을 추가합니다.

    php_value[date.timezone] = Africa/Nairobi
    

    저장 및 종료.

    모든 변경 사항을 적용하려면 그림과 같이 모든 서비스를 다시 시작하십시오.

    $ sudo systemctl restart zabbix-server zabbix-agent httpd php-fpm
    

    또한 시작할 때 활성화하는 것이 좋습니다.

    $ sudo systemctl enable zabbix-server zabbix-agent httpd php-fpm
    

    4단계: Rocky/Alma Linux에서 SELinux 및 방화벽 구성

    브라우저에서 프론트엔드에 액세스하려면 SELinux를 허용으로 설정해야 합니다. 그렇게 하려면 다음 명령을 실행합니다.

    $ sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config
    

    그런 다음 방화벽으로 이동하여 Zabbix 서버 및 에이전트가 수신하는 포트 10050 및 10051과 함께 HTTP 서비스를 허용합니다.

    $ sudo firewall-cmd --add-port=80/tcp --permanent
    $ sudo firewall-cmd --add-port={10050,10051}/tcp --permanent
    $ sudo firewall-cmd --reload
    

    5단계: Rocky/Alma Linux에서 Zabbix 설치 완료

    마지막으로 브라우저를 실행하고 표시된 URL로 이동합니다.

    http://server-ip/zabbix
    

    당신을 맞이하는 첫 번째 페이지는 설치 중인 버전을 대담하게 표시하는 Zabbix 시작 페이지입니다. 설치 언어를 선택하고 '다음 단계' 버튼을 클릭합니다.

    전제 조건 목록에서 맨 아래로 스크롤하여 모든 전제 조건이 마지막 열에 '확인' 레이블이 있는지 확인합니다. 모든 요구 사항을 충족하는 것은 필수입니다. "그런 다음 '다음 단계' 버튼을 누르십시오.

    'DB 연결 설정' 페이지에서. "데이터베이스 세부 정보를 입력합니다. "데이터베이스 포트의 경우 0으로 두십시오. '다음 단계'를 누르십시오.

    그런 다음 서버 이름을 지정하고 시간대를 확인한 다음 원하는 테마를 자유롭게 선택하십시오. "그런 다음 '다음 단계'를 누릅니다.

    모든 설정을 확인하고 정상적으로 보이면 '다음 단계'를 눌러 설치를 마칩니다.

    제공한 모든 설정이 올바르면 Zabbix의 프론트 엔드가 성공적으로 설정되었음을 알리는 축하 메시지를 받게 됩니다. "'마침' 버튼을 누릅니다.

    Zabbix 로그인 페이지로 이동합니다. 다음 자격 증명으로 로그인합니다.

    Admin:	Admin
    Password:   zabbix
    

    그런 다음 '로그인'을 클릭하여 Zabbix 대시보드에 액세스합니다. 보안 강화를 위해 나중에 비밀번호를 변경할 수 있으므로 걱정하지 마십시오.

    마지막으로 Zabbix의 대시보드에 액세스할 수 있습니다.

    그리고 거기에 있습니다. "Rocky Linux/AlmaLinux에 Zabbix 모니터링 도구를 성공적으로 설치했습니다.