Zabbix 3.4를 docker로 운용하여 Vuls와 연동시킨다 ~ 그 1 ~ Zabbix 설치

6565 단어 vuls도커zabbix

소개



이전에 이 기사에서 Zabbix 3.2를 도입했습니다.
재구성하는 가운데, Zabbix 3.4에의 업데이트와 최근 유행하고 있는 Vuls와의 제휴에 도전해 보았습니다.

이번은 그 1로서 Zabbix 3.4의 설치까지를 실시합니다.

환경



macOS High Sierra (10.13)
Docker Version 17.09.0-ce-mac33 (19543)

Zabbix 시작 및 중지



적절한 폴더를 준비하고 docker-compose.yaml를 만듭니다.
이전에는 monitoringartist의 Docker 이미지를 사용했지만 이번에는 공식 이미지를 사용하고 있습니다.
여기 을(를) 참고로 했습니다.

docker-compose.yaml
version: '2'
services:
  mysql:
    image: mysql:5.7
    restart: always
    command: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci
    volumes:
      - ./data/mysql:/var/lib/mysql
    expose:
      - "3306"
    environment:
      MYSQL_ROOT_PASSWORD: docker
      MYSQL_DATABASE: zabbix
      MYSQL_USER: zabbix
      MYSQL_PASSWORD: zabbix

  zabbix-server:
    image: zabbix/zabbix-server-mysql:alpine-3.4-latest
    restart: always
    volumes:
      - ./data/zabbix:/var/lib/zabbix
    environment:
      DB_SERVER_HOST: mysql
      MYSQL_USER: zabbix
      MYSQL_PASSWORD: zabbix
    ports:
      - "10051:10051"
    depends_on:
      - mysql

  zabbix-web:
    image: zabbix/zabbix-web-nginx-mysql:alpine-3.4-latest
    restart: always
    volumes:
      - ./data/fonts:/usr/share/zabbix/fonts
    environment:
      DB_SERVER_HOST: mysql
      MYSQL_USER: zabbix
      MYSQL_PASSWORD: zabbix
      ZBX_SERVER_HOST: zabbix-server
      PHP_TZ: Asia/Tokyo
    ports:
      - "80:80"
    depends_on:
      - mysql
      - zabbix-server

Zabbix를 시작합니다.
docker-compose up -d

로그를 확인하는 방법입니다.
docker-compose logs -f

브라우저에서 http://localhost에 액세스합니다.

로그인 화면이 표시되면 성공입니다.
처음에는 admin/zabbix로 로그인할 수 있습니다.

Zabbix를 중지하는 방법입니다.
docker-compose down

그래프용 폰트의 문자 깨짐 대책



기본 Zabbix는 그래프에서 일본어를 사용하면 깨질 수 있습니다.
따라서 위의 docker-compose.yaml에서는 그래프에 사용할 글꼴을 자유롭게 설정할 수 있습니다.data/fonts에 글꼴 파일을 저장하고 graphfont.ttf라는 이름으로 이름을 바꾸거나 기호 링크를 붙입니다.
cd data/fonts
ln -s ipag.ttf graphfont.ttf


그러면 그래프의 깨짐이 해소됩니다.

Zabbix 백업 및 복원



백업



아래는 전체 백업 방법입니다.monitoringartist 버전에는 설정만 백업하는 스크립트가 준비되어 있었습니다만・・・.
프로덕션 운용하는 경우는 cron등으로 정기적으로 실행하는 것이 좋을 것입니다.
docker exec -ti [mysqlのコンテナID] bash -c "mysqldump -u zabbix -pzabbix zabbix | gzip -c > /var/lib/mysql/mysqldump_zabbix_`date +%Y%m%d`.sql.gz"

복원



먼저 zabbix-server를 중지합니다.
docker stop [zabbix-server-mysqlのコンテナID]

복원합니다.
docker exec -it [mysqlのコンテナID] bash -c "gzip -dc /var/lib/mysql/mysqldump_zabbix_[日付].sql.gz | mysql -uzabbix -pzabbix zabbix"

zabbix-server를 다시 시작합니다.
docker-compose down
docker-compose up -d

다음에 Vuls를 설치할 예정입니다.

Zabbix 3.4를 docker로 운용하여 Vuls와 연동시킨다 ~ 그 2 ~ Vuls의 인스톨

좋은 웹페이지 즐겨찾기