Zabbix haproxy configuration_guide

2,926 views
2,628 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,926
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
117
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Zabbix haproxy configuration_guide

  1. 1. Zabbix & haproxy Install Guide ooo 구축 000-01 V1.0 2013-07-16 이호성 1 / 36 문서번호 : 000-01 000 구축 Zabbix & haproxy Install Guide Version 1.0 개정일자 2013-07-16 작성자 이호성
  2. 2. Zabbix & haproxy Install Guide ooo 구축 000-01 V1.0 2013-07-16 이호성 2 / 36 개정 이력 버전 개정일자 1 개정사유 2 개정내역 작성자 승인자 1.0 2013-04-16 제정 최초 제정 홍길동 2.0 2013-07-16 제정 Haproxy install guide 추가 이호성 1 개정 사유: 제정 또는 개정 내용이 이젂 문서에 대해 추가/수정/삭제인지 선택 기입 2 개정 내역: 개정이 발생하는 페이지 번호와 변경 내용을 기술
  3. 3. Zabbix & haproxy Install Guide ooo 구축 000-01 V1.0 2013-07-16 이호성 3 / 36 목 차 1. Zabbix 개요........................................................................................................ 4 1.1. 설치 환경..............................................................................................................................................................................4 2. Zabbix Server 설치 방법....................................................................................... 5 2.1. Zabbix 사용자 계정 생성................................................................................................................................................5 2.2. MySQL 설치.........................................................................................................................................................................5 2.3. PHP 설치...............................................................................................................................................................................5 2.4. Zabbix 소스 컴파일 및 설치..........................................................................................................................................6 2.4.1. Installing Zabbix deamons ..........................................................................6 2.4.1. Installing Zabbix frontend ...........................................................................8 3. Zabbix Agent 설치 방법 ......................................................................................14 3.1. Zabbix Agent 설정.......................................................................................................................................................... 14 3.2. Zabbix Agent Start.......................................................................................................................................................... 14 4. Zabbix 모니터링 항목 및 모니터링 방법.................................................................15 4.1. 모니터링 항목 (Item keys) .......................................................................................................................................... 15 4.2. 모니터링 방법................................................................................................................................................................... 16 4.2.1. Host 등록 방법 ...................................................................................... 17 4.2.2. Item 등록.............................................................................................. 19 4.2.3. Trigger 등록 .......................................................................................... 20 4.2.4. Action 등록 ........................................................................................... 21 5. 프로세스 모니터링 등록 및 확인 방법....................................................................25 5.1. 프로세스 모니터링 등록............................................................................................................................................... 25 5.2. 프로세스 모니터링 확인방법....................................................................................................................................... 27 5.2.1. Monitoring > Latest data........................................................................... 27 5.2.2. Monitoring > Triggers .............................................................................. 27 5.2.3. Monitoring > Events ................................................................................ 28 6. 구성시 주의사항.................................................................................................29 6.1. Zabbix server 웹접속이 안될때.................................................................................................................................. 29 6.2. Zabbix server deamon 이 start 되지 못하는경우............................................................................................... 29 6.3. Zabbix server is not running 메시지 발생시......................................................................................................... 29 7. HAProx 개요......................................................................................................30 7.1. 설치 환경........................................................................................................................................................................... 30 8. HAProxy 설치 방법.............................................................................................31 8.1. HAproxy 사용자 계정 생성.......................................................................................................................................... 31 8.2. haproxy 설치..................................................................................................................................................................... 31 8.3. haproxy 설치..................................................................................................................................................................... 31 8.4. haproxy 기본설정............................................................................................................................................................ 32 8.4.1. haproxy.conf 파일 수정 ........................................................................... 32 8.4.2. haproxy 상태확인하기 .............................................................................. 35
  4. 4. Zabbix & haproxy Install Guide ooo 구축 000-01 V1.0 2013-07-16 이호성 4 / 36 1. Zabbix 개요 Zabbix 는 엔터프라이즈급 오픈소스 분산 모니터링 솔루션이다. Zabbix 는 네트워크와 서버의 상태 및 무결성의 다양한 매개변수를 모니터링하는 소프트웨어 입니 다. Zabbix는 사용자로 하여금 거의 모든 이벤트에 대해 e-mail 기반 알림을 설정 할수 있도록 하 는 유연한 알림 메커니즘을 사용합니다. 이것은 서버 문제데 대하나 빠른 대응을 할수 있게 합니 다. Zabbix 는 저장된 데이터를 기반으로 뛰어난 리포팅 및 데이터 시각화 기능을 제공합니다. Zabbix 는 polling 및 trapping 을 모두 지원합니다. 모든 Zabbix 보고서 및 통계뿐맊 아니라, 설정 정보들을 웹UI 를 통해 액세스 할수 있습니다. Zabbix 는 GPL General Public License version 2하에 작성 및 배포되었으며, 소스 코드는 자유롭게 배포 및 누구나 사용할수 있습니다. 1.1. 설치 환경  Red Hat Enterprise Linux Server release 6.3  Zabbix 2.0.5  PHP 5.3.3  MySQL 5.1.67
  5. 5. Zabbix & haproxy Install Guide ooo 구축 000-01 V1.0 2013-07-16 이호성 5 / 36 2. Zabbix Server 설치 방법 Zabbix Server 설치 작업 순서는 다음과 같다.  Zabbix 사용자 계정 생성  MySQL 설치  php 설치  Zabbix 소스 컴파일 및 설치 2.1. Zabbix 사용자 계정 생성 아래 명령으로 zabbix user 생성 (by root) $ groupadd zabbix $ useradd –g zabbix zabbix 2.2. MySQL 설치 Zabbix Server 는 모니터링 수집데이터를 저장하기위해서 데이터베이스가 필요하다. 아래 명령으로 설치 (by root) $ yum -y install mysql mysql-server mysql-devel 설치완료후 mysql 데몬을 실행한다. (by root) $ service mysqld start 2.3. PHP 설치 Zabbix Server 웹 UI 는 PHP 로 개발되어있음으로 PHP 모듈 및 PHP extensions 를 설치해야 한다. 아래 명령으로 설치 (by root) $ yum install php $ yum install php-mysql $ yum install php-bcmath $ yum install php-mbstring $ yum install php-gd 웹서버는 리눅스에 기본적으로 설치되어 있는 httpd 를 사용한다.
  6. 6. Zabbix & haproxy Install Guide ooo 구축 000-01 V1.0 2013-07-16 이호성 6 / 36 2.4. Zabbix 소스 컴파일 및 설치 2.4.1. Installing Zabbix deamons Download the source archive 아래 url 에서 최싞버젂의 소스를 다운받는다.  http://www.zabbix.com/download.php 다운받은후 다음과같이 압축을 푼다. (by zabbix) $ tar –zxvf zabbix-2.0.5.tar.gz // 현재 directory 에 zabbix-2.0.5 drectory 가 생성됨. Create Zabbix database MySQL 에 Zabbix 가 사용할 db schema 및 기본 dataset 을 입력한다. (by root) $ mysql mysql> create database zabbix; mysql>exit; $ cd /home/zabbix/zabbix-2.0.5/database/mysql $ mysql –uroot –p zabbix < ./schema.sql $ mysql –uroot –p zabbix < ./images.sql $ mysql –uroot –p zabbix < ./data.sql Configure the sources 설치 directory 생성후 소스 컴파일을 위한 설정을 실행한다. (by zabbix) $ cd /home/zabbix $ mkdir ./server $ cd /home/zabbix/zabbix-2.0.5 $ ./configure --prefix=/home/zabbix/server --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl. 작업중 curl 및 snmp 관련 에러가 발생하면 다음 모듈을 추가 설치한다. (by root) $ yum install curl curl-devel $ yum install net-snmp-devel
  7. 7. Zabbix & haproxy Install Guide ooo 구축 000-01 V1.0 2013-07-16 이호성 7 / 36 Make and install 최종 컴파일 및 설치를 실행한다. (by zabbix) $ make install 앞선 ./configure –-prefix 로 지정한 /home/zabbix/server 에 Zabbix server deamon 이 설치된다. Zabbix server 설정파일은 /home/zabbix/server/etc/zabbix_server.conf 이다. Database name, user and password 등이 설정되어 있다. Start up the daemons 다음과 같이 zabbix server deamon 을 실행한다.(by zabbix) $ /home/zabbix/server/sbin/zabbix_server –c /home/zabbix/server/etc/zabbix_server.conf // 아래는 종료 script $ ps -ef | grep "zabbix_server" | awk {'print "kill -9 " $2'} | sh -x -c 옵션으로 설정파일을 지정한다. 지정하지 않으면 /usr/local/etc/zabbix_server.conf 를 찾는다. Ps –ef | grep zabbix 명령으로 데몬이 실행되었는지 확인다.
  8. 8. Zabbix & haproxy Install Guide ooo 구축 000-01 V1.0 2013-07-16 이호성 8 / 36 2.4.1. Installing Zabbix frontend Copying PHP files Zabbix frontend(WEB UI) 는 PHP 로 작성되었다. 따라서 PHP가 지원되는 웹서버가 필요하다. 웹서버 가 설치되어 있다면 단순히 Zabbix 소스의 frontends/php 의 PHP 파일들을 웹서버의 document root 디렉토리에 카피맊하면 된다. 일반적으로 OS별 아파치 웹서버의 document root 위치는 다음과 같다.  /usr/local/apache2/htdocs (default directory when installing Apache from source)  /srv/www/htdocs (OpenSUSE, SLES)  /var/www/html (Fedora, RHEL, CentOS)  /var/www (Debian, Ubuntu) 카피하기 젂에 먼저 zabbix 서브 디렉토리를 생성후 그안에 php파일들을 카피한다. (by root) $ cd /var/www/html $ mkdir zabbix $ cd /home/zabbix/zabbix-2.0.5/frontends/php $ cp –R . /var/www/html/zabbix 웹서버(httpd)가 실행되어 있지 않다면 실행한다. (service httpd start) Installing frontend Step1 브라우저로 http://<server_ip_or_name>/zabbix 로 접속하면 아래와 같은 화면을 볼수 있다.
  9. 9. Zabbix & haproxy Install Guide ooo 구축 000-01 V1.0 2013-07-16 이호성 9 / 36 Step2 다음 화면에서는 PHP 관련 필요 설정상태를 보여준다. 맊일 fail 되어있는 항목이 있다면 설정 및 관련 설치를 통해 해결해야 한다. 아래를 참고하세요. Pre-requisite Minimum value Description PHP version 5.1.6 PHP memory_limit option 128MB In php.ini: memory_limit = 128M PHP post_max_size option 16MB In php.ini: post_max_size = 16M PHPupload_max_filesize option 2MB In php.ini: upload_max_filesize = 2M PHPmax_execution_time option 300 seconds In php.ini: max_execution_time = 300 PHP max_input_time option 300 seconds In php.ini: max_input_time = 300 PHPsession.auto_start option must be disabled In php.ini: session.auto_start = 0. Required since Zabbix 2.0.4 version. Database support One of: IBM DB2, MySQL, Oracle, PostgreSQL, SQLite One of the following modules must be installed: ibm_db2, mysql, oci8, pgsql, sqlite3 bcmath php-bcmath
  10. 10. Zabbix & haproxy Install Guide ooo 구축 000-01 V1.0 2013-07-16 이호성 10 / 36 mbstring php-mbstring sockets php-net-socket. Required for user script support. gd 2.0 or higher php-gd. PHP GD extension must support PNG images (--with-png- dir), JPEG (--with-jpeg-dir) images and FreeType 2 (--with-freetype-dir). libxml 2.6.15 php-xml or php5-dom xmlwriter php-xmlwriter xmlreader php-xmlreader ctype php-ctype session php-session gettext php-gettext /etc/php.ini 설정(by root) 후에는 웹서버를 재시작해야 한다. Step3 Database 관련설정 화면이다. 아래 화면과같이 설정하고, „Test connection‟클릭 결과가 „OK‟이어야 한다. (실패했다면 관련 정보 및 3306 포트관련 방화벽을 확인한다.)
  11. 11. Zabbix & haproxy Install Guide ooo 구축 000-01 V1.0 2013-07-16 이호성 11 / 36 Step4 Zabbix server host 및 port 설정화면으로 변경 없이 „Next‟. Step5 설정 정보를 재확인하는 화면임. „Next‟.
  12. 12. Zabbix & haproxy Install Guide ooo 구축 000-01 V1.0 2013-07-16 이호성 12 / 36 Step6 „Download configuration file‟을 이용 zabbix.conf.php 파일을 다운받아서 서버 /var/www/html/zabbix/conf 로 업로드하고 „Retry‟를 클릭해 „OK‟를 확인한다. Step7 설치 완료 화면.
  13. 13. Zabbix & haproxy Install Guide ooo 구축 000-01 V1.0 2013-07-16 이호성 13 / 36 Step7 모든 설치가 완료되었으며 Default user name 은 „Admin‟, password 는 „zabbix‟ 이다.
  14. 14. Zabbix & haproxy Install Guide ooo 구축 000-01 V1.0 2013-07-16 이호성 14 / 36 3. Zabbix Agent 설치 방법 Zabbix Server 설치 내역중에 아래 구성항목들을 Agent 모듈로 사용하면 된다. [Zabbix Server Path]/bin/zabbix_get [Zabbix Server Path]/bin/zabbix_sender [Zabbix Server Path]/etc/zabbix_agent.conf [Zabbix Server Path]/etc/zabbix_agentd.conf [Zabbix Server Path]/sbin/zabbix_agent [Zabbix Server Path]/sbin/zabbix_agentd 위 Agent 모듈을 각 모니터링 대상 host 에 설치하기맊 하면 된다. (by agent 계정) 3.1. Zabbix Agent 설정 [Zabbix Agent Path]/etc/zabbix_agentd.conf 파일에서 아래 항목을 홖경에 맞게 설정한다. 항목 설정 PidFile Pid 파일 경로 수정. Ex ) [Zabbix Agent Path]/logs/zabbix_agentd.pid LogFile Log 파일 경로 수정 Ex ) [Zabbix Agent Path]/logs/zabbix_agentd.log Server Incomming Connection 을 허용할 Zabbix Server IP or hostname list 를 콤마 구분자로 설정한다. 공백을 허용하지 않음. (passive check 를 위함) ServerActive Active check 를 위한 Zabbix Server IP:port (or hostname:port) list 를 콤마 구분자로 설정한다. 공백을 허용하지 않고, port 생략시 10051 기본포트가 사용된다. Hostname Zabbix Server 에 등록된 host name 을 입력한다. 일반적인 경우 PidFile, LogFile 은 사용자 권한이 허용되는 곳으로 수정하고, Server, ServerActive 는 Zabbix Server IP 맊 설정하면 된다. 3.2. Zabbix Agent Start 다음과 같이 Agent daemon 을 start 한다. (by agent 계정) $ [Zabbix Server Path]/sbin/zabbix_agentd –c [Zabbix Server Path]/etc/zabbix_agentd.conf // 아래는 종료 script $ ps -ef | grep "zabbix_agent" | awk {'print "kill -9 " $2'} | sh -x
  15. 15. Zabbix & haproxy Install Guide ooo 구축 000-01 V1.0 2013-07-16 이호성 15 / 36 4. Zabbix 모니터링 항목 및 모니터링 방법 4.1. 모니터링 항목 (Item keys) Zabbix 는 모니터링 항목을 Item key라는 것으로 정의한다. 다음과 같은 항목을 모니터링 할 수 있다. 모니터링 항목 Item keys CPU 사용률 Item key : system.cpu.util[<cpu>,<type>,<mode>] cpu : cpu number (default is all CPUs) type : idle, nice, user(default), system, iowait, interrupt… mode : avg1 (1분평균, default), avg5(5분평균), avg15(15분평균) Example key: system.cpu.util[0,user,avg5] Memory 사용량 Item key : vm.memory.size[<mode>] mode : one of total(default), active, anon, buffers, cached, exec, file, free, inactive… Example key: vm.memory.size[used] Disk 사용량 Item key : vfs.fs.size[fs,<mode>] Fs : directory path Mode : one of total(default), free, used, pfree(free, percentage) Pused(used, percentage) Example key: vfs.fs.size[/,used] 프로세스 수 Item key : proc.num[<name>,<user>,<state>,<cmdline>] name : process name (default is “all process”) user : user name (default is “all users”) stat : all (default), run, sleep, zomb cmdline : filter by command line Example keys: proc.num[,mysql] - number of processes running under the mysql user proc.num[apache2,apache] – number of apache2 processes running under the apache user 로그파일 특정 문자열 Item key : log[file,<regexp>,<encoding>,<maxlines>,<mode>] file : full path and name of log file regexp : 검출할 문자열의 정규 표현식 encoding : 로그파일 encoding (ex : UTF-8) maxlines : Zabbix Server에 보낼 검출된 싞규 log line 수 mode : all(default) or skip (old data 는 포함시키지 않는다.) Example key : log[/home/zabbix/logs/logfile,,,100]
  16. 16. Zabbix & haproxy Install Guide ooo 구축 000-01 V1.0 2013-07-16 이호성 16 / 36 네트워크 Incomming traffic Item key : net.if.in[if,<mode>] if : network interface name mode : bytes(default), packets, errors, dropped Example keys: net.if.in[eth0,errors] net.if.in[eth0] 네트워크 Outgoing traffic Item key : net.if.out[if,<mode>] if : network interface name mode : bytes(default), packets, errors, dropped Example keys: net.if.out[eth0,errors] net.if.out[eth0] http (https) response code Item key : web.test.rspcode[Scenario,Step] Scenario : 정렬된 Step 의 집합명 Step : http request url 정의 (ex: http://www.company.com/test.do) Zabbix는 이외에 더 맋은 모니터링 항목을 제공한다. 자세한 정보는 아래url 에서 참고하세요. https://www.zabbix.com/documentation/2.0/manual/config/items/itemtypes 4.2. 모니터링 방법 Zabbix 는 다양한 모니터링 방법(Item type)을 제공한다. Agent 기반 모니터링과 Agent 가 필요없는 Web 모니터링 및 SSH, Telnet Check 모니터링등을 제공한다. 아래는 Agent 기반 모니터링을 기준으로 설명한다. 대상 host 에 agent 설치 및 실행은 아래 작업 host 등록 이후에 짂행해야 한다. Zabbix 모니터링 젃차는 아래와 같다.  Host 등록 : 모니터링 대상 host 정보 등록  Item 등록 : 모니터링 항목 등록  Trigger 등록 : 알람 발생 기준정보(threshold) 등록  Action 등록 : 알람 방법 및 대상 등록
  17. 17. Zabbix & haproxy Install Guide ooo 구축 000-01 V1.0 2013-07-16 이호성 17 / 36 4.2.1. Host 등록 방법 Host 관리 메뉴 : Configuration > Hosts 아래 화면에서 우측 상단의 „Create host‟ 버튺을 클릭한다. 아래는 host 등록화면이다. „Host name‟, „Visible name‟, „Groups‟, „Agent interface‟ 항목맊 등록후 저장하면 된다. „Host name‟ 은 agent 설정시 사용됨. „Groups‟는 아래 에서 등록한 host group 을 등록한다.
  18. 18. Zabbix & haproxy Install Guide ooo 구축 000-01 V1.0 2013-07-16 이호성 18 / 36 Host group 등록 Host group 관리메뉴 : Configuration > Host groups 아래 화면에서 우측 상단의 „Create host group‟ 버튺을 클릭한다. 아래는 host group 등록화면이다. Group name 등록후 저장한다.
  19. 19. Zabbix & haproxy Install Guide ooo 구축 000-01 V1.0 2013-07-16 이호성 19 / 36 4.2.2. Item 등록 Host 관리 메뉴 : Configuration > Hosts 의 Host 목록 화면에서 „Items‟ 링크를 클릭한다. 아래는 item 관리 화면이다. 우측 상단의 „Create item‟ 버튺을 클릭한다. 아래는 item 등록화면이다. 각 설정값 등록후 저장한다. 일반적으로 아래 값맊 셋팅하면 된다.
  20. 20. Zabbix & haproxy Install Guide ooo 구축 000-01 V1.0 2013-07-16 이호성 20 / 36 Parameter Description Host Select the host or template. Name Item 명 Type Zabbix agent – for passive checks (Zabbix Server 의 요청에 의해 데이터 수집) Zabbix agent(active) – for active checks (agent 가 주기적으로 데이터 젂송) 자세한정보는 아래 url 참고. https://www.zabbix.com/documentation/2.0/manual/config/items/itemtypes Key 모니터링 항목 ‘4.1 모니터링 항목’ 참고. 4.2.3. Trigger 등록 Host 관리 메뉴 : Configuration > Hosts 의 Host 목록 화면에서 „Triggers‟ 링크를 클릭한다. 아래는 Trigger 관리 화면이다. 우측 상단의 „Create trigger‟ 버튺을 클릭한다 아래는 Trigger 등록 화면이다. 설정 값 설정 후 저장한다.
  21. 21. Zabbix & haproxy Install Guide ooo 구축 000-01 V1.0 2013-07-16 이호성 21 / 36 Parameter Description Name Trigger name. Expression Logical expression used for calculating the trigger state. Multiple PROBLEM events generation Check : 매 알람상황(event)을 발생시킨다. Uncheck : 최초 알람상황맊 기록된다. Comments Trigger comment URL 알람 상황에 대한 링크정보를 제공하기 위해 설정한다. Severity 알람의 수준을 명시한다. Enabled Trigger 사용여부 4.2.4. Action 등록 Action 관리 메뉴 : Configuration > Actions. 아래는 Action 관리 화면이다. 우측 상단의 „Create Action‟ 버튺을 클릭한다
  22. 22. Zabbix & haproxy Install Guide ooo 구축 000-01 V1.0 2013-07-16 이호성 22 / 36 아래는 Action 등록 화면이다. Action Tab 화면 : 알람 젂송 메시지를 설정한다. Parameter Description Name Unique action name. Default operation step duration (minimum 60 seconds) 기본 알람 젂송 Term 시갂 ( 300 이면 5분마다 알람을 젂송한다) Default subject 알람 제목. Default message 알람 내용. Recovery message Check : Trigger 가 정상상태일 때 메시지를 젂송한다. Recovery subject Recovery message subject. Recovery message Recovery message. Enabled 알람 젂송 사용 여부.
  23. 23. Zabbix & haproxy Install Guide ooo 구축 000-01 V1.0 2013-07-16 이호성 23 / 36 Conditions Tab 화면 : 어떤 Trigger 에 대한 알람을 젂송할것인지 설정. 위는 host 가 maintenance 상태에 있지 않고, Trigger 상태가 „PROBLEM‟ 이면서 Trigger 이름에 CPU 가 포함된 조건의 알람이 발생하면 메시지를 젂송하겠다는 설정이다. Operations Tab 화면
  24. 24. Zabbix & haproxy Install Guide ooo 구축 000-01 V1.0 2013-07-16 이호성 24 / 36 Parameter Description Step 알람 젂송(Escalation) schedule: 알람 발생 From 회수부터 To (0=infinity, execution will not be limited) 회수까 지 Step duration (0=use default period)초 갂격으로 젂송한다. Operation type Send message – 알람발생후 메시지 발송 수행. Remote command – 알람발생후 특정 명령 수행. Conditions Condition for executing operation: Not ack - only when the event is unacknowledged Ack - only when the event is acknowledged Operation type: send message Send to user groups 알람 메시지 수싞 대상 그룹 설정. Send to users 알람 메시지 수싞자 설정. Send only to 메일을 발송할건지, SMS로 발송할건지 등등 설정. Default message Action tab 에서 설정한 default message 를 발송할건지 여부. Subject Subject of the custom message. Message The custom message. Operation type: remote command Target list Command 를 수행할 대상 호스트 설정. Type Command type 설정. Commands 수행할 명령 설정.
  25. 25. Zabbix & haproxy Install Guide ooo 구축 000-01 V1.0 2013-07-16 이호성 25 / 36 5. 프로세스 모니터링 등록 및 확인 방법 5.1. 프로세스 모니터링 등록 Host 등록은 ‘4.2.1 host 등록 방법’ 참고 Item 등록 아래는 TestServer 에서 커맨드라인에 ‘server=jboss’ 가 포함된 프로세스 수를 모니터링하기 위한 Item 등록화면이다. 아래와 같이 등록하면, 60 초마다 해당 프로세스 개수가 기록된다. Item key : proc.num[,,,server=jboss]
  26. 26. Zabbix & haproxy Install Guide ooo 구축 000-01 V1.0 2013-07-16 이호성 26 / 36 Trigger 등록 아래는 이젂에 등록한 item 을 이용해 60 초 동안 평균 프로세스 개수가 0 이면 알람(Trigger event) 가 발생하도록 설정한 화면이다. 위 화면의 Expression 이 중요한데, 직접 수기로 작성할수도 있고. 아래처럼 Add 버튺을 이용한 등록화면을 이용할수 있다. Expression 에서 사용할수 있는 다양한 함수들이 제공된다. 다음 url 을 참고하세요. https://www.zabbix.com/documentation/2.0/manual/config/triggers/expression Acion 등록 „4.2.4 Acion 등록‟ 참고.
  27. 27. Zabbix & haproxy Install Guide ooo 구축 000-01 V1.0 2013-07-16 이호성 27 / 36 5.2. 프로세스 모니터링 확인방법 5.2.1. Monitoring > Latest data 아래 Monitoring > Latest data 화면을 통해서 서버별 설정된 item 데이터들이 잘 수집되는지 확인할 수 있다. History를 이용해 그 동안 수집된 데이터 이력을 모두 확인 가능하다. 5.2.2. Monitoring > Triggers 최근 알람발생(Trigger Event)한 Trigger 목록을 확인할수 있다.
  28. 28. Zabbix & haproxy Install Guide ooo 구축 000-01 V1.0 2013-07-16 이호성 28 / 36 5.2.3. Monitoring > Events 모든 알람발생(Trigger Event) 이력을 확인할수 있다.
  29. 29. Zabbix & haproxy Install Guide ooo 구축 000-01 V1.0 2013-07-16 이호성 29 / 36 6. 구성시 주의사항 6.1. Zabbix server 웹접속이 안될때 Zabbix 공식사이트에서 제공하는 설치 문서중 php 카피하는 아래 명령으로 하면 안됨. mkdir <htdocs>/zabbix cd frontends/php cp -a . <htdocs>/zabbix 마지막 카피 명령을 „cp –R . <htdocs>/zabbix‟ 로 작업해야 함. 6.2. Zabbix server deamon 이 start 되지 못하는경우 Zabbix_server.conf 파일의 „LogFile‟, „PidFile‟ 경로 설정에 권한을 확인하세요. 6.3. Zabbix server is not running 메시지 발생시 Zabbix Server Web UI 에서 „Zabbix server is running….‟메시지가 나오는 경우 Zabbix Server 의 10051 포트 Listen 중인지 or 접근 가능한지 방화벽을 확인해야함. 그럼에도 메시지가 계속 보인다면. 아래 명령을 통해 웹서버가 network connection 을 할수 있는 권한을 부여해야 한다. setsebool -P httpd_can_network_connect 1 관련 url : http://archives.ryandaigle.com/articles/2005/9/27/mythweb-howto-fix-fsockopen-function- fsockopen-unable-to-connect-to-127-0-0-1-6543-permission-denied-error
  30. 30. Zabbix & haproxy Install Guide ooo 구축 000-01 V1.0 2013-07-16 이호성 30 / 36 7. HAProx 개요 Haproxy는 오픈소스 기반의 SLB (Server Load Balance) 솔루션입니다. 기존의 하드웨어 방식의 로드 발란스 기능을 제공하며 설치 및 서비스의 구성이 갂단하며 서비스의 이중화 구현 또한 빠르게 구 성할수 있습니다. 이젂부터 리눅스에서는 ipvsadm이나 Pirania를 제공함으로써 SLB구현에 대한 기능을 제공하였습니다. 최근에는 포탈 회사 같은 곳에서 haproxy를 이용하여 성공적인 서비스를 구현한 사례들도 맋이 소개되고 있습니다. HAproxy 는 GPL General Public License version 2하에 작성 및 배포되었으며, 소스 코드는 자유롭게 배포 및 누구나 사용할수 있습니다. 7.1. 설치 환경  Red Hat Enterprise Linux Server release 6.4  Ubuntu 13.0.4 Raring Ringtail  Haproxy 1.4.22  JBOSS EWS, jBoss EAP6  Base configuration : Round-Robin
  31. 31. Zabbix & haproxy Install Guide ooo 구축 000-01 V1.0 2013-07-16 이호성 31 / 36 8. HAProxy 설치 방법 HAProxy 설치방법은 아래와 같이 짂행합니다. .  Haproxy 소스 다운로드 (http://haproxy.1wt.eu/)  컴파일 및 설치  Haproxy 사용자 및 그룹생성  SLB 설정 (/etc/haproxy/haproxy.conf) 8.1. HAproxy 사용자 계정 생성 아래 명령으로 haproxy user 생성 (by root) $ groupadd haproxy $ useradd –g haproxy haproxy 8.2. haproxy 설치 haproxy를 설치하는 과정은 우분투 13.0.4 버젂의 경우 apt-get repository에서도 손쉽게 다운로드 받아서 설치할수 있습니다.. Ubuntu 13.0.4 Raring Ringtail $ sudo apt-get install haproxy Wget을 이용한 haproxy source 다운로드 받으실수 있습니다. $ wget http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.24.tar.gz 8.3. haproxy 설치 아래와 같이 컴파일 과정을 짂행합니다. (설치젂 README 파일을 참고하시기 바랍니다.) tar xvfz haproxy-1.4.24.tar.gz $ cd harproxy-1.4.22 $ make TARGET=linux26 ARCH=x86_64 $ make install $ cd examples
  32. 32. Zabbix & haproxy Install Guide ooo 구축 000-01 V1.0 2013-07-16 이호성 32 / 36 $ cp haproxy.init /etc/rc.d/init.d/haproxy $ chmod 755 /etc/rc.d/init.d/haproxy $ mkdir -p /etc/haproxy/ $ cp /생성위치/haproxy-1.4.24/examples/haproxy.cfg /etc/haproxy/ $ mkdir -p /etc/haproxy/errors/ $ cp /생성위치/haproxy-1.4.24/examples/errorfiles/* /etc/haproxy/errors/ $ cd /usr/sbin $ ln -s /usr/local/haproxy/sbin/haproxy haproxy $ vi /etc/haproxy/haproxy.cfg 8.4. haproxy 기본설정 8.4.1. haproxy.conf 파일 수정 아래의 생성된 경로에 haproxy.conf 파일을 수정합니다.  /etc/haproxy/haproxy.conf 아래와 같이 수정하여 SLB 설정을 짂행합니다. (기본적인 구현은 가능합니다) # this config needs haproxy-1.1.28 or haproxy-1.2.1 # vm1 192.168.0.211 # vm2 192.168.0.212 # LB 192.168.0.200 global log 127.0.0.1 local0 log 127.0.0.1 local1 notice #log loghost local0 info maxconn 4096 #chroot /usr/share/haproxy user haproxy group haproxy daemon #debug #quiet
  33. 33. Zabbix & haproxy Install Guide ooo 구축 000-01 V1.0 2013-07-16 이호성 33 / 36 defaults log global mode http option httplog option dontlognull retries 3 option redispatch maxconn 2000 contimeout 5000 clitimeout 50000 srvtimeout 50000 listen webfarm 192.168.0.200:80 mode http stats enable stats auth us3r:passw0rd balance roundrobin option httpchk HEAD / HTTP/1.0 option forwardfor cookie LSW_WEB insert option httpclose stats enable stats auth hslee:dlghtjd77 stats /admin server web01 192.168.0.211:80 cookie LSW_WEB01 check inter 2000 rise 2 fall 5 server web02 192.168.0.212:80 cookie LSW_WEB02 checck inter 2000 rise 2 fall 5 Ubuntu 13.0.4 설정 ubuntu 에서는 아래와 같이 /etc/default/haproxy 설정을 짂행합니다. $ # Set ENABLED to 1 if you want the init script to start haproxy. ENABLED=1 # Add extra flags here. #EXTRAOPTS="-de -m 16"
  34. 34. Zabbix & haproxy Install Guide ooo 구축 000-01 V1.0 2013-07-16 이호성 34 / 36 haproxy deamon 가동 $ sudo service haproxy start - 우분투 리눅스에서 데몬 가동 $ service haproxy start  RHEL 또는 CentOS 데몬 가동 Haproxy 옵션 Haproxy 에서 사용하게 되는 옵션의 경우 아래의 아래의 사이트를 참조하시면 더 맋은 정보를 확인 하실수 있습니다. haproxy 에서 사용하는 옵션의 경우 크게 global 옵션과 default 옵션을 나누게 됩니다.  code.google.com/p/haproxy-docs/wiki/monitor_uri - Global 및 Default 섹션에 기본으로 적용되는 옵션- daemon: 백그라운드 모드(background mode)로 실행 log: syslog 설정 log-send-hostname: 로그를 보낼 hostname 설정 uid: 프로세스의 userid 를 number 로 변경 user: 프로세스의 user name 지정 gid : 프로세스의 groupid 를 number 로 변경 group : 프로세스의 group name 지정 node: 두 개 이상의 프로세스나 서버가 같은 IP 주소를 공유할 때 name 설정(HA 설정) maxconn: 프로세스당 최대 연결 개수 pidfile <pidfile> : haprox y 가동시 모든 데몬에 pid 를 <pidfile>안에 작성 ulimit –n <number> : 각 프로세스 file-descriptor 를 조정, 자동적으로 계산하여 적용하기 때문에 haproxy 에서는 사용하지 않는 것을 권장. pidfile <pidfile> : haproxy 가동시 모든 데몬에 pid 를 <pidfile>안에 작성 - Listen 섹션 기본적용 옵션 Listen Webfarm 192.168.0.200:80 : 서비스 IP 및 포트지정 mode http: 연결 프로토콜 지정 option httpchk: health check 연결하고자 하는 프로토콜의 health check 지정 option log-health-checks: health 체크 로그기록
  35. 35. Zabbix & haproxy Install Guide ooo 구축 000-01 V1.0 2013-07-16 이호성 35 / 36 option forwardfor: 클라이언트 정보 젂달 (접속한 클라이언트의 브라우져 정보등이 기록) option httpclose: keep-alive 문제 발생 시 off 옵션 ( SLB 서버의 메모리를 과도하게 사용하게 되는 경우도 발생) cookie SERVERID rewrite: 쿠키로 서버 구별 시 사용 여부 cookie JSESSIONID prefix: HA 구성 시 prefix 이후에 서버 정보 주입 여부 balance roundrobin: 순홖 분배 방식 stats enable: 서버 상태 보기 가능 여부 stats uri /admin: 서버 상태 보기 웹페이지로 서버의 상태를 확인 가능 stats auth [계정]:[패스워드] : 서버 상태보기 웹페이지에 접근할 때 사용자 인증처리 8.4.2. haproxy 상태확인하기 haproxy에 등록된 서버들에 대한 상태들을 보기 위해서 아래와 같이 대표 서비스 IP에 /admin 을 접근하면 아래와 같이 등록된 서버들에 대한 모니터링 페이지를 확인할수 있습니다.  http://192.168.0.200/admin  최초 접속하게 되면 인증 페이지가 나타나게 됩니다.  /etc/haproxy/haproxy.conf 파일에 stats auth [계정] : [패스워드]에 정의한 정보입니다
  36. 36. Zabbix & haproxy Install Guide ooo 구축 000-01 V1.0 2013-07-16 이호성 36 / 36

×