기본 콘텐츠로 건너뛰기

Zabbix(2.2) 설치하기

Ubuntu에서 Zabbix 2.2 설정에 관한 내용입니다.

먼저 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를 설치하기 위해 update를 실행하고 관련 패키지들을 설치한다.

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

mysql 설치시 root의 패스워드를 묻는 창이 나오는데 root 계정의 패스워드를 입력하면 된다.


Zabbix 서버 설정
서버와 관련된 설정 파일은 zabbix_server.conf이며 /etc/zabbix 디렉토리 하위에 위치한다.
편집기로 해당 파일을 연후 설정하며 본 예에서는 단순히 DB관련 설정만 수정하였다.
sudo vi /etc/zabbix/zabbix_server.con
다음과 같이 수정한다.

DBName=zabbix
DBUser=zabbix
DBPassword=zabbix


MySQL 설정
데이터베이스를 연동하기 위해 먼저 해야될 일은 데이터베이스 사용자 계정 및 권한 추가이다.
mysql 루트 사용자로 데이터베이스를 접속한다.
mysql -u root -p
위 명령을 실행한 후 Enter password: 프롬프트가 보이면 설치시 입력했던 패스워드를 입력한다.
루트 로그인 후 mysql> 프롬프트가 보이면 다음과 같은 명령어를 통해 zabbix 계정을 추가한다.
create user 'zabbix'@'localhost' identified by 'zabbix';
본 예제에 zabbix의 패스워드를 zabbix로 하였다. 만약 패스워드를 변경하고자 한다면 identified by 바로 뒤에 있는 zabbix를 여러분들이 원하는 패스워드로 변경해주면 된다.
데이터 베이스 생성 방법은 다음과 같다.
create database zabbix;
생성된 계정이 로그인하기 위해서는 권한을 부여해야 하며 방법은 다음과 같다.
grant all privileges on zabbix.* to 'zabbix'@'localhost';
만약 외부에서 접속하고자 한다면 localhost를 IP 주소나 호스트 이름으로 변경해주면 된다.
마지막으로 다음 명령어를 통해 권한을 활성화 한다.
flush privileges;
사용자 계정 추가, 권한 부여, 데이터 베이스 생성을 완료한 후 mysql에 접속해서 추가적으로 수행해야 될 작업은 없기 때문에 mysql을 연결을 종료한다.
exit;

zabbix가 실행되기 위한 기본 테이블 정보와 이미지, 초기 데이터는 /usr/share/zabbix-server-mysql/ 하위에 schema.gz, images.gz, data.gz에 각각 SQL 문으로 저장되어 있다.
해당 파일들의 압축을 풀기 위해 다음과 같이 실행한다.

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

SQL문을 통해 테이블을 생성하기 위해서 다음과 같이 실행한다.
mysql -u zabbix -p zabbix < schema.sql

image 파일 데이터를 생성하기 위해서 다음과 같이 실행한다.
mysql -u zabbix -p zabbix < images.sql

마지막으로 초기 데이터를 생성하기 위해서 다음과 같이 실행한다.
mysql -u zabbix -p zabbix < data.sql


PHP 설정
Zabbix를 위한 php가 정상적으로 실행되기 위해 php.ini에 관련 설정을 해야한다.

편집기를 통해 php.ini을 수정한다.
sudo vi /etc/php5/apache2/php.ini
파일을 연후 다음 파라미터들을 예시와 같이 수정한다.
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = "Asia/Seoul"
위 파라미터들은 Zabbix가 실행되기 위해 필요한 최소 값이며 예제에서 보인 값 이하로 설정할 경우 웹을 통한 Zabbix 설정시 정상적으로 실행되지 않을 수 있다.

다음으로 Zabbix를 위한 php 설정 할 것이다. 설정 예제 파일은 /usr/share/doc/zabbix-frontend-php/examples/zabbix.conf.php.example로 해당 파일을 활용할 것이기 때문에 해당 파일을 /etc/zabbix/zabbix.conf.php로 복사해야한다.
다음과 같이 실행한다.
sudo cp /usr/share/doc/zabbix-frontend-php/examples/zabbix.conf.php.example /etc/zabbix/zabbix.conf.php


