본문으로 건너뛰기

httpd-_3.0.13이상

[필수][exem-httpd-module] 설치 준비

❶ 패키지 설치 시 주의사항

  • 반드시 설치 전 Apache HTTPD의 버전을 확인합니다.
httpd -V
  • Linux & Solaris HTTPD 2.4 버전을 지원하며, 설치할 환경의 HTTPD 버전을 정확히 확인해야 합니다.

❷ 설치 파일 준비

  • 패키지 파일은 setup_exem-httpd-module_${VERSION}.bin 의 설치 파일로 배포되며 설치할 경로에서 실행합니다. 

[필수][exem-httpd-module] 설치

❶ exem-httpd-module 설치

  • 설치할 타겟 HTTPD 버전을 확인합니다. ( httpd -V )

  • 패키지 설치를 진행할 경로에서 설치파일을 실행하고 install을 선택합니다. (엔터 입력 시 install)

정보

Unpack은 Package 내부에 구성된 파일들을 확인하는 용도로 사용

=====================================================
EXEM HTTPD Module Setup
=====================================================
Choose work number (default: 1)
1. install(default)
2. unpack
3. exit
:
  • 설치할 타겟 HTTPD 버전을 입력합니다. ( 2.4 )
=====================================================
exem-httpd-module v3.0.13(1ff0347) Install on linux 3.10
=====================================================
Install HTTPD Version [2.4]:
  • 설치 디렉토리를 입력합니다. ( 엔터 입력 시 기본 경로에 설치 )
Enter INSTALL_DIRECTORY [/path/to/httpd-module]: 
  • 통신할 exem-webserver-agent의 IP를 입력합니다. ( 기본값 X / 미입력시 다시 IP 입력하도록 프롬프트가 출력 )
Enter exem-webserver-agent CONNECT_IP:
  • 통신할 exem-webserver-agent의 Port를 입력합니다. ( 엔터 입력 시 기본 값 12848 적용 )
Enter exem-webserver-agent CONNECT_PORT [12848]: 
  • 모듈의 Group ID를 등록합니다. ( 엔터 입력 시 기본 값 default 적용 )
Enter GROUP_ID [default]::
  • webserver 모니터링 대상으로 등록 될 이름을 입력합니다. ( 엔터 입력 시 기본 값 서버의 HostName 적용 )
Enter MODULE_NAME [t41a]: 
  • exem-host-agent와 맵핑할 BID를 입력합니다. ( 엔터 입력 시 기본 값 서버의 HostName 적용 )
Enter EXEMBID with exem-host-agent [t41a]: 
  • agent ↔ module 간 사용 될 unique id를 고정할 지 선택합니다. 온프레미스 환경에서는 일반적으로 엔터를 눌러 기본으로 고정합니다. (엔터 입력 시 기본 값 yes 적용)
Fix UNIQUE_ID [yes(default)/no]: 
  • httpd exemone metric(/exem/v1/metrics)을 수집 여부를 선택합니다. ( 엔터 입력 시 기본 값 y 적용 )
  • y 입력시 아래 METRIC_PORT, METRIC_IP 를 추가 입력을 합니다.
  • n 입력할 경우 metric 설정을 위한 추가 입력 없이 설치는 완료됩니다.
Collect exemone metric? [Y(default)/n]: 
  • httpd exemone metric 수집을 y로 했을 경우 exem-webserver-agent가 httpd의 metric을 수집하기 위해 접속할 Port를 입력합니다.  ( 엔터 입력 시 기본 값 12849 적용 )
  • exem-webserver-agent가 httpd에 request하는 엔드포인트이기 때문에 사용 시 webserver의 listen 포트(ex:12849)의 방화벽을 확인해야합니다.
Enter METRIC_PORT [12849]: 
  • httpd exemone metric 수집을 y로 했을 경우 httpd가 설치된 서버의 IP를 입력합니다. exem-webserver-agent는 이 IP로 metric을 요청합니다. 단, 같은 서버에 exem-webserver-agent가 설치된 경우 127.0.0.1 사용 가능합니다. ( 기본값 X / 미입력시 다시 IP 입력하도록 프롬프트가 출력 )
