zagent 모니터링 에이전트 설치
개요
모니터링 대상인 리눅스 서버에 ITSM(IT Service Management) 모니터링 에이전트를 설치할 수 있다.
환경
- OS : Red Hat Enterprise Linux server release 7.x
- Architecture : x86_64
- 에이전트 SW : ITSM 모니터링 에이전트 (
zagent-rhes3-x64_254
)
해결법
A) 에이전트 설치
반드시 root 계정으로 ITSM 에이전트 설치를 진행한다.
1. zagent 설치파일 준비
$ arch
x86_64
해당 서버는 64bit 기반 아키텍쳐(x86_64
)이다.
모니터링 대상서버의 아키텍쳐와 동일한 버전의 에이전트 설치파일을 모니터링 대상 서버의 파일시스템에 업로드한다.
$ chmod 700 zagent-rhes3-x64_254
$ chown root:root zagent-rhes3-x64_254
설치파일의 권한을 700(rwx --- ---
), 소유자 root
, 그룹 root
로 설정한다.
$ ls -lh
[...]
-rwx------ 1 root root 1.1M 813 2010 zagent-rhes3-x64_254
$ mv zagent-rh78-i386_254 /usr/sbin/zagent
ITSM 에이전트 설치파일의 이름을 zagent로 변경한다. 설치파일을 이동시킬 경로는 반드시 /usr/sbin/
이어야 한다.
2. zagent 설치
$ zagent -install
Excute user <default: root> ?: [ENTER]
INSTALL: 'zagent', Path : '/sbin', User : 'root'
Link /etc/rc.d/init.d/zagent /etc/rc.d/rc2.d/S99zagent
Link /etc/rc.d/init.d/zagent /etc/rc.d/rc3.d/S99zagent
Link /etc/rc.d/init.d/zagent /etc/rc.d/rc4.d/S99zagent
Link /etc/rc.d/init.d/zagent /etc/rc.d/rc5.d/S99zagent
Install completed
엔터를 입력해 default 계정(root)으로 설치를 실행한다.
문제해결
- 증상 :
zagent -install
명령어로 설치 시도시/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
에러가 발생하며 설치가 불가능함 - 원인 : 설치파일과 서버간 아키텍쳐 호환성 불일치 (64비트 기반 아키텍쳐 서버에 32비트 기반 아키텍쳐용 설치파일 시도)
- 조치방법 : 64비트 기반 아키텍쳐(x86_64)용 설치파일로 설치를 진행한다.
3. manager 서버 등록
명령어 형식
$ zagent -a admin <ITSM_MANAGER_SERVER1_IP> <ITSM_MANAGER_SERVER2_IP>
실행 명령어
$ zagent -a admin 50.50.50.101 50.50.50.102
user 0, /var/zagent: created
ZENIUS_PROGRAM_PATH=
File Path: '/sbin'
Current Path: '/var/zagent'
4. manager 서버 연결 테스트
$ zagent -c
ZENIUS_PROGRAM_PATH=
File Path: '/sbin'
Current Path: '/var/zagent'
Try connect to Primary Manager[50.50.50.101:5052] : Success
Try connect to Secondary Manager[50.50.50.102:5052] : Success
모니터링 대상서버가 ITSM Manager 서버의 TCP 5052 포트와 통신이 되어야 한다.
+---------------+ 5052 +---------------+
| target server |--------->| ITSM Manager1 |
+---------------+ +---------------+
|
| 5052 +---------------+
+----------------->| ITSM Manager2 |
+---------------+
접속 테스트 결과가 Success
가 아닐 경우, 방화벽과 같은 보안장비나 모니터링 대상 서버의 자체 방화벽(iptables) 정책을 확인한다.
5. zagent 프로세스 시작
$ zagent -start
ZENIUS_PROGRAM_PATH=
File Path: '/sbin'
Current Path: '/var/zagent'
zagent: started (153799)
SetMemLimit: 200 MB (OK)
SetFDLimit: 1024 (OK)
SetCoreLimit: 0 MB (OK)
Current Stack Size: 8388608 bytes
Hostname: devserver1
IP: 192.168.0.15
MAC Address: xx:xx:xx:46:15:01
OS: Red Hat Enterprise Linux Server release 7.x
6. 프로세스 상태 확인
$ ps -ef | grep zagent
root 153799 1 0 08:48 ? 00:00:00 zagent -start
root 153800 153799 2 08:48 ? 00:00:00 zagent -start
root 154157 140259 0 08:48 pts/1 00:00:00 grep --color=auto zagent
zagent 프로세스가 정상 동작중이다.
B) 모니터링 대상의 수집되는 IP 수정
ITSM 웹페이지에서 모니터링 대상 서버의 IP가 실제 IP와 다르게 수집되는 경우가 있다. 이 경우에만 아래 과정을 수행한다. 수집되는 IP가 실제 IP와 동일하다면 해당 과정을 넘겨도 된다.
1. 에이전트 중지
zagent 프로세스가 이미 실행중인 상태라면 설정파일을 수정하기 전에 먼저 zagent -stop
명령어로 ITSM 에이전트 프로세스를 종료한다.
$ zagent -stop
ZENIUS_PROGRAM_PATH=
File Path: '/sbin'
Current Path: '/var/zagent'
Sending signal pid[0][153799], signum[15]
Sending signal pid[1][153800], signum[15]
zagent is stopped
2. zagent 설정파일 확인
zagent 설정파일의 기본 경로는 /var/zagent/zagent.ini
이다.
LOCAL_IP
값에 실제 서버 IP를 입력한다.
$ vi /var/zagent/zagent.ini
USE_WATCHDOG = 1
RESTART_LIMIT = 0
USERID = admin
MANAGERIP1 = 50.50.50.101
MANAGERPORT1 = 5052
MANAGERIP2 = 50.50.50.102
MANAGERPORT2 = 5052
ZAGENT_CPU_LIMIT = 50
ZAGENT_MEM_LIMIT = 200
ZAGENT_MAX_CPUTIME = 5
ZAGENT_DISK_LIMIT = 100
ZAGENT_GET_CDROM = 0
SMS_GET_THERM = 1
ZAGENT_CORE_LIMIT = 0
ZAGENT_FD_LIMIT = 1024
LOCALIP =
PRO_DISKIO = 0
SMS_GET_DISKINV = 1
NETSTAT_SLEEPCOUNT = 500
NETSTAT_SLEEPTIME = 100
AIXMEM_USEDASCOMP = 0
MAX_WORK_THREADS = 5
MAX_CONNECTION = 6
PROACTIVE_SUPPORT = off
HOSTID = 46500
SAVEONOFF = 0
SAVEPERIOD = 0
MANAGERTYPE = 1
USER_HOSTNAME = devserver1
3. zagent 설정파일 수정
LOCAL_IP
값을 실제 서버의 IP로 입력했다.
$ vi /var/zagent/zagent.ini
USE_WATCHDOG = 1
RESTART_LIMIT = 0
USERID = admin
MANAGERIP1 = 50.50.50.101
MANAGERPORT1 = 5052
MANAGERIP2 = 50.50.50.102
MANAGERPORT2 = 5052
ZAGENT_CPU_LIMIT = 50
ZAGENT_MEM_LIMIT = 200
ZAGENT_MAX_CPUTIME = 5
ZAGENT_DISK_LIMIT = 100
ZAGENT_GET_CDROM = 0
SMS_GET_THERM = 1
ZAGENT_CORE_LIMIT = 0
ZAGENT_FD_LIMIT = 1024
LOCALIP = 50.50.50.199
PRO_DISKIO = 0
SMS_GET_DISKINV = 1
NETSTAT_SLEEPCOUNT = 500
NETSTAT_SLEEPTIME = 100
AIXMEM_USEDASCOMP = 0
MAX_WORK_THREADS = 5
MAX_CONNECTION = 6
PROACTIVE_SUPPORT = off
HOSTID = 46500
SAVEONOFF = 0
SAVEPERIOD = 0
MANAGERTYPE = 1
USER_HOSTNAME = devserver1
4. zagent 프로세스 시작
$ zagent -start
ZENIUS_PROGRAM_PATH=
File Path: '/sbin'
Current Path: '/var/zagent'
zagent: started (158846)
SetMemLimit: 200 MB (OK)
SetFDLimit: 1024 (OK)
SetCoreLimit: 0 MB (OK)
Current Stack Size: 8388608 bytes
Hostname: devserver1
IP: 50.50.50.199
MAC Address: xx:xx:xx:46:15:01
OS: Red Hat Enterprise Linux Server release 7.x
모니터링 대상으로부터 수집된 IP 정보가 실제 서버의 IP와 동일하게 변경된 상태를 확인했다.
IP: 50.50.50.199