Debian 9 Linux에서 Zabbix 설치 및 구성 방법

Debian 9 Linux에서 Zabbix 설치 및 구성 방법

2022-06-01 last update

21 minutes reading debian monitoring zabbix
Zabbix는 네트워크와 응용 프로그램을 감시하는 성숙한 소스 개발 소프트웨어이다.Zabbix는 각종 네트워크 장치, 시스템, 응용 프로그램에서 지표를 수집할 수 있다.만약 어떤 고장이 발생하면 Zabbix는 여러 가지 방법으로 알림 경보를 발송할 것입니다.Zabbix는 프록시 기반 및 프록시 없는 모니터링을 지원합니다.Zabbix 에이전트는 Linux, UNIX, macOS, Windows를 포함한 다양한 플랫폼에서 실행할 수 있는 공간이 작습니다.이 강좌에서는 데이터베이스 백엔드로 MySQL을 사용하여 Debian 9 Linux 서버에 최신 버전의 Zabbix 4.0을 설치하고 구성하는 방법을 설명합니다.원격 호스트에 Zabbix 에이전트를 설치하고 호스트를 Zabbix 서버에 추가하는 방법도 보여 드리겠습니다.

선결 조건

로그인할 때 소유해야 하는 사용자 sudo privileges
패키지를 설치할 수 있습니다.

MySQL 데이터베이스 만들기

Zabbix 지원 2개MySQL
/MariaDB 및 PostgreSQL
. 이 가이드에서는 데이터베이스 백엔드로 MariaDB를 사용합니다.Debian 서버에 MariaDB가 설치되어 있지 않은 경우 다음 절차를 따르십시오these instructions
.MySQL 콘솔에 로그인:
sudo mysql
다음 SQL 문을 실행합니다create a new database.
:
CREATE DATABASE zabbix CHARACTER SET utf8 collate utf8_bin;
다음으로 만들기MySQL user account and grant access to the database
:
GRANT ALL ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY 'change-with-strong-password';
강력한 암호를 사용하여 변경해야 합니다change-with-strong-password.완료되면 다음을 입력하십시오:
EXIT;

Debian에 Zabbix 설치

MySQL 콘솔을 종료하고 이 글을 작성할 때 Zabbix의 최신 안정 버전은 버전 4.0입니다.데비안 저장소에서 사용할 수 있는 Zabbix 패키지는 일반적으로 유행이 지났기 때문에 공식 버전Zabbix repository을 사용합니다.
.

1. Zabbix 설치

최신 Zabbix 저장소.deb 패키지 다운로드
:
wget https://repo.zabbix.com/zabbix/4.0/debian/pool/main/z/zabbix-release/zabbix-release_4.0-2+stretch_all.deb
파일을 다운로드한 후 다음 명령을 사용하여 설치합니다.
sudo apt install ./zabbix-release_4.0-2+stretch_all.deb
패키지 목록을 업데이트하고 Zabbix 서버를 설치하고 MySQL 데이터베이스를 지원하는 웹 프런트엔드와 Zabbix 에이전트를 설치합니다.
sudo apt updatesudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-agent
상기 명령도 설치됩니다 wget command
, Apache
, 그리고 필요한 모든 PHP 모듈.

2, Zabbix 프런트엔드용 PHP 구성

설치 과정에서 필요한 모든 아파치와 PHP 설정을 포함하는 아파치 프로필이 생성되었습니다.시간대 행에 대한 설명을 취소하고 시간대로 변경하는 구성 파일을 엽니다.PHP가 지원하는 전체 시간대 목록PHP을 찾을 수 있습니다.
./etc/apache2/conf-enabled/zabbix.conf
...
    <IfModule mod_php7.c>
        php_value max_execution_time 300
        php_value memory_limit 128M
        php_value post_max_size 16M
        php_value upload_max_filesize 2M
        php_value max_input_time 300
        php_value max_input_vars 10000
        php_value always_populate_raw_post_data -1
        php_value date.timezone America/Denver
    </IfModule>
...
가 완료되면 파일을 저장하고 아파치 서비스를 다시 시작하여 변경 사항을 활성화합니다.
sudo systemctl restart apache2

3. Zabbix 서버에 MySQL 데이터베이스 구성

MySQL 덤프 파일을 가져옵니다. 여기에는 MySQL을 사용하는 Zabbix 서버의 초기 구조와 데이터가 포함됩니다.(adsbygoogle=window.adsbygoogle | |[]).푸시({});
gunzip < /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix
프롬프트가 나타나면 이전에 만든 사용자 암호를 입력합니다.성공하면 출력이 나오지 않습니다.다음은 Zabbix 구성을 열고 데이터베이스 암호를 설정합니다.
sudo nano /etc/zabbix/zabbix_server.conf
다음 부분을 검색하고 DBPassword 명령에 대한 설명을 취소하고 데이터베이스 암호를 추가합니다.etc/zabbix/zabbix\u 서버.conf
...
### Option: DBPassword
#       Database password.
#       Comment this line if no password is used.
#
# Mandatory: no
# Default:
DBPassword=change-with-strong-password
...
는 파일을 저장하고 닫습니다.Zabbix 서버 및 프록시 서비스 재시작 및 활성화:
sudo systemctl restart zabbix-server zabbix-agentsudo systemctl enable zabbix-server zabbix-agent
Zabbix 서버가 실행 중인지 확인:
sudo systemctl status zabbix-server