Enter METRIC_IP (IP of this server where httpd is installed): 10.20.30.40
  • 설치 완료 문구 확인 (설정 적용 값)
=====================================================
Installation completed
=====================================================
INSTALL_HTTPD_VERSION [2.4]
INSTALL_DIRECTORY [/path/to/httpd-module]
CONNECT_IP [<webserver agent ip>]
CONNECT_PORT [12848]
GROUP_ID [default]
MODULE_NAME [test]
EXEMBID [test]
Generated UNIQUE_ID [803c0bcb-test-test-test-1df7de9fbc76]
EXEM_METRIC_COLLECT [yes]
METRIC_PORT [12849]
METRIC_IP [<httpd ip>]
=====================================================

Copy tools from tools/mdl-ver_linux_64
Copy tools from tools/xm-uuidgen_linux_64
=====================================================

+--> Add the following line to 'httpd.conf' >--+
# exem module
Include /path/to/httpd-module/conf/exem_httpd_mod.conf

Add the following line to 'httpd.conf' 이후에 나온 내용을 아래 내용 참고하여 httpd.conf 에 추가

❷ httpd.conf 설정

  • httpd.conf 파일 경로 확인
httpd -V
  • -D SERVER_CONFIG_FILE= 의 값 또는 HTTPD 설치 경로의 conf/httpd.conf 를 통해 httpd.conf 파일 경로를 확인
  • httpd.conf 파일을 열어서 설치 완료 시 출력된 Include 설정을 추가
# exem module
Include /path/to/httpd-module/conf/exem_httpd_mod.conf
정보

nginx 모듈과 달리 load_module 지시자를 별도로 추가할 필요가 없습니다. LoadModule 지시자가 exem_httpd_mod.conf 설정 파일 내에 포함되어 있습니다.

❸ 설치 버전 확인

  • 설치 후 생성된 httpd-module 폴더의 pkg_version.sh을 수행하면 설치된 exem-httpd-module의 버전 정보 확인 가능
$ /path/to/httpd-module/pkg_version.sh
exemONE exem-httpd-module v3.0.13(1ff0347)

[exem-httpd-module]exem_httpd_mod.conf 설정 파일

  • 설치 시 입력한 설정값으로 자동 생성되는 설정 파일의 구조는 다음과 같습니다. (예시)

  • 위 설치 과정에서 httpd exemone metric 수집을 n으로 한 경우는 아래 metrics configuration 과 config for httpd 블록이 주석으로 되어있습니다.

############################################
### EXEM Httpd Module Configuration File ###

LoadModule exem_module /path/to/httpd-module/modules/mod_exem_24_{OSNAME}_64.so

<IfModule exem_module>

ExEmGroupID default
ExEmUniqueID {UUID}

# module name (default: hostname)
#ExEmModuleName <input module_name>

# EXEMBID with exem-host-agent
#ExEmBID <input host BID>

# Send data(packet) logging
ExEmDump false

# connection ip to exem-webserver-agent (default ip:<webserver agent ip>, port:12848)
#ExEmConnectIP <webserver agent ip>
#ExEmConnectPort 12848

# default 5 sec
ExEmConnectReconnectSec 5

# do not use 0(zero)
ExEmLogPath <input log_path>
ExEmLogLevel info

# default 10 Megabyte
ExEmLogMaxSize 10

# metrics configuration (default: <httpd ip>:12849/exem/v1/metrics)
ExEmMetricAddr <httpd ip>:12849
ExEmMetricLocation /exem/v1/metrics

# config for httpd
Listen 12849
<VirtualHost *:12849>
<Location /exem/v1/metrics>
SetHandler exem-metrics
</Location>
</VirtualHost>

</IfModule>

[유용한 기능][exem-httpd-module] 간편 설치

