골방잡담
[서버 모니터링] Zabbix 적용 1 : Virtualbox CentOS 7 에 Zabbix Server, Agent 등 설치 본문
[서버 모니터링] Zabbix 적용 1 : Virtualbox CentOS 7 에 Zabbix Server, Agent 등 설치
sisu_ 2020. 8. 31. 17:35개인 프로젝트용 서버에 각종 troubleshooting을 하면서, 모니터링 공부도 할 겸 Zabbix 설치를 해보았습니다.
공식홈페이지에서 documentation 도 자세하게 되어 있긴 하지만,
아무것도 모르는 입장에서 step by step으로 따라할 수 있는 youtube 영상도 Zabbix에서 제공하고 있어,
해당 영상을 보면서 단계별로 진행한 내용입니다.
실습 환경 :
-
OS : CentOS 7.X
-
방화벽 해제 : zabbix 사용을 하려면 아래 포트는 열어줘야함 :
-
frontend : 80/443
-
server/proxy : 10051
-
agent : 10050
-
TCP
-
진행 내용 :
-
자빅스 저장소를 통해 Zabbix 서버에 필요한 소프트웨어 설치
-
zabbix homepage download section > install zabbix from package > 가장 최신인 4.0 > OS Distribution 선택 (CentOS 7) > DB는 MySQL 후, 명령어 복붙
-
yum search zabbix 명령어로 repository를 통해 install 할 수 있는 것이 뭐가 있는지 확인
-
(Use the search features of yum to find software that is available from the configured repositories, or already installed on your system. Searches automatically include both installed and available packages.)
-
yum install zabbix-get zabbix-agent zabbix-server-mysql zabbix-web-mysql mariadb-server -y
-
zabbix-get: troubleshooting 용도
-
server, web은 사용하는 db enigne 매칭도 되어야 하는 듯
-
마지막으로 사용하고자 하는 db 서버도 같이 설치해줘야함.
2. Zabbix 용 MySQL DB 구성
-
systemctl start mariadb
-
mysql 입력하여 DB cli 진입.
참고로 mariadb는 초기에 설정된 비밀번호가 없어서, 이렇게 입력하면 바로 진입 가능.
-
database 생성을 해주어야함. 참고로 set utf8~ 이부분은 zabbix이용하기 위한 필수사항임
-
create database zabbix character set utf8 collate utf8_bin;
-
이제 이 db에 접근할 수 있는 유저를 만들어줘야함.
-
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
-
localhost에서만 접속할 수 있는 zabbix 라는 유저고, 패스워드도 zabbix
-
이제 스키마를 가져와야하는데, zabbix server을 다운받았을 당시 스키마도 함께 다운 받았음. (schema of zabbix database, default data, 필요한 images가 포함되어 있음)
-
그럼 zabbix server 경로로 가보자
-
cd /usr/share/doc/zabbix-server-mysql-4.0.23/
-
압축되어 있는 create.sql.gz문을 풀어서, zabbix database에 적용해주자
-
zcat create.sql.gz | mysql zabbix
-
mysql 들어가서, 스키마가 잘 반영되었는지 확인 (총 144개 테이블) :
-
zabbix-server.conf에서, zabbix db password를 아래와 같이 주석 해제하고 설정해주기
-
vim /etc/zabbix/zabbix_server.conf
3. Zabbix 서버 시작
-
이제 자빅스 서버를 start 해주자
-
systemctl start zabbix-server
-
잘 떠있는지 확인하려면, 항상 로그를 확인하자 : less /var/log/zabbix/zabbix_server.log
4. Zabbix web 시작 (frontend)
-
이제 프론트엔드 부분을 configure해야함
-
vim /etc/httpd/conf.d/zabbix.conf 에서 php 파라미터가 있고, 그 중 timezone 설정을 해줄 것(주석해제 필요). 이걸 꼭 한 후에 스타트 해줘야함.
-
systemctl start httpd 로 apache 시작해주기
-
브라우저에서 IP/zabbix하면 접속
-
이 부분에서 막혀서, 1) VM에서 고정IP쓰면서 외부 인터넷 되게 설정 2) 그래도 안돼서, 유투브 댓글을 보고 firewall 관련 설정함. # firewall-cmd --add-service=http --zone=public --permanent, # firewall-cmd --reload 3) telnet 설치 후 telnet을 하니까 갑자기 host computer 에서도 안 되던 telnet 이 됨.
-
이후 web 접속 성공! 이 곳에서 컨피그를 설정하면, cli에 반영된다고 함.
-
Check of pre-requisites : 웬만하면 전부 되어 있을 것 임
-
Configure DB connection : mysql 용으로 설치했기 때문에 MySQL 만 선택할 수 있음
-
Zabbix server details : 여기서의 name은 브라우저에서 보이는 이름으로, 별 의미 없음.
-
모든 설정이 끝났다. 참고로 이 설정은 /etc/zabbix/web/zabbix.conf.php 에 저장이 된다.
-
이제 웹에 로그인할 수 있게 되었는데, default ID는 Admin(대소문자구분), PW는 zabbix다
5. Troubleshooting : 'zabbix server is running : No'
-
Web 로그인하자마자 아래와 같이 'zabbix server is running : No' 라고 뜸... ㅠㅠ
-
zabbix_server.log 를 확인해보니, 마지막에 process stop 됐었음.
-
다시 띄우는 명령어를 치고, tail로 로그를 확인해보니.. 어떠한 이유로 자꾸 멈추고 있음 ㅠㅠ
-
해결책은, 다른 블로그 글이 잘 정리되어 있는것이 있어 permissive으로 바꾸니, zabbix server runing으로 활성화됨 :)
- 참고 블로그 :
참고 소스 (영상, documentation)
- Zabbbix documentation : https://www.zabbix.com/documentation/4.0/manual/concepts/server
- Zabbix 설치 youtube 영상 : https://youtu.be/yYmkFf3AEBo
'PC방에서 > 개인프로젝트' 카테고리의 다른 글
[서버 모니터링] Zabbix Maintenance 기능 이해 (0) | 2021.03.20 |
---|---|
[서버 모니터링] Zabbix 적용 2 : EC2와 Virtualbox CentOS 연결 실패 + 방화벽 설정 (0) | 2020.09.12 |
주문관리 효율화(1) - 아마존 RDS로 MySQL DB 생성하기 (0) | 2020.09.05 |
Selenium+Telegram+APScheduler+EC2 로 필요한 정보 알림 받기 (0) | 2020.04.01 |