Zabbix 설치

이석준·2022년 6월 10일
0

ec2에 docker-compose를 활용해서 올리자..

1. docker 설치

(1) Docker 설치

sudo yum install docker -y
sudo service docker start

sudo usermod -aG docker ec2-user
# sudo 권한 부여

docker -v 
#Docker version 20.10.13, build a224086

(2) Docker-compose 설치

sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose

sudo chmod +x usr/local/bin/docker-compose
# sudo 권한 부여

docker-compose -v
Docker Compose version v2.6.0

2. zabbix server 실행

 sudo yum install git
 git clone   https://github.com/zabbix/zabbix-docker.git
 # 소스 받기
 
 docker-compose -f ./docker-compose_v3_alpine_mysql_latest.yaml up -d
 # docker-compose 기동
 

3. zabbix agent 실행

그냥 도커로 했다..

zabbix 설치하면 zabbix-docker_zbx_net_backend 라는 network name이 생성되는데,
해당 네트워크 연결해줄 예정이다.

sudo docker run --name zabbix-agent -e ZBX_HOSTNAME="test-agent" -e ZBX_SERVER_HOST="172.17.0.1,172.16.239.3" -p 10050:10050 -d zabbix/zabbix-agent:latest
#zabbix agent container 생성

sudo docker network connect zabbix-docker_zbx_net_backend zabbix-agent
# network 연결

ZBX_SERVER_HOST

172.17.0.1 : 기본 브릿지 주소인데,
failed to accept an incoming connection: connection from "172.17.0.1" rejected from ... 을 해결하기 위해 넣어줘야했다
172.16.239.3 : zabbix-docker_zbx_net_backend / zabbix/zabbix-server-mysql:centos-6.0-latest
즉 자빅스 서버 주소다..
sudo docker network inspect zabbix-docker_zbx_net_backend에서 해당 서버 주소 넣어주었다.

ZBX_HOSTNAME="test-agent" HOSTNAME은 메모하자~~ zabbix-server에 host로 등록해줘야한다..

4. nginx ssl 적용시키기

(1) 인증서 파일 옮기기

docker-compose.yml 파일을 보면 친절하게 volumes를 할당해준다.
즉 docker-container와 파일 공유가 가능한 폴더가 생성된다.

zabbix-docker/zbx_env/etc/ssl/nginx 안에 인증서 관련 파일을 넣으면
container 의 /etc/ssl/nginx에서 같은 파일을 바라볼 수 있다.

(2) 인증서 적용시키기

sudo docekr ps 
#nginx의 container id를 알아내자
sudo docker exec -it {containerId} /bin/bash
#해당 container의 bash를 여는 명령

container를 오픈하면 /etc/zabbix에 nginx.conf와 nginx_ssl.conf 를 발견할 수 있다.

기본 설정은 nginx.conf 로 되어있는데 nginx_ssl.conf 로 변경해 줄 것이다.

nginx_ssl.conf 파일 수정
ssl_certificate, ssl_certificate_key 값을 인증서 파일이 위치한 파일명으로 변경한다.
(/etc/ssl/nginx)

nginx -t 
# 현재 설정되어있는 configuration 파일을 확인할 수 있다!
nginx -c nginx_ssl.conf 
# config 파일을 nginx_ssl.config로 변경
nginx -s reload
# nginx 변경된 설정으로 반영

0개의 댓글