본문 바로가기
모니터링

[Zabbix] Ubuntu Zabbix 구축하기

by aws-evan 2022. 7. 15.
반응형

 

 

Zabbix란?

  • 서버,네트워크,디스크 등을 관리하는 오픈소스 시스템
  • 서버에 대한 CPU,Memory, 트래픽, 상태등에 대한 개인의 대시보드를 구축하여 실시간 모니터링 및 알림 기능
  • Agent로 등록된 대상에 대해 보고서 형식으로 다운로드 받아서 적용 가능

Zabbix 계정 : Admin / zabbix

Zabbix Server : 192.168.0.52

Zabbix Agent  : 192.168.0.50

 

  • 목차
    • 시스템 현황
    • 임시 대시보드 현황
    • Zabbix Server 구축
    • Zabbix Server 로그인
    • Zabbix Agent 설치
    • Zabbix Agent 등록
    • Zabbix 모니터링
  • 시스템 현황
    • Zabbix Server : Ubuntu 20.04
    • Zabbix Agent : Ubuntu 20.04
  • 임시 대시보드(Agent 1대에 모니터링)
    • 총 디스크 용량
    • CPU 평균
    • Server < - > Agent간 통신 체크
    • 사용중 메모리 상태

 

1. Zabbix Server 구축

  • Zabbix 관련 이미지 Pull
docker pull mysql
docker pull zabbix/zabbix-server-mysql
docker pull zabbix/zabbix-web-nginx-mysql
docker pull zabbix/zabbix-java-gateway
docker pull zabbix/zabbix-agent
  • Mysql 컨테이너 실행
    • Name : mysql-server
    • User : zabbix , Password : 1234
    • User : root , Password : 1234
docker run --name mysql-server -t -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="1234" -e MYSQL_ROOT_PASSWORD="1234" -d mysql --character-set-server=utf8 --collation-server=utf8_bin --default-authentication-plugin=mysql_native_password
  • Zabbix Java 게이트웨어 실행
docker run --name zabbix-java-gateway -t --restart unless-stopped -d zabbix/zabbix-java-gateway
  • Zabbix-server-mysql 컨테이너도 run
docker run --name zabbix-server-mysql -t -e DB_SERVER_HOST="mysql-server" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="1234" -e MYSQL_ROOT_PASSWORD="1234" -e ZBX_JAVAGATEWAY="zabbix-java-gateway" --link mysql-server:mysql --link zabbix-java-gateway:zabbix-java-gateway -p 10051:10051 --restart unless-stopped -d zabbix/zabbix-server-mysql
  • Zabbix 웹 인터페이스를 위한 컨테이너를 run
docker run --name zabbix-web-nginx-mysql -t -e DB_SERVER_HOST="mysql-server" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="1234" -e MYSQL_ROOT_PASSWORD="1234" --link mysql-server:mysql --link zabbix-server-mysql:zabbix-server -p 80:8080 --restart unless-stopped -d zabbix/zabbix-web-nginx-mysql
  • Zabbix agent 실행
    • Name : zabbix-agent , mysql-server 연동
docker run --name zabbix-agent --link mysql-server:mysql --link zabbix-server-mysql:zabbix-server -e ZBX_HOSTNAME="Zabbix server" -e ZBX_SERVER_HOST="zabbix-server" -d zabbix/zabbix-agent
  • Docker Status 및 Continaer IP주소 확인
docker inspect zabbix-agent | grep "IPAddress\": "
  1. Zabbix Server 로그인
    • ID : Admin
    • PW : zabbix

3. Zabbix Agent 설치

  • Zabbix 리포지토리 구성하기
wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+focal_all.deb
sudo dpkg -i zabbix-release_5.0-1+focal_all.deb
  • ubuntu Zabbix Agent 설치하기
##Ubuntu
sudo apt update
sudo apt install zabbix-agent

##Centos
yum update -y
yum install -y zabbix-agent
##Centos Zabbix 못찾을 경우
rpm -ivh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-agent-5.0.14-1.el7.x86_64.rpm
  • Zabbix Agent 설정하기
##Ubuntu, Centos 모두 동일
vi /etc/zabbix/zabbix_agentd.conf
  • 서비스 재시작 및 등록
##Ubuntu
systemctl restart zabbix-agent  ##재시작
systemctl enable zabbix-agent   ##시작시 서비스 자동 시작

##Centos
systemctl start zabbix-agent  ##재시작
systemctl enable zabbix-agent ##시작시 서비스 자동 시작
  • 서비스 상태 확인
    • 서비스 상태 Running 아닐 경우 restart
##Centos##
systemctl status zabbix-agent

##Ubuntu#3
service zabbix-agent restart

  • 프로세스 상태값 확인
ps -ef | grep zabbix

  • 방화벽 Open(테스트라 Disable)
systemctl stop firewalld

4. 서버 Agent 등록하기

  • Host name : Zabbix Server에 등록할 Agent명
  • Interface : Add → Agent
  • Agent IP address : “Agent IP” / Agent Port : 10050

Templates

- Templates을 통해서 Zabbix Server 와 Zabbix Agent간 통신 이력들을 선택하여 관리 할 수 있음

- Linux by Zabbix agent : Agent 체크

- Zabbix server health : 상태 체크

 

  • Template 적용 전

  • Template 적용 후

반응형

'모니터링' 카테고리의 다른 글

Elasticsearch Xpack 설정  (0) 2024.07.29
kibana 설치  (0) 2024.07.25
kibana elasticsearch cluster 연동  (0) 2024.07.25
ElasticSearch Cluster  (1) 2024.07.25
Fluentd 이미지 사용  (0) 2024.05.14

댓글