- Zabbix Server & Zabbix Agent 를 각각 눌러 Zabbix 환경을 구성할 수 있다.
목표
- Zabbix로 구축한 모니터링 환경을 Grafana와 연동한다.
- Grafana를 통해 Agent로부터 받은 Data를 사용자가 원하는 인터페이스에 맞춰 사용한다.
Grafana 란?
- 그라파나는 시각화 오픈소스 툴이다.
- 자빅스와 같은 모니터링 오픈소스 툴과 연동하여 사용할 경우 아래와 같이 대쉬보드를 구성하여 모니터링할 수 있다.
Grafana
Grafana 환경 구성
- Zabbix-Server에 그라파나 설치
# 의존성 패키지 설치 yum -y install initscripts urw-fonts wget wget https://dl.grafana.com/oss/release/grafana-6.7.3-1.x86_64.rpm rpm -Uvh grafana-6.7.3-1.x86_64.rpm systemctl daemon-reload systemctl start grafana-server systemctl enable grafana-server # 자빅스 플러그인 설치 grafana-cli plugins install alexanderzobnin-zabbix-app systemctl restart grafana-server
- 포트 오픈
# 서버 내부의 firewall 포트 오픈 firewall-cmd --permanent --zon=public --add-port=3000/tcp firewall-cmd --reload
- AWS Zabbix-Server 인스턴스의 SG에 TCP/3000의 0.0.0.0/0 규칙을 추가해준다.
Grafana 접속
- https://[server IP]:3000 으로 접속한다.
- 초기 계정 admin/admin으로 접속한다.
- 그라파나 초기화면을 볼 수 있다.
Grafana에 Zabbix 플러그인 추가하기
- 자빅스를 위한 플러그인 추가
- 그 후에 아래 나온 코드를 서버에 입력후 데몬 시작
systemctl stop grafana-server grafana-cli plugins install alexanderzobnin-zabbix-app systemctl restart grafana-server
- grafana를 다시 로그인한 후 Plug In 을 보면 Zabbix가 추가됨
- 해당 아이콘을 클릭하면 아래 사진의 Update 대신 Enable이 나온다. 클릭하여 연결해준다.
Grafana에 자빅스 서버 추가하기
- 데이터 소스 추가
- 자빅스 선택
- Cannot read property 'name' of undefined 와 같은 오류가 나는 경우
- 링크 클릭을 통해 받은 파일을 압축해제하여 /var/lib/grafana/plugin/ 경로에 넣어준 후 데몬을 재실행하면 정상적으로 Add data source가 진행된다.
- 자빅스 Data Source 입력
- URL : http://서버IP/zabbix/api_jsonrpc.php
- Zabbix API details → Zabbix 계정정보 입력 (Grafana용 계정을 생성하여 입력하는 방식도 있다.)
- SAVE & TEST로 등록완료
Grafana DashBoard 추가하기
- Grafana 대시보드 사이트에서 각자 취향에 맞는 인터페이스를 받을 수 있다.
- 원하는 대시보드를 선택한 후 → URL을 복사한다.
- Grafana → Create → Import로 이동
- 복사한 URL을 입력
- 이름,Folder를 지정하고 Import
- agent-CL Data가 대시보드 인터페이스에 맞게 불러와졌다.
데이터가 보이지 않는경우
- 아래 사진과 같이 항목에 No data가 표시되는 경우가 있다.
- 해당 장애가 나는 탭을 클릭하여 Edit으로 이동한다.
- Item 항목이 Zabbix의 항목이름과 동일해야 데이터를 정상적으로 출력한다.
- Zabbix 서버 → 모니터링 → 최근데이터에서 Uptime과 관련된 항목을 찾는다.
- Zabbix는 System uptime이라는 Item이름을 사용하지만 Grafana에서 Uptime이란 이름을 사용하면 매치가 안된다. Grafana에 올바른 Item이름을 기입한다.
- 정상적으로 값이 Return된 것을 확인 할 수 있다.
- 추가로 11619초를 hh:mm:ss 형식으로 바꾸려면
- visualization 탭의 Unit을 duration (hh:mm:ss) 형식으로 설정해준다.
결론
- 내가 원하는 대시보드를 선택하여 Grafana-Zabbix환경을 구축하였다.
- 다른 포스팅들과 다르게 Plug-In 추가 시 오류가 난 이유가 버전 때문인지 확인해 볼 필요성을 느꼈다.
Uploaded by Notion2Tistory v1.1.0