sudo vi /etc/zabbix/zabbix.conf.php
zabbix.conf.php에 데이터베이스 관련 설정들을 추가하기 위해 다음과 같이 수정한다.

$DB['DATABASE'] = 'zabbix';
$DB['USER'] = 'zabbix';
$DB['PASSWORD'] = 'zabbix'

cd /usr/share/zabbix-server-mysql/

date.timezone = "Asia/Seoul"


기타 설정
Zabbix는 기본적으로 Apache 웹 서버를 통해서 서비스되기 때문에 Apache 관련 설정도 추가해야 한다.
Apache 설정 예제 파일을 /etc/apache2/site-enabled/로 다음과 같이 복사한다.
sudo cp /usr/share/doc/zabbix-frontend-php/examples/apache.conf /etc/apache2/site-enabled/zabbix.conf
복사한 후 Apache 서버를 재 시작하면 적용된다.
sudo service apache2 restart
Zabbix가 정상적으로 동작하기 위해서는 Zabbix 초기 파일의 설정도 수정해야한다.
sudo vi /etc/default/zabbix-server
zabbix-server에서 START를 찾아 아래와 같이 수정한다.
START=yes
편집 후 파일을 저장한 후Zabbix 서버를 실행한다.
실행 방법은 다음과 같다.
sudo service zabbix-server start

설정이 정상적으로 완료되면 웹을 통해 Zabbix 서버 설정하는 절차가 남게된다.
웹 브라우저에 다음 URL을 기입하면 Web Zabbic 서버 설정 화면으로 이동하게된다.
http://localhost/zabbix

초기 접속을 위한 계정 정보는 다음과 같다.
Username = admin
Password = zabbix




설정이 완료된 후 권한 문제가 발생할 경우 Apache가 파일 쓰기 권한이 없어 발생한것으로 다음과 같은 명령어를 실행 한 후 다시 시도하면 성공할 것이다.

sudo chown -R www-data.www-data /etc/zabbix



Zabbic 에이전트 설정
서버 설치가 완료되면 Zabbix 서버에 데이터를 전송하는 에이전트를 구성해야한다. 에이전트는 다음과 같은 명령을 통해 설치한다.
sudo apt-get update
sudo apt-get install zabbix-agent

다음 설정 파일을 수정한다.

sudo nano /etc/zabbix/zabbix_agentd.conf

Server 항목을 찾아서 여러분들이 Zabbix 서버를 설치한 호스트의 IP 주소를 기입한다.

Server=127.0.0.1

에이전트가 설치된 호스트 이름도 수정해준다.

Hostname=Zabbix Client

설정이 완료되면 에이전트를 재시작한다.

sudo service zabbix-agent restart

댓글

이 블로그의 인기 게시물

가상 자원에 대한 접근을 위한 libguestfs

libguestfs는 가상머신 디스크 이미지에 대한 접근 및 수정하기 위한 다양한 도구를 제공하는 라이브러리이다. 이 라이브러를 통해 여러분들은 게스트 OS 내부의 파일을 수정하거나 VM에 대한 스크립트 작성, 가상 머신의 디스크 / 메모리 사용량 통계 모니터링, 게스트 생성, 백업, VM 복제, 디스크 포멧, 디스크 조정 등 다양한 작업을 할 수 있다. libguestfs는 C 라이브러리로 되어 있어  C/C++ 관리 프로그램들과 연결 가능하다. 현재 최신 버전의 libguestfs는 1.31.16 (2015.10.09 기준)이다. 설치 방법은 다음과 같다. 페도라 또는 레드햇 엔터프라이즈 버전 sudo yum install libguestfs-tools 우분트 sudo apt-get install libguestfs-tools libguestfs-tools이 정상적으로 설치되었다면 다음과 같은 툴들이 설치 될 것이다. guestfish — 대화식 쉘 guestmount — 호스트에서 게스트 파일 시스템 마운트 guestunmount — 게스트 파일 시스템 마운트 해제 virt-alignment-scan — 가상 머신 파티션 alignment 검사 virt-builder — 속성 이미지 빌더 virt-cat — 파일 내용 출력 virt-copy-in — VM으로 파일 또는 디렉토리 복사 virt-copy-out — VM에서 파일 또는 디렉토리 복사 virt-customize — 가상 머신 수정 virt-df — 디스크 사용량 virt-dib —  safe diskimage-builder virt-diff — differences virt-edit — 파일 편집 virt-filesystems — 파일 시스템, 디바이스, LVM에 대한 정보 출력 virt-format — 디스크 삭제 및 빈 디스크 생성 virt-get-kernel — 디스크로 부터 커널 획득 virt-inspector — VM 이...

