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
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
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 기동
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 연결
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로 등록해줘야한다..
docker-compose.yml 파일을 보면 친절하게 volumes를 할당해준다.
즉 docker-container와 파일 공유가 가능한 폴더가 생성된다.
zabbix-docker/zbx_env/etc/ssl/nginx 안에 인증서 관련 파일을 넣으면
container 의 /etc/ssl/nginx에서 같은 파일을 바라볼 수 있다.
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 변경된 설정으로 반영