InfluxDB 및 Grafana로 Proxmox 모니터링하기
안녕하세요. 오늘 열씸히 집에서도 일하고있는 달소입니다.
ESXi부터 진행했던 홈서버가 어느덧 Proxmox에서 어느정도 정착을 하고 운영을 잘하고있는상황에서
많은 유저분들께서 Proxmox를 사용하고 계시니 Proxmox에서도 좀더 디벨롭해야겠다는 생각을...해봅니다.
오늘 진행해볼것은 InfluxDB와 Grafana를 통해서 Proxmox의 호스트와 VM자원을 모니터링하는 방법입니다.
잘 따라하시면 아래와같은 대시보드를 구축하실 수 있을것입니다!
이를위해서는 말씀드린 InfluxDB와 Grafana 설치가 필요하기때문에 하나씩 천천히 진행해보겠습니다.
먼저 데이터를 저장할 볼륨먼저 생성해줍니다.
docker volume create influxdb-volume docker volume create grafana-volume
InfluxDB 및 Grafana 설치
Proxmox local이 아닌 docker로 설치할것이기때문에 VM에 docker를 설치해주시고 진행해주시면됩니다.
version: "3"
services:
grafana:
image: grafana/grafana
container_name: grafana
restart: always
ports:
- 3000:3000
volumes:
- grafana-volume::/var/lib/grafana
influxdb:
image: influxdb
container_name: influxdb
restart: always
ports:
- 8086:8086
- 8089:8089/udp
volumes:
- influxdb-volume:/var/lib/influxdb
volumes:
grafana-volume:
external: true
influxdb-volume:
external: true
Influxdb 버킷 구성하기
컨테이너 구성이 완료되었으면 이제 proxmox의 데이터를 받아줄 Influxdb를 구축해주겠습니다.
ip:8086으로 접근해주시고 조직이름과 버킷을 생성해줍니다.
여기서는 dalso / proxmox 로진행합니다. 토큰의경우 따로 보관해주시면되겠습니다.
그리고 메인화면으로 와서 좌측의 loaddata -> apitoken으로갑니다.
기본토큰의 경우 최고관리자 권한이니 별도로 하나 만들어줍니다.
그리고 proxmox_api를 만들어주는데 proxmox 버킷에 대한 rw 권한만 부여합니다.
그리고 생성된 키값을 복사해주세요.
Proxmox에서 Metric을 InfluxDB로 보내기
이제 proxmox의 Metric을 Influx로 보내주겠습니다.
Proxmox 메인페이지에서 클러스터 -> 메트릭서버 -> InfluxDB로 추가해주세요.
이제 데이터를 확인해보겠습니다.
다시 influxDB로 가서 Data Explorer로 갑니다.
위처럼 host까지 잘나오시면 성공입니다~
Grafana 설정
이제 그라파나 대시보드를 설정해주겠습니다.
ip:3000 으로 접속해주세요.
기본계정은 admin/admin 입니다.
Grafana에서 데이터 쿼리 및 시각화
그라파나와 인플럭스DB의 셋팅이 끝났으니 이제 대시보드만 구성해주면됩니다.
저같은 경우 아래 구성의 대시보드를 구성해보겠습니다.
원하는 형태의 대시보드를 찾은뒤에 우측하단에 id를 기억해주시면됩니다.
그라파나 대시보드에서 우측상단 설정 -> import from library를 선택합니다.
그리고 아까 저장해놓은 ID를 적어놓고 load를 누르면 아래처럼 나옵니다.
이렇게하면 대시보드가 잘 나옵니다!
복잡한것같지만,, 한번해보면 그래도 해볼만하실겁니다 하하하...
아 보기만 해도 머리아프네요...
안그래도 이번에 beelink n100으로 네이티브 헤놀 이전 하고 나서
x300 5600g pc가 남아서 다시 proxmox를 설치해볼까 기웃기웃 하고 있네요
그런데 막상 proxmox에 올릴 게 없어서 참고는 있는데
이런 글 볼 때마다 한 번 해볼까 말까 고민하게 됩니다...
그리고 x300 발열이 좀 심해서 24시간 켜놓기 불안하더라고요
netdata가 데이터 수집을 안하게도 할수 있습니다.
node exporter보다 netdata 값들이 보기 좋고, 프로세스 별 cpu 서용량도 조회가 되서...
netdata - prometheus - grafana 사용합니다.
이게 제가 써본 조합 중엔 최고예요.ㅎㅎ
proxmox에도 netdata 했었는데..
influxdv로 내보내기가 되는군요..ㄷㄷ
저도 적용해봐야겠습니다 :)
달소님 덕분에 잘 적용했습니다. Proxmox에 적용하긴 또 처음이네요! 감사합니다! :)
저같은 초보자를 위해 기록남겨요..
1. 도커 설치시
중간부분
- grafana-volume::/var/lib/grafana 을 - grafana-volume:/var/lib/grafana 로 바꿔야 합니다.
2. grafana-data sources-influxdb 에서
기억이 가물하지만 query language (?) 에서 flux를 선택하셔야 위의 보기처럼 나옵니다.
cmt alert