새소식

Open Source 툴

Zabbix-agent Auto Registeration ( 자동 등록 )

  • -
반응형

오늘은 zabbix-agent를 설치할 시 zabbix-server에 자동으로 host 가 등록되도록 하는 Auto registration 기능을 사용해볼 예정이다. 

만약 여러개의 서버를 이용하는 환경이라면 zabbix-agent를 설치하고 수동으로 zabbix-server에 host를 추가하는 일은 효율적이지 못한 방식이다. 

 

 

■ 구성 환경

  Public IP Private IP  비고
lee-monitor 146.56.188.9 10.0.3.16 Zabbix5 / CentOS Linux release 7.9
mysql1 193.122.107.214 10.0.3.245 Zabbix5 / CentOS Linux release 7.9

 

■ Zabbix-Server 설치

2021.11.22 - [Open Source 툴] - 오픈소스 모니터링 Zabbix 5.0 설치

 

오픈소스 모니터링 Zabbix 5.0 설치

Zabbix는 시스템, DB, Network등 여러 지표를 이용하여 사용자에게 서버의 상태를 보여주는 오픈소스 모니터링 솔루션이다. 주요 특징으로는 중앙 집중형 모니터링, 분산 모니터링 지원 다수의 플랫

yunhyeonglee.tistory.com

 

■ Zabbix-Server Auto Registration 설정

- 서버에서 Auto Registration이라는 Action을 추가해 주어야 한다.

- Action에서 Hostmetadata종류로 조건 추가 ( Hostmetadata는 Zabbix-Agent 설치 시 설정 파일에서 사용된다. ) 

Configuration -> Actions -> Trigger actions 를  Autoregistration actions으로 변경 후  Action 추가
Action에서 조건 추가 ( 호스트 메타데이터 )
Operations탭에서 Host가 추가될때 실행될 것들을 추가해준다.

- Send message: auto-registration이 되면 설정해놓은 alerting 이 실행된다. ( ex / 메일 / 텔레그램 등 )
- Add Host: 해당 host를 server가 모니터링 할 수 있도록 추가합니다.
- Add to host group: 특정 group에 추가되도록 설정
- Link to template: 관련 있는 template을 Link 해줍니다.

 

 

 

■ Zabbix-Agent 설치

- Zabbix-Agent를 자동으로 Host에 등록되게 하려면 Active 방식의 Zabbix-Agent로 설정하 여아 한다.  ( https://blog.zabbix.com/zabbix-agent-active-vs-passive/9207/ )

- Server=10.0.3.16 ( 자빅스 서버 IP )

- ServerActive=10.0.3.16 ( 자빅스 서버 IP)  Active 방식으로 설정 시 필요

- Hostname=mysql1  (자빅스 서버에 표현될 hostname)

- Hostmetadata (위에서 설정한 Auto Registraion Action의 조건 값)

[root@mysql1 ~]# rpm -Uvh http://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
warning: zabbix-release-5.0-1.el7.noarch.rpm: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:zabbix-release-5.0-1.el7         ################################# [100%]


[root@mysql1 ~]# yum -y install zabbix-agent zabbix-sender


[root@mysql1 ~]# vi /etc/zabbix/zabbix_agentd.conf
Server=10.0.3.16  ##자비스 서버 IP
ServerActive=10.0.3.16 ## 자비스 서버 IP
Hostname=mysql1 ##자빅스 에이전트 서버 호스트 네임
HostMetadata=LEE_TEST ##자빅스 서버에서 설정한 Hostmetadata 조건 값

[root@mysql1 ~]# systemctl start zabbix-agent


[root@mysql1 ~]# ps -ef | grep zabbix
zabbix    6623     1  0 16:13 ?        00:00:00 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
zabbix    6624  6623  0 16:13 ?        00:00:00 /usr/sbin/zabbix_agentd: collector [idle 1 sec]
zabbix    6625  6623  0 16:13 ?        00:00:00 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]
zabbix    6626  6623  0 16:13 ?        00:00:00 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection]
zabbix    6627  6623  0 16:13 ?        00:00:00 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection]
root      6666  5521  0 16:13 pts/1    00:00:00 grep --color=auto zabbix

 

■ HOST 자동 등록 확인

 

 

 

■ Zabbix-Agent 설치 스크립트

#!/bin/bash

rpm -Uvh http://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

yum -y install zabbix-agent zabbix-sender

sed -i 's/Server=127.0.0.1/#Server=127.0.0.1/g' /etc/zabbix/zabbix_agentd.conf

sed -i 's/ServerActive=127.0.0.1/#ServerActive=127.0.0.1/g' /etc/zabbix/zabbix_agentd.conf

echo "#############################"
echo "######Zabbix Server IP#######"
echo "#############################"

read IP
echo "Server=$IP" >> /etc/zabbix/zabbix_agentd.conf
echo "ServerActive=$IP" >> /etc/zabbix/zabbix_agentd.conf


echo "#############################"
echo "#######  HOSTMetadata #######"
echo "#############################"

read meta
echo "HostMetadata=$meta" >> /etc/zabbix/zabbix_agentd.conf

HOSTNAME=`hostname`
sed -i 's/Hostname=Zabbix server/Hostname='"$HOSTNAME"'/g' /etc/zabbix/zabbix_agentd.conf

cat /etc/zabbix/zabbix_agentd.conf | grep 'Server'
cat /etc/zabbix/zabbix_agentd.conf | grep 'Hostname='
cat /etc/zabbix/zabbix_agentd.conf | grep 'HostMetadata='

systemctl start zabbix-agent
systemctl status zabbix-agent

 

 

■ 참고

https://hyperconnect.github.io/2018/10/22/monitoring-cloud-with-zabbix.html

 

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.