docker-compose를 사용하여 Zabbix 환경 만들기
docker-compose를 사용하여 Zabbix 환경 만들기
망비록입니다.
어려운 일이나 자세한 것은 서투르므로 심플하게 걸립니다.
떠올랐을 때, 여러가지 덧붙입니다.
참고 사이트 1: Zabbix 공식 컨테이너와 docker-compose를 사용하여 검증 환경을 쉽게 생성 삭제
참고 사이트 2: zabbix/DockerHub
참고 사이트 3: Zabbix 문서 3.0
0. 쉽게, 세 가지 전제 지식
"docker-compose를 사용하여 Zabbix의 환경을 만들기"전에, 간단하게, 3개의 기초 사항을 합니다.
1. Docker란?/Qiita
-> 컨테이너형 가상 환경을 작성, 배포, 실행하기 위한 플랫폼.
2. docker-compose란?/Qiita
-> 복수의 컨테이너로 이루어지는 서비스를 구축·실행하는 순서를 자동적으로 해, 관리를 용이하게 하는 기능.
3. Zabbix란/Qiita
-> 무료 오픈 소스로 여러 애플리케이션을 모니터링 할 수있는 통합 모니터링 시스템.
0.+@ 환경을 구성하기 전에 더하기 알파
1. Zabbix/Qiita 구성
2. 이번 환경 구성
어쩐지 머리에 넣어두면 좋다고 생각합니다.
1. 변수 파일(.env) 만들기
docker-compose.yml
와 같은 디렉토리에,.env
라는 새 파일을 만듭니다.
▼▼ .env
의 내용
OS=alpine
VERSION=3.0.15
DB_NAME=zabbix
DB_USER=zabbix
DB_USER_PASSWORD=zabbix
DB_ROOT_PASSWORD=zabbix
HTTP_PORT=8080
TIME_ZONE=Asia/Tokyo
# 0 - basic information about starting and stopping of Zabbix processes;
# 1 - critical information
# 2 - error information
# 3 - warnings
# 4 - for debugging (produces lots of information)
# 5 - extended debugging (produces even more information)
LOG_LEVEL=3
※설정값은 적절히 변경 가능.
※버전은, 이쪽의 도커 공식 사이트 를 참고해 주세요.
2.docker-compose.yml 파일 만들기
.env
파일로 정의한 변수를 이용하는 형태, 그렇다.
▼▼ docker-compose.yml
의 내용
version: "3"
services:
zabbix_db:
image: mysql:5.7
environment:
- MYSQL_DATABASE=${DB_NAME}
- MYSQL_USER=${DB_USER}
- MYSQL_PASSWORD=${DB_USER_PASSWORD}
- MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD}
zabbix_server:
image: zabbix/zabbix-server-mysql:${OS}-${VERSION}
environment:
- DB_SERVER_HOST=zabbix_db
- MYSQL_DATABASE=${DB_NAME}
- MYSQL_USER=${DB_USER}
- MYSQL_PASSWORD=${DB_USER_PASSWORD}
- MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD}
- ZBX_DEBUGLEVEL=${LOG_LEVEL}
ports:
- "10051:10051"
links:
- zabbix_db
zabbix_web:
image: zabbix/zabbix-web-apache-mysql:${OS}-${VERSION}
environment:
- ZBX_SERVER_HOST=zabbix_server
- DB_SERVER_HOST=zabbix_db
- MYSQL_DATABASE=${DB_NAME}
- MYSQL_USER=${DB_USER}
- MYSQL_PASSWORD=${DB_USER_PASSWORD}
- MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD}
- PHP_TZ=${TIME_ZONE}
ports:
- ${HTTP_PORT}:80
links:
- zabbix_server
- zabbix_db
zabbix_agent:
image: zabbix/zabbix-agent:${OS}-${VERSION}
privileged: true
environment:
- ZBX_SERVER_HOST=zabbix_server
expose:
- "10050"
links:
- zabbix_server
3. 막상 초기 구축
▼▼ 명령으로 다음 명령을 입력합니다.
-d를 붙이지 않으면 포그라운드에서 실행되어 로그가 흐른다는 것.
docker-compose up -d
# ログ確認
docker-compose logs -f
※포트 번호(여기에서는 8080)가 입고 있어, 라고 에러가 나왔으므로,
8000 8001 되어 좋아하는 포트 번호로 바꿨습니다.
무사히 명령이 지나면,
http://:8080(내 경우에는 http://localhost:8080/
)
에 연결하면 다음 화면이 나옵니다!
했어!
초기 사용자 admin
/zabbix
로 로그인할 수 있습니다.
4. 일본어화
오른쪽 상단의 ①을 클릭하고,
언어를 ②Japanese로 선택합니다.
5. 간단한 Zabbix 설정
Zabbix Server 자체에는 Agent가 없으므로,
아래와 같이 Agent의 NIC를 DNS에서 zabbix_agent를 보도록 변경합니다.
나중에 활성화하고 사용합니다.
5. 주요 docker-compose 명령
전경에서 시작한 것을 Ctrl-C로 떨어뜨리거나,
stop한 것만의 경우는, DB등의 데이터가 남습니다.
▼▼ 기동 및 정지 명령
docker-compose stop
docker-compose start
▼▼버전을 전환하고 싶은 경우 등, 데이터 삭제하고 싶은 경우는 db의 컨테이너를 삭제하고 up 다시 하거나, down에서 모든 환경 삭제하고 up 다시 합니다.
docker-compose rm zabbix_db
docker-compose down
Reference
이 문제에 관하여(docker-compose를 사용하여 Zabbix 환경 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/puripuri_corgi/items/5f2a38903c674fc080ee
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
OS=alpine
VERSION=3.0.15
DB_NAME=zabbix
DB_USER=zabbix
DB_USER_PASSWORD=zabbix
DB_ROOT_PASSWORD=zabbix
HTTP_PORT=8080
TIME_ZONE=Asia/Tokyo
# 0 - basic information about starting and stopping of Zabbix processes;
# 1 - critical information
# 2 - error information
# 3 - warnings
# 4 - for debugging (produces lots of information)
# 5 - extended debugging (produces even more information)
LOG_LEVEL=3
version: "3"
services:
zabbix_db:
image: mysql:5.7
environment:
- MYSQL_DATABASE=${DB_NAME}
- MYSQL_USER=${DB_USER}
- MYSQL_PASSWORD=${DB_USER_PASSWORD}
- MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD}
zabbix_server:
image: zabbix/zabbix-server-mysql:${OS}-${VERSION}
environment:
- DB_SERVER_HOST=zabbix_db
- MYSQL_DATABASE=${DB_NAME}
- MYSQL_USER=${DB_USER}
- MYSQL_PASSWORD=${DB_USER_PASSWORD}
- MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD}
- ZBX_DEBUGLEVEL=${LOG_LEVEL}
ports:
- "10051:10051"
links:
- zabbix_db
zabbix_web:
image: zabbix/zabbix-web-apache-mysql:${OS}-${VERSION}
environment:
- ZBX_SERVER_HOST=zabbix_server
- DB_SERVER_HOST=zabbix_db
- MYSQL_DATABASE=${DB_NAME}
- MYSQL_USER=${DB_USER}
- MYSQL_PASSWORD=${DB_USER_PASSWORD}
- MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD}
- PHP_TZ=${TIME_ZONE}
ports:
- ${HTTP_PORT}:80
links:
- zabbix_server
- zabbix_db
zabbix_agent:
image: zabbix/zabbix-agent:${OS}-${VERSION}
privileged: true
environment:
- ZBX_SERVER_HOST=zabbix_server
expose:
- "10050"
links:
- zabbix_server
docker-compose up -d
# ログ確認
docker-compose logs -f
docker-compose stop
docker-compose start
docker-compose rm zabbix_db
docker-compose down
Reference
이 문제에 관하여(docker-compose를 사용하여 Zabbix 환경 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/puripuri_corgi/items/5f2a38903c674fc080ee텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)