Zabbix 프런트엔드 설치 및 구성

Zabbix 웹 인터페이스는 PHP로 작성되어 서버를 설정하고 수집된 데이터를 보고 감시할 호스트를 추가할 수 있습니다.설치를 시작하려면 열기 here
그런 다음 서버의 도메인 이름이나 공용 IP 주소를 입력하고 /zabbix:
● zabbix-server.service - Zabbix Server
   Loaded: loaded (/lib/systemd/system/zabbix-server.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2019-01-28 15:37:21 CST; 35s ago
 Main PID: 27632 (zabbix_server)
   CGroup: /system.slice/zabbix-server.service
   ...
첫 번째 화면에서 환영 메시지가 표시됩니다.Next step를 클릭하여 계속합니다. 다음에 Zabbix 프런트엔드를 실행하는 데 필요한 PHP 패키지가 나열된 정보 페이지를 볼 수 있습니다.모든 내용이 설치되어 있고 올바르게 설정되었는지 확인하기 위해 아래로 스크롤합니다.확인 후 Next step 를 클릭하여 계속합니다. 다음 화면에서 설치 마법사가 데이터베이스 연결에 대한 자세한 정보를 입력해야 합니다.이전에 만든 MySQL 사용자 및 데이터베이스 세부 정보를 입력합니다. 서버 이름을 입력할 수 있습니다.Zabbix 모니터링 서버가 여러 개인 경우 입력하십시오.제공되면 메뉴 모음과 페이지 제목에 표시됩니다.Next step를 클릭하여 계속합니다. 다음 화면에서 사전 설치 요약을 볼 수 있습니다.을(를) 클릭하면 설치가 완료되면 Zabbix 웹 인터페이스가 설치된 페이지를 표시합니다.Zabbix 로그인 페이지에 액세스하려면 Next step 단추를 클릭합니다. 기본 사용자는 "Admin"이고 비밀번호는 "zabbix"입니다.사용자 이름과 암호를 입력하고 Finish 버튼을 클릭합니다.에 로그인하면 Zabbix 관리 대시보드로 리디렉션됩니다.여기서 Zabbix 설치를 사용자 정의하고 새 호스트를 추가할 수 있습니다.우선, 현재 비밀번호를 변경해야 합니다.이 작업을 수행하려면 위쪽 탐색에서 프로파일 아이콘 을 클릭하여 사용자 프로파일 페이지로 이동합니다.

Zabbix 서버에 새 호스트 추가

모니터링에 사용할 새 호스트를 Zabbix 서버에 추가하는 절차는 두 가지 절차를 포함합니다.우선, 원격 호스트에 Zabbix 에이전트를 설치한 다음 웹 인터페이스를 통해 호스트를 Zabbix 서버에 추가해야 한다.

Zabbix 에이전트 설치

이 강좌는 호스트도 Debian 9을 사용한다고 가정합니다.Zabbix 서버를 설치할 때와 마찬가지로 다음 명령을 실행하여 Zabbix 저장소를 사용합니다.
http(s)://your_domain_or_ip_address/zabbix
패키지 목록을 업데이트하고 Zabbix 프록시 패키지를 설치합니다.
wget https://repo.zabbix.com/zabbix/4.0/debian/pool/main/z/zabbix-release/zabbix-release_4.0-2+stretch_all.debsudo apt install ./zabbix-release_4.0-2+stretch_all.deb
Zabbix는 두 가지 서버 클라이언트 통신 암호화 방법, 즉 미리 공유 키(PSK)와 인증서 기반 암호화를 지원합니다.이 안내서에서는 서버와 프록시 간의 연결을 보호하기 위해 미리 공유 키(PSK) 방법을 사용합니다.다음 명령을 실행하여 미리 공유된 키를 생성하여 파일에 저장합니다.
sudo apt updatesudo apt install zabbix-agent
PSK 키의 외관은 다음과 같습니다.
openssl rand -hex 32 | sudo tee /etc/zabbix/zabbix_agentd.psk
Zabbix 프록시 프로필을 엽니다.
fc3077ed3db8589ec920ac98a7ddea96aca205eb63bbd29c66ae91743a7ecbb6
IP 주소를 검색하고 기본값에서 Zabbix 서버 IP:/etc/Zabbix/Zabbix\u 에이전트로 변경합니다.ff
sudo nano /etc/zabbix/zabbix_agentd.conf
다음에 Log in 옵션을 찾아 설명을 취소하고 Server로 설정합니다. (adsbygoogle=window.adsbygoogle | | [])푸시 ({})/etc/zabbix/zabbix\u 에이전트.ff
...
### Option: Server
#       List of comma delimited IP addresses, optionally in CIDR notation, or DNS names of Zabbix servers and Zabbix proxies.
#       Incoming connections will be accepted only from the hosts listed here.
#       If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally
#       and '::/0' will allow any IPv4 or IPv6 address.
#       '0.0.0.0/0' can be used to allow any IPv4 address.
#       Example: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com
#
# Mandatory: yes, if StartAgents is not explicitly set to 0
# Default:
# Server=

Server=127.0.0.1
...
에서 TSLConnect 옵션을 찾으면 주석을 취소하고 psk로 설정합니다./etc/zabbix/zabbix\uagentd.conf
...
### Option: TLSConnect
#       How the agent should connect to server or proxy. Used for active checks.
#       Only one value can be specified:
#               unencrypted - connect without encryption
#               psk         - connect using TLS and a pre-shared key
#               cert        - connect using TLS and a certificate
#
# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection)
# Default:
TLSConnect=psk
...
다음에 TLSAccept 옵션을 찾아 주석을 취소하고 psk로 설정합니다. 이 값은 유일한 문자열이어야 합니다:/etc/zabbix/zabbix_agentd.ff
...
### Option: TLSAccept
#       What incoming connections to accept.
#       Multiple values can be specified, separated by comma:
#               unencrypted - accept connections without encryption
#               psk         - accept connections secured with TLS and a pre-shared key
#               cert        - accept connections secured with TLS and a certificate
#
# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection)
# Default:
TLSAccept=psk
...
마지막으로 TLSPSKIdentity 옵션을 찾으면 주석을 취소하고 이전에 만든 미리 공유 키를 가리키는 것으로 설정합니다./etc/zabbix/zabbix\u 에이전트.conf
...
### Option: TLSPSKIdentity
#       Unique, case sensitive string used to identify the pre-shared key.
#
# Mandatory: no
# Default:
TLSPSKIdentity=PSK 001
...
가 완료되면 파일을 저장하고 닫습니다.Zabbix 프록시 서비스를 시작하고 시작할 때 시작하도록 설정합니다.
...
### Option: TLSPSKFile
#       Full pathname of a file containing the pre-shared key.
#
# Mandatory: no
# Default:
TLSPSKFile=/etc/zabbix/zabbix_agentd.psk
...
다음에 방화벽 규칙을 추가하고 TCP 포트PSK 001에서 Zabbix 서버에서 오는 데이터를 사용합니다.사용 중인 경우 favorite browser
방화벽을 관리하고 TLSPSKFile IP 주소에서 액세스할 수 있도록 하려면 다음 명령을 실행하십시오.
sudo systemctl start zabbix-agentsudo systemctl enable zabbix-agent

새 호스트 설정

현재 모니터링할 원격 호스트의 에이전트가 설치되어 구성되어 있으며, 다음 단계는 Zabbix 서버에 호스트를 등록하는 것입니다.관리자 사용자로 Zabbix 서버 웹 인터페이스에 로그인합니다.
sudo ufw allow proto tcp from 192.168.121.70 to any port 10050
들어가면 위쪽 탐색 모음에서 10050 을 클릭한 다음 UFW 을 클릭한 다음 화면 오른쪽 상단의 파란색192.168.121.70 단추를 누르면 호스트 구성 페이지가 열립니다. 감시할 원격 호스트의 호스트 이름과 IP 주소를 입력하십시오.목록에서 그룹을 선택하여 호스트를 하나 이상의 그룹에 추가하거나 존재하지 않는 그룹 이름을 입력하여 새 그룹을 만듭니다.Configuration팀은 좋은 선택이다.이 완료되면 Hosts 탭을 클릭합니다.Create host 을 선택하고 Linux Servers 링크를 클릭하여 호스트에 템플릿을 추가합니다.다음으로 Templates 탭을 클릭합니다.Template OS LinuxAdd의 PSK를 선택합니다.Encryption 값을 Connections to host 로 설정합니다. 이것은 이전 단계에서 설정한 Zabbix 에이전트Connections from host 옵션의 값입니다.PSK identity 필드에서 Zabbix 프록시로 생성된 키를 추가합니다. 이 키는 PSK 001 파일에 저장됩니다. 마지막으로 호스트를 추가하려면 파란색addTLSPSKIdentity를 누르십시오.

결론

Debian 시스템에 최신 Zabbix를 성공적으로 설치하고 모니터링할 새 호스트를 추가하는 방법을 배웠습니다.지금 확인해야 합니다 PSK value
Zabbix를 구성하고 사용하는 방법에 대해 자세히 알아보십시오.문제가 있거나 피드백이 있으면 아래에 메시지를 남겨 주십시오.