❶ Default 옵션으로 설치

  • --default 옵션을 사용하여 <ip>:<port> 버전 입력시 group iddefault로 설정하고 나머지는 기본 설정으로 입력없이 설치가 가능합니다.

--default 옵션을 사용하면 ExEmBID 설정은 hostname으로 자동 설정 됩니다. --metric 옵션을 사용하면 httpd exemone metric 수집을 위한 METRIC_PORT, METRIC_IP를 설정할 수 있습니다.

  • --default <ip>:<port> --metric=<ip>:<port> 옵션으로 한줄 설치
    • [ 참고 ] --metric=<ip>:<port> 옵션을 설정하지 않은 경우 metric 수집 설정은 OFF 됩니다.
$ ./setup_exem-httpd-module_3.0.13.bin --default=10.20.30.40:12848 --metric=10.20.30.40:12849
=====================================================
EXEM HTTPD Module Setup
=====================================================
SETUP TYPE[install]
unpack httpd modules
LOG_PATH[./setup_exem-httpd-module_3.0.13.log]
=====================================================
exem-httpd-module v3.0.13(1ff0347) Install on linux 3.10
=====================================================

=====================================================
Installation completed
=====================================================
INSTALL_HTTPD_VERSION [2.4]
INSTALL_DIRECTORY [/root/httpd-module]
CONNECT_IP [10.20.30.40]
CONNECT_PORT [12848]
GROUP_ID [default]
MODULE_NAME [test]
EXEMBID [test]
Generated UNIQUE_ID [123ba6d0-test-test-test-e263a532c897]
EXEM_METRIC_COLLECT [yes]
METRIC_PORT [12849]
METRIC_IP [10.20.30.40]
=====================================================

Copy tools from tools/mdl-ver_linux_64
Copy tools from tools/xm-uuidgen_linux_64
=====================================================

+--> Add the following line to 'httpd.conf' >--+
# exem module
Include /root/httpd-module/conf/exem_httpd_mod.conf

❷ Silent 옵션으로 설치

  • silent 설정 파일을 통해 설치 과정에서 입력없이 설치가 가능합니다.

  • sample 파일 생성

$ ./setup_exem-httpd-module_3.0.13.bin --silent-sample   
make sample silent setup file
  • sample 파일 확인 및 필요 설정 작성
$ cat setup_sample.silent 
SETUP_TYPE=install
INSTALL_HTTPD_VERSION=2.4
INSTALL_DIR=/root/httpd-module
GROUP_ID=default
#MODULE_NAME=
FIX_UNIQUE_ID=yes
#EXEM_BID=
EXEM_METRIC_COLLECT=yes
METRIC_PORT=12849
#METRIC_IP=
#EXEM_CONNECT_IP=
#EXEM_CONNECT_PORT=12848
  • slient 설정 파일을 통해 설치
$ ./setup_exem-httpd-module_3.0.13.bin --silent=setup_sample.silent 
=====================================================
EXEM HTTPD Module Setup
=====================================================
SETUP TYPE[install]
unpack httpd modules
LOG_PATH[./setup_exem-httpd-module_3.0.13.log]
=====================================================
exem-httpd-module v3.0.13(1ff0347) Install on linux 3.10
=====================================================

=====================================================
Installation completed
=====================================================
INSTALL_HTTPD_VERSION [2.4]
INSTALL_DIRECTORY [/root/httpd-module]
CONNECT_IP [10.20.30.40]
CONNECT_PORT [12848]
GROUP_ID [default]
MODULE_NAME [test]
EXEMBID [test]
Generated UNIQUE_ID [7ac13bc5-test-test-test-680eaaaaaeee]
EXEM_METRIC_COLLECT [yes]
METRIC_PORT [12849]
METRIC_IP [10.20.30.40]
=====================================================

Copy tools from tools/mdl-ver_linux_64
Copy tools from tools/xm-uuidgen_linux_64
=====================================================

+--> Add the following line to 'httpd.conf' >--+
# exem module
Include /root/httpd-module/conf/exem_httpd_mod.conf