본문 바로가기

Monitoring Tools

Monitoring Tools - Zabbix Agent 서비스 등록

728x90

Zabbix Agent를 binary 파일로 설치하는 경우 부팅 시 자동으로 실행되도록 서비스 등록을 해줘야 합니다.

binary 파일로 설치하면 기본적으로 /etc, /usr 안에 파일들이 들어있습니다.

 

chkconfig를 사용한 서비스 관리

1. 서비스 스크립트 작성

# vi /etc/init.d/zabbix-agent

Zabbix-agent.service 파일 생성

 

#!/bin/bash
# Author SAMSO YEAH
# Zabbix agent

# chkconfig: 2345 37 63
# description: zabbix
. /etc/rc.d/init.d/functions

start() {
        /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
        /usr/sbin/zabbix_agentd2 -c /etc/zabbix_inside/zabbix_agentd.conf
}


stop() {
        killall zabbix_agentd
        killall zabbix_agentd2
}

case "$1" in
        start)
                start
                ;;
        stop)
                stop
                ;;
        restart)
                stop
                start
                ;;
        *)
                echo $"Usage: $0 {start|stop|restart}"
                exit 2

esac
exit $?

 

2. 스크립트 실행권한 부여

# chmod +x /etc/init.d/zabbix-agent

 

3. 서비스 등록 및 활성화

# chkconfig --add zabbix-agent
# chkconfig zabbix-agent on

 

4. 서비스 실행

# service zabbix-agent start

 

반응형

 

systemd를 사용한 서비스 관리

# vi /etc/systemd/system/zabbix-agent.service

Zabbix-agent.service 파일 생성

[Unit]
Description=Zabbix Agent
After=network.target

[Service]
Type=forking
ExecStart=/usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
ExecStartPost=/usr/sbin/zabbix_agentd2 -c /etc/zabbix_inside/zabbix_agentd.conf; /path/to/another_command
ExecStop=/usr/bin/killall zabbix_agentd
ExecStopPost=/usr/bin/killall zabbix_agentd2; /path/to/another_stop_command
Restart=on-failure

[Install]
WantedBy=multi-user.target

 

1. 서비스 파일 리로드

# systemctl daemon-reload

 

2. 서비스 활성화

# systemctl enable zabbix-agent

 

3. 서비스 시작

# systemctl start zabbix-agent

 

 

** 위 스크립트는 내·외부망 서버가 나눠져 있어서 에이전트가 두 개 동작 중

chkconfig의 스크립트와 달리 systemctl에서는 ExecStart / ExecStartPost로 구분

 

  • ExecStart에서 주 프로세스(/usr/sbin/zabbix_agentd)를 시작합니다.
  • ExecStartPost에서 추가 작업(zabbix_agentd2 시작 및 다른 명령어)을 실행합니다.
  • ExecStop에서 주 프로세스를 중지합니다.
  • ExecStopPost에서 추가 작업(zabbix_agentd2 중지 및 다른 명령어)을 실행합니다.

 

728x90
반응형