Computer >> 컴퓨터 >  >> 체계 >> Windows Server

Zabbix 설치 및 기본 구성 가이드

자빅스 엔터프라이즈 수준의 오픈 소스 모니터링 시스템입니다. 현재 Zabbix는 가장 인기 있고 강력한 무료 모니터링 시스템 중 하나입니다. 설치 및 구성이 간단하기 때문에 Zabbix는 수백 개의 호스트가 있는 대규모 인프라와 소규모 구성을 모니터링하는 데 사용할 수 있습니다. 이 기사에서는 Linux Ubuntu 및 CentOS에서 웹 인터페이스를 사용하여 Zabbix 서버 5.0의 기본 기능을 설치 및 구성하는 방법과 Windows 또는 Linux를 실행하는 서버에 Zabbix 에이전트를 설치하고 모니터링을 위해 새 호스트를 추가하는 방법을 보여줍니다.

아래 스크린샷에서 Zabbix 서버 대시보드 인터페이스를 볼 수 있습니다.

Zabbix 설치 및 기본 구성 가이드

간단하고 설정하기 쉬운 Zabbix는 C(서버, 프록시, 에이전트)와 PHP(프론트엔드)로 작성되었습니다. Zabbix 서버Zabbix 프록시 Linux 시스템에서만 작동합니다. Zabbix 에이전트는 지원되는 다양한 운영 체제 및 플랫폼에 설치할 수 있습니다.

Zabbix 서버 설치는 다음으로 구성됩니다:

  • zabbix_server 바이너리(일반적으로 서비스로 작동)
  • MySQL/MariaDB/PostgreSQL 데이터베이스,
  • PHP 핸들러가 있는 Apache2/Nginx 웹 서버,
  • 프론트엔드 사이트 파일(.php, .js, .css 등).

일반적으로 운영 체계는 다음과 같습니다.

  • Zabbix 에이전트가 서버에 데이터를 보냅니다.
  • Zabbix 서버는 데이터를 수신하고 처리합니다.
  • 수신 데이터가 지정된 조건을 충족하면 트리거가 활성화됩니다.
  • 활성화된 트리거는 문제가 있음을 나타냅니다. 사이트의 프런트엔드에 알림이 표시되고 구성에 따라 이메일 알림이 전송되거나 일부 작업이 수행됩니다(예:모니터링되는 서비스가 다시 시작됨).

Zabbix는 알려진 모든 프로토콜과 함께 작동할 수 있습니다. 외부 스크립트를 사용할 수 있는 기능 덕분에 Zabbix는 실행 가능한 모든 스크립트/바이너리에서 데이터를 실행하고 수신할 수 있습니다.

Linux(Ubuntu, CentOS)에 Zabbix 서버를 설치하는 방법

이 튜토리얼에서는 패키지 관리자를 사용하여 Linux(Ubuntu Server 18.4 및 CentOS 8)에 Zabbix Server를 설치하는 방법을 보여줍니다.

다운로드 페이지 https://www.zabbix.com/download로 이동하여 Linux 배포와 일치하는 리포지토리를 선택합니다. 모든 인기 있는 Linux 배포판을 위한 준비된 패키지가 있습니다.

예를 들어 Ubuntu 18.04에 Zabbix를 설치하려면 다음을 차례로 선택하십시오.

Zabbix 버전(5.0 LTS) -> OS 배포(Ubuntu) -> OS 버전(18.04 Bionic) -> 데이터베이스(MySQL) -> 웹 서버(Nginx 또는 Apache)

Zabbix 설치 및 기본 구성 가이드

저장소 다운로드 및 추가:

# wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+bionic_all.deb
# dpkg -i zabbix-release_5.0-1+bionic_all.deb
# apt update

그런 다음 필요한 패키지를 설치할 수 있습니다.

# apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-agent

Zabbix 설치 및 기본 구성 가이드

CentOS 8/RHEL 8에 Zabbix를 설치하려면 최신 Zabbix 버전으로 저장소를 연결하십시오(4.0/5.0 LTS 분기 또는 최신 Zabbix 5.2에서 Zabbix를 설치할 수 있음):

# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
# dnf clean all

nginx, MySQL/MariaDB, php 및 php-fpm이 이미 서버에 설치되어 있다고 가정합니다. dnf(yum) 패키지 관리자를 사용하여 Zabbix 서버 및 에이전트 설치:

# dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-agent

그런 다음 MySQL에서 Zabbix용 데이터베이스를 만듭니다(MySQL 대신 PostgreSQL을 사용할 수 있습니다. 이전 명령에서 'mysql'을 'pgsql'으로 바꾸면 됩니다).

데이터베이스를 만들고 Zabbix가 DB에 액세스할 사용자 계정에 권한을 부여합니다:

mysql -uroot
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'ZabbixP@$$w0rd';
mysql> quit;

Zabbix 데이터베이스를 가져옵니다. 사용자 생성 시 지정한 비밀번호를 입력하세요.

# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p Zabbix

/etc/zabbix/zabbix_server.conf 편집 , 생성한 사용자의 비밀번호를 지정하십시오.

DBPassword=Zabbix_User_Password

제 경우에는 nginx가 웹 서버로 사용되므로 다음 행의 주석 처리를 제거하여 nginx.conf를 편집하십시오.

# listen 80;
# server_name example.com;

# 제거 example.com을 Zabbix 서버 호스트 이름으로 바꿉니다. 제 경우에는 test.zabbix.local입니다.

Apache의 경우 /etc/httpd/conf.d/zabbix.conf를 편집합니다. .

PHP에서 시간대를 설정합니다. /etc/zabbix/php-fpm.conf에서 다음 줄의 주석 처리를 제거합니다. :

php_value[date.timezone] = Canada/Pacific
Zabbix 서버의 시간이 신뢰할 수 있는 NTP 소스와 동기화되어 있는지 확인하십시오.

/etc/php.ini에서 다음 PHP 매개변수를 설정할 수도 있습니다.

memory_limit 128M
upload_max_filesize 8M
post_max_size 16M
max_execution_time 300
max_input_time 300
max_input_vars 10000

시작에 zabbix-server 서비스를 추가하고 실행합니다.

# systemctl enable zabbix-server zabbix-agent nginx php7.2-fpm
# systemctl restart zabbix-server zabbix-agent nginx php7.2-fpm

Zabbix 웹 인터페이스 구성

이제 Zabbix frontent(웹 인터페이스)를 구성해야 합니다. 브라우저에서 앞에서 지정한 Zabbix 서버 URL을 엽니다. 제 경우에는 test.zabbix.local(또는 지정한 도메인. 호스트 파일이나 DNS 서버에 등록하는 것을 잊지 마십시오)입니다. 모든 설치 프로그램 요구 사항 옆에 확인이 표시되는지 확인하십시오.

Zabbix 설치 및 기본 구성 가이드

DB에 연결할 데이터베이스 연결 매개변수 및 사용자 자격 증명을 지정합니다. 이전에 생성한 사용자 이름과 비밀번호를 사용하십시오.

Zabbix 설치 및 기본 구성 가이드

Zabbix 서버의 이름을 지정하십시오. 기본 포트인 TCP 10051을 그대로 두는 것이 좋습니다.

기본적으로 Zabbix는 두 개의 네트워크 포트를 사용합니다.

  • TCP 10050 — Zabbix 서버가 클라이언트를 폴링하는 데 사용하는 수동 에이전트 포트;;
  • TCP 10051 — Zabbix 서버가 클라이언트(활성 에이전트)로부터 데이터를 수신하는 포트입니다.

방화벽에서 이러한 포트를 여는 것을 잊지 마십시오. 예를 들어 CentOS를 실행하는 Zabbix 서버에서 firewall-cmd를 사용하여 firewalld의 포트를 열 수 있습니다:

# firewall-cmd --add-service={http,https} --permanentfirewall-cmd --add-port={10051/tcp,10050/tcp} –permanent

