구름

Grafana-Zabbix 연동 모니터링 환경 구성 본문

Monitoring

Grafana-Zabbix 연동 모니터링 환경 구성

Cloudest 2020. 12. 24. 16:01
 

Cloudest - 블로그 이사했습니다

노션으로 블로그를 옮겼습니다.

흥미로운 포스팅이 올라옵니다!

cloudest.oopy.io

🛠
준비물 : Zabbix Server & Agent구성이 완료된 Linux

목표

  • Zabbix로 구축한 모니터링 환경을 Grafana와 연동한다.
  • Grafana를 통해 Agent로부터 받은 Data를 사용자가 원하는 인터페이스에 맞춰 사용한다.

Grafana 란?

  • 그라파나는 시각화 오픈소스 툴이다.
  • 자빅스와 같은 모니터링 오픈소스 툴과 연동하여 사용할 경우 아래와 같이 대쉬보드를 구성하여 모니터링할 수 있다.

Grafana

  • Grafana 환경 구성
    1. Zabbix-Server에 그라파나 설치
    2. # 의존성 패키지 설치 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
    1. 포트 오픈
      # 서버 내부의 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 접속
    1. https://[server IP]:3000 으로 접속한다.
    1. 초기 계정 admin/admin으로 접속한다.
    1. 그라파나 초기화면을 볼 수 있다.

     

  • Grafana에 Zabbix 플러그인 추가하기
    1. 자빅스를 위한 플러그인 추가
    1. 그 후에 아래 나온 코드를 서버에 입력후 데몬 시작
      systemctl stop grafana-server 
      grafana-cli plugins install alexanderzobnin-zabbix-app 
      systemctl restart grafana-server
    1. grafana를 다시 로그인한 후 Plug In 을 보면 Zabbix가 추가됨
    1. 해당 아이콘을 클릭하면 아래 사진의 Update 대신 Enable이 나온다. 클릭하여 연결해준다.
  • Grafana에 자빅스 서버 추가하기
    1. 데이터 소스 추가
    1. 자빅스 선택
      • Cannot read property 'name' of undefined 와 같은 오류가 나는 경우
      • 링크 클릭을 통해 받은 파일을 압축해제하여 /var/lib/grafana/plugin/ 경로에 넣어준 후 데몬을 재실행하면 정상적으로 Add data source가 진행된다.
    1. 자빅스 Data Source 입력
      • URL : http://서버IP/zabbix/api_jsonrpc.php
      • Zabbix API details → Zabbix 계정정보 입력 (Grafana용 계정을 생성하여 입력하는 방식도 있다.)
      • SAVE & TEST로 등록완료
  • Grafana DashBoard 추가하기
    1. Grafana 대시보드 사이트에서 각자 취향에 맞는 인터페이스를 받을 수 있다.
    1. 원하는 대시보드를 선택한 후 → URL을 복사한다.
    1. Grafana → Create → Import로 이동
    1. 복사한 URL을 입력
    1. 이름,Folder를 지정하고 Import
    1. agent-CL Data가 대시보드 인터페이스에 맞게 불러와졌다.
  • 데이터가 보이지 않는경우
    1. 아래 사진과 같이 항목에 No data가 표시되는 경우가 있다.
      Uptime의 경우 임의로 값을 변경하여 No data가 나오게 한 상태이다.
    1. 해당 장애가 나는 탭을 클릭하여 Edit으로 이동한다.
    1. Item 항목이 Zabbix의 항목이름과 동일해야 데이터를 정상적으로 출력한다.
    1. Zabbix 서버 → 모니터링 → 최근데이터에서 Uptime과 관련된 항목을 찾는다.
    1. ZabbixSystem uptime이라는 Item이름을 사용하지만 Grafana에서 Uptime이란 이름을 사용하면 매치가 안된다. Grafana에 올바른 Item이름을 기입한다.
    1. 정상적으로 값이 Return된 것을 확인 할 수 있다.
    1. 추가로 11619초를 hh:mm:ss 형식으로 바꾸려면
      • visualization 탭의 Unit을 duration (hh:mm:ss) 형식으로 설정해준다.

결론

  • 내가 원하는 대시보드를 선택하여 Grafana-Zabbix환경을 구축하였다.
  • 다른 포스팅들과 다르게 Plug-In 추가 시 오류가 난 이유가 버전 때문인지 확인해 볼 필요성을 느꼈다.

'Monitoring' 카테고리의 다른 글

Boto3를 활용한 Zabbix - RDS cpu/ram 사용량 모니터링  (0) 2021.02.01
Zabbix Macro 생성  (0) 2021.01.26
Zabbix on CentOS 8 (2)  (0) 2020.12.23
Zabbix on CentOS 8 (1)  (0) 2020.12.23
Comments