Zabbix 구축 일지

hahic·2022년 7월 18일
0

요즘 회사에서 여러가지 일들이 눈덩이처럼 한꺼번에 굴러와서 처리하느라, 집에 와서 한 것이 없다. 잠자기만 한 듯... 그렇다고 아예 논건 여서, 약 2개월 동안 작업한 우당탕탕 Zabbix 구축 일대기를 적어보려고 한다.

Zabbix 넌 도대체 뭐지..?🔎

Zabbix란 엔터프라이즈급 모니터링 시스템이다. 네트워크, 서버, 클라우드, 애플리케이션 등의 대부분의 IT 인프라를 모니터링할 수 있으며, 실시간으로 문제를 감지하여 알림을 발송해준다. Zabbix에서 제공하는 대시보드가 있어, 수집된 모니터링 데이터들을 시각적인 차트로 확인 가능하다.

거기다가, 무료다..! (대박이다...!)

하지만, 구축하기 어렵고, 생각보다 질 좋은 자료가 별로 없다. (Zabbix의 존재를 어떤 일본인 블로그에서 봤는데, 그 블로그 다시 찾으려고 해도 찾을 수가 없다...😭)

👩‍💻 난 구축을 이렇게 했다...!

일단 난 이제서야 개발에 발을 담근 쪼랭이 개발자다. 회사에서 개발 업무를 하고 있지만, 하면 할 수록 내가 부족하다는 걸 깨닫고 있었다. (현재도 그렇다... 열심히 공부 중...)

첫 번째, 나는 우선 Zabbix 구축할 테스트 서버를 구했다

Google에 호스팅 서버 추천 이라고 치면 많이 나오는데, 그 중에서 제일 싸고 호스팅 서버 UI가 이쁜걸 골랐다...ㅋㅋㅋ 참고로, 나는 linode에서 서버를 구입했다.

linod가 젤 싼게 5달러이고, 시간으로 가격을 책정한다. 그래서, 만약 2시간만 사용하고 해당 서버를 삭제하면 2시간 분의 가격만 청구하면 된다!

linode는 Linux 서버 밖에 호스팅을 안하고 있다.
즉, Windows는 제공하고 있지 않다.

두 번째, Docker를 공부했다...

Docker가 요즘 핫하기도 하고, 이왕 우당탕탕 하는김에 끝까지 우당탕탕하자라는 마인드로 Docker를 공부했는데... 대견스럽다 내 자신이.. 공부하면서 velog에 열심히 올려봤는데 (아무도 안봐줘서 슬프긴했지만), 올린걸 돌아보니 뿌듯했다.

세 번째, 본격적인 구축에 들어갔다

Docker를 공부를 한 이유는 단순하게 linux에 대해서 잘 몰라서이다. 물론 기본적인 지식은 있지만, 찐친처럼 모든걸 알고 있는 건 아니여서, 구축하다가 잘못 설정하는 날에는 처음부터 다시 시작이라는 생각에... 환경 세팅에 편리한 Docker를 선택한 것이다. 그리고, Zabbix가 Docker도 지원하기 시작해서 고른 이유도 있다.

Linux의 초기 세팅을 우선 시작했다. (포트 변경이라든지, Docker 설치, root로 접근할 수 없게 설정하는 것 등등) 그 다음, Docker-Compose.yaml 파일을 작성했다.

Zabbix 모니터링 시스템을 구축하려면 DB, front, back 걸친 모든 부분을 어느 정도 관여해야 한다. 그래서 여러가지의 Docker Image들을 사용하게 되는데, 각각의 Image들이 유기적인 작업을 수행해야 하고, 그러한 Image들이 잘 구동되는지 모니터링해야 하며 사용 용도에 따라, 환경 설정을 다르게 해야하기 때문에 Docker-Compose.yaml 파일을 작성하여 초기 구축을 설계하였다. (작성한 파일은 아래 참고 링크를 참고하시라..!)

참고
Docker Compose 작성 파일 - Github

네 번째, 모니터링할 서버들 세팅 노가다 시작..! (거의 다 왔따)

Zabbix 이 친구를 찾은 이유는 회사 내에서 모니터링할 서버들이 너무 많아 관리가 어렵다는 점이였다. 맘놓고 있다가 알림만 오면 바로 처리하면 된다..! 얼마나 행복한가.. 서버 터질까봐 전전긍긍 안해도 된다...ㅠ

일단 개인적으로 가지고 있는 여분의 서버가 없어서, 내 개인 서버(Windows)랑 linode에서 하나 더 구입한 서버(Linux)를 이용하여 모니터링할 서버들을 세팅하기 시작했따...! 모니터링 할 서버 중 Linux는 Docker 구축해버리고, Window 서버는 Zabbix가 제공해주는 설치 프로그램을 이용하여 구축했다. (자세한 내용은 다음 포스팅에 적을 예정..)

참고

  • Linux 서버 구축 Docker 명령어
    docker run --name zabbix-agent -e ZBX_HOSTNAME="[Zabbix 구축 서버 이름]" -e ZBX_SERVER_HOST="[Zabbix 구축 서버 ip]" -v /var/run/docker.sock:/var/run/docker.sock -p 10150:10050 -d zabbix/zabbix-agent2
  • Window 서버 구축 실행 프로그램 다운로드

마무리하면서...

나는 해당 과정을 통해 구축을 했다. 물론 아직 갈길이 멀긴하다. 조금씩의 이슈가 발생하여, 원인을 찾으면서 해결해나가고 있따. 자세한 구축 과정은 다음 호스팅에 추가할 예정이다. (언제가 될지는 모릅니다만....)

profile
👩‍💻 Junior Backend Developer

0개의 댓글