에이전트에서 포트 10050을 여는 것으로 충분합니다.

# firewall-cmd --permanent --add-port=10050/tcp

방화벽 다시 시작:

# firewall-cmd –reload

Zabbix 설치 및 기본 구성 가이드

그런 다음 다음 단계를 클릭합니다. 그리고 마침 . 설치가 끝나면 로그인하라는 메시지가 표시됩니다. 기본 로그인은 관리자입니다. , 기본 비밀번호는 zabbix입니다. (변경).

Zabbix 설치 및 기본 구성 가이드

Zabbix 서버 설치가 끝났습니다.

다른 OS에 Zabbix 서버 설치에 대한 단계별 지침과 소스 코드에서 zabbix-server를 빌드하거나 도커 컨테이너에서 실행하는 방법에 대한 가이드는 https://www.zabbix.com/download에서 찾을 수 있습니다.

Active Directory LDAP를 사용하여 사용자를 인증하도록 Zabbix를 구성할 수 있습니다.

Windows에 Zabbix 에이전트를 설치하는 방법

Windows를 실행하는 서버에 Zabbix 에이전트를 설치하고 Zabbix 모니터링 서버에 추가해 보겠습니다. https://www.zabbix.com/download_agents에서 Windows용 Zabbix 에이전트 버전을 다운로드할 수 있습니다. Zabbix 설치 및 기본 구성 가이드

필요한 에이전트 버전을 선택하십시오. msi를 선택하겠습니다. (amd64) (OpenSSL 제외). GPO 또는 SCCM을 사용하여 도메인 서버/컴퓨터에 Zabbix 에이전트를 설치하려는 경우 바이너리 및 구성 파일이 포함된 ZIP 아카이브를 다운로드할 수 있습니다.

설치 프로그램을 실행하고 라이센스 계약에 동의하고 Zabbix 서버에 연결하기 위한 설정을 지정합니다. "활성 검사를 위한 서버 또는 프록시" 필드에 IP:PORT에 IP 주소를 입력했습니다. 체재. 기본 포트를 그대로 두었으므로 192.168.20.30:10051을 입력했습니다. .

Zabbix 설치 및 기본 구성 가이드

다음을 클릭합니다. 몇 번 클릭한 다음 설치를 클릭합니다. .

에이전트가 설치되었는지 확인하십시오. Zabbix 에이전트는 서비스 목록에 나타나야 합니다.

Zabbix 설치 및 기본 구성 가이드

Windows 호스트의 Windows 방화벽에서 Zabbix 서버 IP 주소의 인바운드 연결 허용:

New-NetFirewallRule -DisplayName "ZabbixMonitoring" –RemoteAddress 192.168.20.30 -Direction Inbound -Protocol TCP –LocalPort 10050 -Action Allow

Zabbix 서버에 새 호스트를 추가하는 방법

에이전트가 작동 가능한지 확인하려면 testnode2 호스트를 Zabbix 서버에 추가하고 몇 가지 검사(템플릿)를 할당하십시오.

참고 . Zabbix에는 두 가지 유형의 검사가 있습니다.

  • 수동 — Zabbix 서버가 에이전트로부터 일부 데이터를 요청합니다.
  • 활성 — 에이전트가 서버에 데이터를 보내고 있습니다.

에이전트 설치 중에 활성 검사를 위해 서버를 IP:PORT로 지정했습니다.

Zabbix 웹 인터페이스를 통해 새 모니터링 호스트를 추가할 수 있습니다. 구성으로 이동 -> 호스트 .

호스트 만들기를 클릭합니다. 세부 정보를 입력합니다. 호스트 이름 장치 호스트 이름 또는 에이전트 구성 파일의 Hostname 매개변수 값과 정확히 일치해야 합니다.

Zabbix 설치 및 기본 구성 가이드

템플릿에서 기본 제공 Windows 템플릿 추가 탭. Zabbix의 템플릿은 하나 이상의 호스트에 할당할 수 있는 값, 트리거, 그래프 및 검색 규칙의 집합입니다.

