웹사이트 검색

Ubuntu에 Zabbix를 설치하고 여러 VPS 서버를 모니터링하도록 구성하는 방법


상태: 더 이상 사용되지 않음

이 문서에서는 더 이상 지원되지 않는 Ubuntu 버전에 대해 설명합니다. 현재 Ubuntu 12.04를 실행하는 서버를 운영 중인 경우 지원되는 Ubuntu 버전으로 업그레이드하거나 마이그레이션하는 것이 좋습니다.

  • Ubuntu 14.04로 업그레이드합니다.
  • Ubuntu 14.04에서 Ubuntu 16.04로 업그레이드
  • 서버 데이터를 지원되는 버전으로 마이그레이션

이유:

대신 참조:

소개

Zabbix는 네트워크 서버 및 소프트웨어 모니터입니다. 여러 물리적 또는 가상 사설 서버 인스턴스를 추적하는 데 사용할 수 있습니다.

Zabbix가 사용하는 클라이언트-서버 모델을 통해 클라우드 서버는 과거 추세를 그래프로 나타내는 데 사용되는 풍부한 데이터 세트를 수집할 수 있습니다. 이는 VPS에서 호스팅되는 웹사이트 및 애플리케이션의 성능을 모니터링하는 데 매우 유용할 수 있습니다.

이 가이드에서는 두 대의 머신을 구성합니다. 하나는 서버로 구성되고 다른 하나는 클라이언트로 구성됩니다. 둘 다 20GB Droplets에서 Ubuntu 12.04 LTS를 실행합니다.

Zabbix 서버 설치

모니터링 스테이션으로 사용할 VPS에 Zabbix 서버를 설치하는 것으로 시작합니다.

Ubuntu에는 저장소에 Zabbix가 있지만 구식입니다. 대신 최신 패키지와 함께 PPA를 사용합니다.

PPA를 추가하려면 적절한 소스 목록을 편집하십시오.

sudo nano /etc/apt/sources.list

파일 끝에 다음 항목을 추가합니다.

# Zabbix Application PPA
deb http://ppa.launchpad.net/tbfr/zabbix/ubuntu precise main
deb-src http://ppa.launchpad.net/tbfr/zabbix/ubuntu precise main

파일을 저장하고 닫습니다.

다음으로 apt-get이 소스를 신뢰하도록 PPA 키를 추가해야 합니다.

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C407E17D5F76A32B

이제 Zabbix를 설치할 수 있습니다. 필요한 LAMP 종속성도 가져옵니다.

sudo apt-get update
sudo apt-get install zabbix-server-mysql php5-mysql zabbix-frontend-php

설치하는 동안 MySQL 루트 계정의 암호를 선택하라는 메시지가 표시됩니다. 선택을 하고 선택을 확인합니다.

Zabbix 서버 구성

다음으로 방금 설치한 패키지를 구성해야 합니다.

먼저 기본 Zabbix 서버 구성 파일을 편집합니다. 루트 권한으로 파일을 엽니다.

sudo nano /etc/zabbix/zabbix_server.conf

다음 속성을 검색하고 적절하게 설정합니다. 일부는 이미 올바르게 설정되어 있을 수 있으며 일부는 추가해야 할 수도 있습니다. 암호도 선택하십시오.

DBName=zabbix
DBUser=zabbix
DBPassword=Your.Password.Here

파일을 저장하고 닫습니다.

MySQL 구성

다음으로 패키지 디렉토리로 이동하여 데이터베이스 환경을 정의할 SQL 파일의 압축을 풉니다.

cd /usr/share/zabbix-server-mysql/
sudo gunzip *.gz

SQL 파일을 데이터베이스로 가져옵니다. 그러나 먼저 데이터베이스를 만들고 몇 가지 초기 구성을 수행해야 합니다.

설치 중에 설정한 비밀번호를 사용하여 루트 사용자로 MySQL에 로그인합니다.

mysql -u root -p

먼저 "/etc/zabbix/zabbix_server.conf" 파일에 입력한 정보와 일치하는 Zabbix 사용자를 만듭니다. 동일한 정보를 사용해야 합니다.

create user 'zabbix'@'localhost' identified by 'Your.Password.Here';

다음으로 Zabbix 데이터베이스를 생성합니다.

create database zabbix;

우리가 만든 새 사용자에게 새 데이터베이스에 대한 제어권을 부여합니다.

grant all privileges on zabbix.* to 'zabbix'@'localhost';

다음 줄은 새 권한을 구현합니다.

flush privileges;

이제 초기 MySQL 구성이 완료되었습니다. 셸로 돌아가기:

exit;

이제 데이터베이스가 설정되었으므로 Zabbix가 작동하는 데 필요한 파일을 가져올 수 있습니다. 프롬프트가 표시되면 구성한 "zabbix" 사용자의 비밀번호를 입력하십시오.

mysql -u zabbix -p zabbix < schema.sql

이미지 파일에 대해 동일한 작업을 수행합니다.

mysql -u zabbix -p zabbix < images.sql

마지막으로 데이터 파일을 가져옵니다.

mysql -u zabbix -p zabbix < data.sql

PHP 구성

모니터링 데이터의 PHP 처리를 위해 일부 값을 조정해야 합니다. PHP 구성 파일을 엽니다.

