본문 바로가기

인프라 노트

Zabbix Agent 설치 후 Zabbix Server에 모니터링 등록하기

목차
1. 설치방법#1 : 서비스 설치
2. 설치방법#2 : 바이너리 설치
3. Zabbix Server에 모니터링 등록
4. 기타 알아두면 좋은 Trigger 모음

 

키워드

  • Zabbix agent 설치
  • Ubuntu 환경
  • 서비스 설치, 바이너리 설치

개요

  • Zabbix 서버를 구성하면 모니터링을 등록할 서버에 agent 를 설치해야한다.
  • 이 포스팅은 agent 설치 후 zabbix 서버에 모니터링 등록하는 방법에 대한 포스팅이다.

방법

구조

• Zabbix 모니터링 서버가 Zabbix Agent가 설치된 서버를 계속 감시해서 모니터링 하는 구조.

 

상황설명

※ 포스팅은 Linux Ubuntu 22.04 를 기준으로 설명하겠다.

• Zabbix monitoring Server : 192.168.190.128

• Zabbix Agent 서버 : 61.x.x.126

• Zabbix Agent 설치 방법은 [서비스 설치], [바이너리 설치] 방법이 있고 아래 두가지 모두 설명하겠다.

※ 가능하면 서비스 설치 방법을 추천한다.

 

설치방법#1 : 서비스 설치

• 모니터링 대상이 되는 서버를 준비

• 사이트 접속 : https://www.zabbix.com/download

 

Download and install Zabbix

Talk to experts Benefit from expert advice and best practices for all Zabbix-related matters Get technical advice Get instant access to a team of Zabbix experts for guaranteed professional support 24x7 Obtain knowledge Focused, comprehensive training for a

www.zabbix.com

 

[Zabbix packages] [Choose your platform] 에서 아래와 같이 선택

 

• 위와 같이 클릭하면 아래 페이지에 가이드가 나온다. 그대로 따라하면 된다.

 

• 위 절차를 상세히 설명하면 아래와 같다.

• [sudo -s] : root로 변환

• 저장소 등록

• wget https://repo.zabbix.com/zabbix/7.2/release/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.2+ubuntu24.04_all.deb

• dpkg -i zabbix-release_latest_7.2+ubuntu24.04_all.deb

• apt update

 

• zabbix agent 설치

apt install zabbix-agent -y

 

• zabbix 시작

systemctl restart zabbix-agent
systemctl enable zabbix-agent

 

• zabbix 설정 파일 위치

vi /etc/zabbix/zabbix_agentd.conf
Server=${Zabbix서버 IP}
ServerActive=${Zabbix서버 IP}
Hostname=${이 에이전트 서버의 호스트명 또는 IP}
LogFile=/var/log/zabbix_agentd.log // zabbix 로그
PidFile=/var/run/zabbix_agentd.pid // zabbix pid 

 

설치방법#2 : 바이너리 설치

※ 주로 인터넷이 안되는 환경에서 설치하는 방법이다.

• Zabbix 사이트 접속 : https://www.zabbix.com/download

 

Download and install Zabbix

Talk to experts Benefit from expert advice and best practices for all Zabbix-related matters Get technical advice Get instant access to a team of Zabbix experts for guaranteed professional support 24x7 Obtain knowledge Focused, comprehensive training for a

www.zabbix.com

 

[Zabbix Agents] [Download pre-compiled Zabbix agent binaries] 에서 아래와 같이 선택

 

[Zabbix Release] 최신 버전으로 선택하고 [DOWNLOAD] 클릭

 

• FTP 프로그램 사용해서 agent 설치할 서버에 복사

※ FTP 프로그램으로 WinSCP 사용

 

• tar.gz 을 압축해제할 폴더로 옮기고 압축해제

tar -zxvf ${다운받은파일명}.tar.gz

 

• zabbix 설정 파일 수정

vi ./conf/zabbix_agentd.conf
※ 로그파일/PID 파일 경로는 /var/ 쪽으로 변경해주는 것이 일반적임.
Server=Zabbix서버 IP
ServerActive=Zabbix서버 IP
Hostname=이 에이전트 서버의 호스트명
LogFile=/var/log/zabbix_agentd.log
PidFile=/var/run/zabbix_agentd.pid

 

• zabbix 사용자 생성하기

   ∘ cat /etc/passwd zabbix 사용자 있는지 확인 없다면 useradd zabbix zabbix 사용자 생성

 

• zabbix 실행

   ∘ sbin 아래에 실행파일과 conf 아래에 conf파일이 있다는 것을 참조하여 아래와 같이 명령어 입력

