Zabbix 설치

[참고 사이트]
https://www.zabbix.com/documentation/current/en/manual/installation/containers
https://boying-blog.tistory.com/40
https://astromsshin.github.io/blog/Zabbix_in_docker_container.html

아래 설치는 Zabbix 6.4 버전을 대상으로 함.

Zabbix 서버설치

  1. 네트워크 생성
docker network create zabbix-net

2. MYSQL 인스턴스 생성
DB User/Password는 임의로 설정하면 된다

docker run --name mysql-server -t \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="zabbixdb#$%" \
      -e MYSQL_ROOT_PASSWORD="zabbixdb#$%" \
      -v /zabbix/mysql:/var/lib/mysql \
      --network=zabbix-net \
      --restart=unless-stopped \
      -d mysql:8.0-oracle \
      --character-set-server=utf8 --collation-server=utf8_bin \
      --default-authentication-plugin=mysql_native_password

3. Zabbix java gateway instance 설치

# docker run --name zabbix-java-gateway -t \
      --network=zabbix-net \
      --restart unless-stopped \
      -d zabbix/zabbix-java-gateway:alpine-6.4-latest

4. 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="zabbixdb#$%" \
      -e MYSQL_ROOT_PASSWORD="zabbixdb#$%" \
      -e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
      --network=zabbix-net \
      -p 10051:10051 \
      --restart unless-stopped \
      -d zabbix/zabbix-server-mysql:alpine-6.4-latest  

5. Zabbix 웹 인터페이스를 시작하고 생성된 MySQL 서버 및 Zabbix 서버 인스턴스와 인스턴스를 연결합니다.

docker run --name zabbix-web-nginx-mysql -t \
      -e ZBX_SERVER_HOST="zabbix-server-mysql" \
      -e DB_SERVER_HOST="mysql-server" \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="zabbixdb#$%" \
      -e MYSQL_ROOT_PASSWORD="zabbixdb#$%" \
      -e PHP_TZ="Asia/Seoul" \
      --network=zabbix-net \
      -p 80:8080 \
      --restart unless-stopped \
      -d zabbix/zabbix-web-nginx-mysql:alpine-6.4-latest

6. Zabbix 로컬 agent를 설치합니다.

docker run --name zabbix-agent \
--link mysql-server:mysql \
--link zabbix-server-mysql:zabbix-server \
--network=zabbix-net \
-e ZBX_HOSTNAME="Zabbix server" \
-e ZBX_SERVER_HOST="zabbix-server" \
-d zabbix/zabbix-agent:alpine-6.4-latest     

Zabbix Agent 설치

참고 : https://ossian.tistory.com/120

CentOS의 겨우 https://repo.zabbix.com/zabbix/6.4/rhel/ 사이트에서 rpm을 다운로드 받아 설치한다.

  1. yum 저장소 update 및 Repository 추가
    rpm -ivh https://repo.zabbix.com/zabbix/6.4/rhel/6/x86_64/zabbix-release-6.4-1.el6.noarch.rpm
  2. zabbix agent yum install
    yum list zabbix*
    yum install zabbix-agent
  3. Agent 설정
    vi /etc/zabbix/zabbix_agentd.conf
    Server=192.168.0.198 #Zabbix 서버 주소
    ServerActive=192.168.0.198:10050 #Zabbix 서버 주소:10050
    Hostname=192.168.0.214 #로컬 Hostname
  4. zabbix-agent 구동
    service zabbix-agent start
  5. 부팅시 자동실행 설정
    chkconfig –level 345 zabbix-agent on
  6. 로그 확인
    tail -f /var/log/zabbix/zabbix_agentd.log
  7. Zabbix 서버에 접속하여 Host 등록
    Data collection -> Hosts -> Create host 클릭하여 등록