sudo nano /etc/php5/apache2/php.ini

다음 항목을 검색하고 조정합니다. 존재하지 않는 경우 다음을 추가하십시오.

post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = UTC

파일을 저장하고 닫습니다.

다음으로 Zabbix 관련 php 파일을 구성 디렉토리에 복사합니다.

sudo cp /usr/share/doc/zabbix-frontend-php/examples/zabbix.conf.php.example /etc/zabbix/zabbix.conf.php

파일 열기:

sudo nano /etc/zabbix/zabbix.conf.php

다음 값을 편집합니다. 이전에 데이터베이스를 설정할 때와 동일한 정보를 사용합니다.

$DB['DATABASE'] = 'zabbix';
$DB['USER'] = 'zabbix';
$DB['PASSWORD'] = 'Your.Password.Here'

파일을 저장하고 닫습니다.

추가 파일 구성

구성해야 할 파일이 몇 개 더 있습니다.

먼저 패키지 디렉토리에서 Zabbix apache 파일을 이동합니다.

sudo cp /usr/share/doc/zabbix-frontend-php/examples/apache.conf /etc/apache2/conf.d/zabbix.conf

Apache 내에서 "alias" 모드가 활성화되어 있는지 확인하십시오.

sudo a2enmod alias

복사된 구성 파일을 사용하려면 Apache를 다시 시작하십시오.

sudo service apache2 restart

올바른 작업을 수행하도록 Zabbix 초기화 파일을 편집합니다.

sudo nano /etc/default/zabbix-server

맨 아래로 이동하여 "START" 속성을 "yes"로 조정합니다.

START=yes

파일을 저장하고 닫습니다. 이제 Zabbix를 시작할 수 있습니다.

sudo service zabbix-server start

Zabbix 에이전트 설치 및 구성

다음으로 Zabbix 서버에 보고하는 에이전트 소프트웨어를 구성해야 합니다. 서버 시스템과 추가 클라이언트 시스템에 에이전트 소프트웨어를 설치합니다.

두 시스템 모두에서 다음 단계를 따르십시오. 올바른 정보를 반영하도록 명령을 조정합니다.

먼저 에이전트 소프트웨어를 설치합니다.

sudo apt-get update
sudo apt-get install zabbix-agent

다음으로 구성 파일을 업데이트해야 합니다.

sudo nano /etc/zabbix/zabbix_agentd.conf

Zabbix 서버의 IP 주소를 반영하도록 "Server" 속성을 편집하십시오. Zabbix 서버의 에이전트 구성의 경우 "127.0.0.1"을 사용할 수 있습니다.

Server=Zabbix.Server.IP.Address

모니터링 중인 시스템의 호스트 이름을 반영하도록 "호스트 이름" 속성을 조정합니다.

Hostname=Hostname_Of_Current_Machine
<p>Save and close the file.</p>

<p>Restart the agent software:</p>
sudo service zabbix-agent restart

처음으로 로그인

웹 브라우저에서 Zabbix 서버 IP 주소와 "/zabbix"로 이동합니다.

Your.Zabbix.IP.Address/zabbix

로그인 화면이 나타납니다. 기본 자격 증명은 다음과 같습니다.

Username = admin
Password = zabbix

로그인한 후 "구성" 버튼을 클릭한 다음 상단 탐색 표시줄에서 "호스트"를 클릭하십시오.

서버 이름을 클릭합니다(기본적으로 "Zabbix 서버"여야 함). 그러면 호스트 구성 페이지가 열립니다.

Zabbix 서버의 호스트 이름을 반영하도록 호스트 이름을 조정합니다(서버 시스템의 에이전트 구성에 입력한 호스트 이름과 동일해야 함).

하단에서 "Status" 속성을 "Monitored"로 변경합니다. 저장을 클릭합니다.

호스트 구성 페이지로 다시 돌아갑니다. 호스트 이름을 다시 클릭하십시오.

이번에는 페이지 하단의 "복제" 버튼을 클릭합니다.

클라이언트 시스템의 설정을 반영하도록 구성합니다. 클라이언트 에이전트 파일의 올바른 정보를 반영하도록 호스트 이름과 IP 주소를 변경합니다.

"그룹" 섹션에서 "Zabbix 서버"를 선택하고 오른쪽 화살표 아이콘을 클릭하여 해당 그룹을 제거합니다. "Linux 서버"를 선택하고 왼쪽 화살표 아이콘을 클릭하여 해당 그룹 설정을 추가합니다.

하단의 "저장"을 클릭합니다.

몇 분 후에 "모니터링"으로 이동한 다음 "최신 데이터"를 클릭하여 두 컴퓨터를 볼 수 있어야 합니다.

채우는 서버 및 클라이언트 시스템 모두에 대한 정보가 있어야 합니다.

항목 옆의 화살표를 클릭하면 수집된 정보를 볼 수 있습니다.

"그래프"를 클릭하면 수집된 데이터 포인트의 그래픽 표현이 표시됩니다.

모든 모니터링 소프트웨어와 마찬가지로 이러한 그래프는 서버가 오래 실행될수록 더욱 흥미로워집니다.

VPS를 주시하기 위해 활용할 수 있는 다른 많은 옵션이 있습니다. 강력한 모니터링 도구에 익숙해지려면 인터페이스를 탐색하십시오.