기본 콘텐츠로 건너뛰기

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

댓글

이 블로그의 인기 게시물

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에서 살펴보기로 하고 간단한 사용 예들은 다음과 같다. 로...

서버설정시 물리적인 포트 찾기 (ethtool 활용 팁)

네트워크 인터페이스가 10여개 이상인 서버에서 작업을 하다보면 많은 삽질이 인터페이스 찾는데서 발생한다. 모니터를 통해 서버 네트워크 인터페이스를 설정한 후 랙 뒤로 가게되면 10여개나 되는 인터페이스 중 어떤 인터페이스에 설정 했는지 알 수 없어 초보자들이 하는 삽질은 1번 인터페이스 부터 네트워크케이블을 연결한 후 다시 랙 앞으로가 명령어를 통해 해당 인터페이스가 연결 되었는지 확인 하는 것이다. for ( i=0; i<N; i++ )    if(i = 0) 네트워크 설정;    i port에 네트워크 케이블 연결    네트워크 연결 상태 검사    if (설정된 NIC가 살았는가? == alive)       작업 종료 최대 N번까지 실행되는 이 삽질은 서버가 하나라면 운동삼아 하겠지만 많은 서버를 설정해야 하는 경우 여간 귀찮은 작업이 아닐 수 없다. 이러한 삽질은 ethtool을 사용하면 줄일 수 있다. 방법은 간단하다.   네트워크 인터페이스 설정   ethtool -p eth0 time   time 미 설정시 무한 반복됨   랙뒤로 가서 반짝거리는 포트에 네트워크 케이블 연결 ethtool을 지원하지 않는 하드웨어가 있을 수 있지만 대부분 사용하는데 문제는 없을 것으로 본다.

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 패킷 수집화면]