sudo -u zabbix /zabbix/sbin/zabbix_agentd -c /zabbix/conf/zabbix_agentd.conf
ps -ef | grep zabbix // zabbix process 확인

 

Zabbix Server 에 모니터링 등록

※ 사용되는 모든 포트는 서로 방화벽 허용해줘야 한다.

• zabbix agent 서버에서 config 수정

vi zabbix_agentd.conf
Server=192.168.190.128
ServerActive=192.168.190.128 // 그냥 주석처리 하는게 편함
Hostname=61.x.x.126
LogFile=/zabbix/log/zabbix_agentd.log
PidFile=/zabbix/pid/zabbix_agentd.pid

 

• zabbix agent 서버에서 zabbix agent 실행

sudo -u zabbix /zabbix/sbin/zabbix_agentd -c /zabbix/conf/zabbix_agentd.conf

 

• LogFile로 지정한 로그를 tail로 모니터링

tail -f /zabbix/log/zabbix_agentd.log

 

• zabbix server 웹사이트 접속 : https://192.168.190.128:8080/

 

Zabbix에 zabbix agent host 등록하기

• Host group 생성

   ∘ [Data collection] → [Host groups] → [Create host group] 클릭

 

• Hosts 생성

   ∘ [Data collection] → [Hosts] → [Create host] 클릭

 

   ∘ 아래 설명과 같이 수정 후 [Add] 클릭

 

   ∘ 생성 확인

 

22포트 체크와 10050 포트 체크 trigger를 만들고 Hosts에 등록하기

• Template groups 만들기

※ Port Check 템플릿을 만들어보자.

   ∘ [Data collection] → [Template groups] → [Create template group] 클릭

 

• Templates 만들기

   ∘ [Data collection] → [Templates] → [Create template] 클릭

 

   ∘ 아래 사진과 같이 설정 후 [Add] 로 추가

 

   ∘ 생성 확인

 

• Items 생성

   ∘ 새로 생성한 Templates 에서 [Items] 클릭

 

   ∘ [Create item] 클릭

 

   ∘ 아래 사진과 같이 입력 후 [Add] 클릭

 

• Triggers 생성

   ∘ [Triggers] 클릭

 

   ∘ [Create trigger] 클릭

 

   ∘ 아래 사진과 같이 설정 후 [Add] 클릭

 

• 설정했던 Templates를 Hosts에 등록해보자

   ∘ [Data collection] → [Hosts] 에서 추가한 Zabbix Agent 서버 Name 클릭

 

   ∘ [Templates] 에서 [Select] 클릭 후 아래 사진과 같이 순서 진행

   ※ Template group 선택 시 이 노트에 새로 생성했던 group명을 선택해보자

 

   ∘ 최종적으로 [Update] 클릭

 

• 최종적으로 Hosts의 Availability가 ZBX 녹색으로 나온것을 확인할 수 있다.

 

• 10050 포트 체크 Trigger도 위와 같은 방식으로 걸어보자

 

생성한 Trigger 를 dashboard 에 표현하기

• Dashboards 생성

   ∘ [Dashboards] → [Create dashboard] 클릭

 

   ∘ 대시보드 이름 기재 후 [Apply] 클릭

 

   ∘ 생성하고 싶은 장소에 dashboard box 클릭

 

   ∘ 생성된 dashboard box를 아래 사진과 같이 기재 후 [Add] 클릭

 

   ∘ 생성된 것을 확인하고 [Save changes] 클릭

 

• 최종적으로 Dashboard 결과 알람 확인

 

기타 알아두면 좋은 Trigger 모음

 

포트 체크

※ 80 port 체크를 예로 듦.

• Item

net.tcp.listen[80]

 

• Trigger

last(/${정책명}/net.tcp.listen[80])=0

 

리눅스 프로세스 체크

• Item

proc.num[,,,${체크할 프로세스 이름 또는 경로}]

 

• Trigger

last(/${정책명}/proc.num[],,,${체크할 프로세스 이름 또는 경로}]=0

 

윈도우 서비스 체크

※ powershell 에서 아래와 같이 명령어로 서비스이름을 확인한다.

Get-Service | Where-Object {$_.DisplayName -like "*${검색명}*"} | Select Name, DisplayName, Status

 

• Item

service_state[${서비스명}]

 

• Trigger

last(/${정책명}/service_state[${서비스명}])<>0

 

윈도우 프로세스 체크

※ 작업관리자에 프로세스 이름으로 체크

• Item

proc.num[${프로세스명}]

 

• Trigger

last(/${정책명}/proc.num[${프로세스명}])=0

 

 

 

끝.