기본 제공 템플릿에는 "활성" 레이블이 있으며 활성 검사가 사용됨을 의미합니다.

Zabbix 설치 및 기본 구성 가이드

추가를 클릭합니다. . 서버와 에이전트가 서로를 볼 때까지 기다리지 않으려면(보통 몇 분 소요) testnode2에서 Zabbix 에이전트 서비스를 다시 시작하고 에이전트 로그(C:\Program Files\Zabbix Agent\zabbix_agentd.txt ).

Zabbix 설치 및 기본 구성 가이드

Zabbix 설치 및 기본 구성 가이드

"started [active checks #1] " 메시지는 호스트에 대한 일부 활성 검사가 서버에서 발견되었음을 의미합니다. 그런 다음 Zabbix 서버가 에이전트로부터 받은 데이터를 살펴보십시오. 이를 수행하려면 모니터링으로 이동하세요. -> 최신 데이터 호스트 에서 호스트를 선택합니다. 필드.

Zabbix 설치 및 기본 구성 가이드

이 섹션은 선택한 호스트 또는 Zabbix 서버에 온 호스트 그룹에 대한 최신 데이터를 보여줍니다.

제 경우에는 Zabbix 대시보드에 BITS 서비스가 실행되고 있지 않다는 알림이 포함되어 있습니다. 기본 제공 템플릿을 호스트에 할당한 후 알림이 표시되었습니다. 템플릿 중 하나에는 BITS 검사가 있으며 BITS 서비스가 실행 중 상태가 아닌 경우 해당 트리거가 활성화됩니다.

Zabbix 설치 및 기본 구성 가이드

Agent for Windows가 구성되었습니다.

Linux에 Zabbix 에이전트 설치

Linux에 Zabbix 에이전트를 설치해 보겠습니다. 패키지 관리자를 사용하여 Ubuntu Server 18.04에 Zabbix 에이전트를 설치하려면 Zabbix 저장소를 다운로드하여 설치하십시오. 그런 다음 저장소에서 Zabbix 에이전트를 설치합니다.
# wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+$(lsb_release -sc)_all.deb
# sudo dpkg -i zabbix-release_5.0-1+$(lsb_release -sc)_all.deb
# sudo apt update
# sudo apt -y install zabbix-agent

CentOS에 저장소를 추가하고 Zabbix 에이전트를 설치하려면 다음 명령을 사용하십시오.
# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
# dnf clean all
# dnf install zabbix-agent

Zabbix 에이전트를 시작하기 전에 구성 파일 /etc/zabbix/zabbix_agentd.conf를 편집하십시오. 활성 검사를 위해 Zabbix 서버의 IP 주소를 지정하십시오.

Server=IP
ServerActive=192.168.20.30:10051
Hostname=testagent

그런 다음 에이전트 서비스를 시작합니다.

# service zabbix-agent start

에이전트가 성공적으로 시작되었는지 확인하십시오.

# cat /var/log/zabbix/zabbix_agentd.log

Zabbix 설치 및 기본 구성 가이드

"활성 검사 목록을 구문 분석할 수 없음 행 "는 서버의 호스트에 대한 활성 검사가 없음을 의미합니다.

Windows 에이전트와 마찬가지로 Linux 호스트를 Zabbix에 추가해야 합니다. Zabbix 서버의 호스트 설정에 있는 호스트 이름 매개변수에 유의하십시오. Zabbix 에이전트 구성 파일에서 지정한 Hostname 매개변수와 일치해야 합니다. 위의 구성 파일에서 호스트 이름을 testagent로 지정했습니다. .

Zabbix 설치 및 기본 구성 가이드

Zabbix 에이전트를 다시 시작하고 로그를 확인하십시오. 에이전트의 데이터가 Zabbix 서버에 나타나는지 확인하십시오. Linux에서 Zabbix 에이전트가 구성되었습니다.
다음 기사에서는 ICMP Ping을 통해 Zabbix에서 호스트 가용성의 에이전트 없는 모니터링을 살펴보겠습니다.