virsh 설치 및 VM 상태 조회

VM을 모니터링하기 위해서는 다양한 방법을 사용할 수 있지만 간편한 방법중 하나는 virsh를 통해 VM을 모니터링하는 것이다. vrish를 사용하기 위해서 관련 패키지를 설치해야하며 설치 방법은 다음과 같다. Redhat 계열 yum install qemu libvirt-client virt-manager \ virt-viewer guestfish libguestfs-tools virt-top Ubuntu sudo apt-get install ubuntu-virt virt-top virt-what virsh가 정상적으로 설치되었다면 virsh를 통해 가상 머신의 상태를 확인해 볼 수 있다. virsh를 사용하기 위해서는 root 권한을 가지거나 관련 권한을 설정해주어야 한다. 권한 설정에 대해서는 다음 posting에서 다룰 것이다. virsh의 기본적인 사용방법은 다음과 같다. virsh [option] ... <command> <domain> [arg] ... 지정 가능한 옵션은 다음과 같다. h, --help 도움말 출력 -v, --version[=short] 버전 정보 출력 -V, --version=long 컴파일된 드라이버와 옵션들을 포함한 버전 정보 출력 -c, --connect URI 지정된 URI에 연결 -d, --debug LEVEL 디버그 (레벨은 0~4까지 지정 가능) -l, --log FILE FILE로 로그 저장 . -q, --quiet 종료(?) -r, --readonly 읽기 전용으로 실행 -t, --timing 각 명령어에 대한 실행 시간 출력 -e, --escape string 콘솔 명령어에 대한 탈출 문자 지정. 기본으로 텔넷과 동일한 ^]로 지정됨 virsh 명령어들에서 대해서는 다음 posting에서 살펴보기로 하고 간단한 사용 예들은 다음과 같다. 로...

Mac에서 Wireshark 설치

맥 (OS X El Capitan)에서 Wireshark를 사용하고 싶다면 CLI를 통한 간단한 방법은 brew를 통해 설치하는 것이다. 단순히 다음과 같은 명령을 실행해 주면 된다. brew install wireshark  --with-qt --with-qt는  GUI 모드를 포함하여 설치하는 것으로 GUI 모드를 원치않는다면 해당 옵션을 삭제하면 된다. 정상적으로 설치가 완료되면 CLI를 통해 tshark 명령을 실행할 수 있다. --with-qt 옵션을 주지 않았다면 thsark만을 실행할 수 있을 것이다. tshark -i eth0 [thsark 실행화면] GUI로 실행하고 싶다면 프롬프트에서 다음과 같이 실행하면 된다. wireshark-qt [wireshark-qt 실행화면] GUI를 통해 패킷을 수집하고자 한다면 Capture 버튼 옆에 인터페이스를 선택한 후 Capture 버튼을 선택하고 상단의 왼쪽에 있는 Start capturing packets라고 툴팁이 나오는 버튼을 클릭하면 패킷 수집이 시작된다. 수집 옵션을 설정하고자 한다면 Capture Filter에 옵션을 설정하면 된다. [wireshark-qt 패킷 수집화면]