[Openshift] 웹 UI 대시보드 Grafana 설치
본 매뉴얼은 '[Openshift] 미터링 도구 Prometheus + AlertManager 알람' 에 이어서 작성되었습니다.
1. Grafana 설치
Grafana 는 수집한 metrics 값을 보기좋게 시각화 해주는 웹 GUI 환경의 대시보드 입니다.
아래 파일을 생성하고 적용해 줍니다.
# vi grafana.yaml
apiVersion: apps/v1 kind: Deployment metadata: name: grafana namespace: monitoring spec: replicas: 1 selector: matchLabels: app: grafana template: metadata: name: grafana labels: app: grafana spec: securityContext: seccompProfile: type: RuntimeDefault containers: - name: grafana image: grafana/grafana:latest ports: - name: grafana containerPort: 3000 env: - name: GF_SERVER_HTTP_PORT value: "3000" - name: GF_AUTH_BASIC_ENABLED value: "false" - name: GF_AUTH_ANONYMOUS_ENABLED value: "true" - name: GF_AUTH_ANONYMOUS_ORG_ROLE value: Admin - name: GF_SERVER_ROOT_URL value: / securityContext: allowPrivilegeEscalation: false capabilities: drop: ["ALL"] runAsNonRoot: true --- apiVersion: v1 kind: Service metadata: name: grafana namespace: monitoring annotations: prometheus.io/scrape: 'true' prometheus.io/port: '3000' spec: selector: app: grafana type: NodePort ports: - port: 3000 targetPort: 3000 nodePort: 30004 |
# oc apply -f grafana.yaml
deployment.apps/grafana created
service/grafana created
Grafana 의 호스트명을 확인하고 30004 포트를 이용하여 웹 GUI 환경으로 접속합니다.
# oc get pod -n monitoring -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
alertmanager-689f68c448-88v92 1/1 Running 0 3d3h 10.128.2.254 worker01.az1.sysdocu.kr <none> <none>
grafana-577cc7fbdd-rdtcc 1/1 Running 0 3m55s 10.128.3.41 worker01.az1.sysdocu.kr <none> <none>
node-exporter-57djp 1/1 Running 0 8d 10.131.0.184 worker02.az1.sysdocu.kr <none> <none>
node-exporter-w5s8d 1/1 Running 0 8d 10.128.2.239 worker01.az1.sysdocu.kr <none> <none>
prometheus-deployment-859bc6d5c7-mjhvk 1/1 Running 0 25m 10.128.3.37 worker01.az1.sysdocu.kr <none> <none>
웹브라우저 접속 URL :http://worker01.az1.sysdocu.kr:30004
2. Prometheus 연동 (데이터 추가)
Prometheus 에 수집된 데이터를 가져와 그래프로 그려보도록 합니다.
좌측 상단 토글 메뉴 > Administration > Data sources > [Add data source] > Prometheus 선택
HTTP 의 URL 항목에 입력해야 할 정보는 아래 명령으로 확인이 가능합니다.
# oc get service -n monitoring
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
alertmanager NodePort 172.30.25.192 <none> 9093:30005/TCP 7d19h
grafana NodePort 172.30.24.162 <none> 3000:30004/TCP 18m
node-exporter NodePort 172.30.65.240 <none> 9100:31672/TCP 8d
prometheus-service NodePort 172.30.191.143 <none> 8080:30003/TCP 59m
URL 항목에 http://172.30.191.143:8080 이라고 입력하고 페이지 맨 아래 'Save & test' 버튼을 눌러 저장합니다.
Grafana 에서 Prometheus 데이터를 가져오도록 설정하였습니다.
3. 템플릿 적용
연동된 Prometheus 데이터를 PromQL 쿼리로 디자인해야 하는데, 손이 많이 가므로 Grafana 사이트에서 공유하고 있는 템플릿을 가져와 적용 시켜봅니다.
(Grafana 홈페이지에서)
대시보드 페이지 접속 https://grafana.com/grafana/dashboards/ > 페이지 가운데 'Search dashboards' 에 'kubernetes' 입력 및 검색 > 원하는 템플릿 클릭 > 'Download JSON' 선택하고 다운로드 받은 JSON 파일의 내용을 '전체 복사' 해둡니다.
(Grafana 설치 페이지에서)
좌측 상단 토글 메뉴 > Dashboards 선택 > 좌측 풀다운 메뉴 [New] 를 클릭으로 펼쳐서 'Import' 선택 > 중간에 'Import via panel json' 입력란에 붙여넣기 (Ctrl + V) 및 [Load] 클릭 > 맨 아래 'Select a Prometheus data source' 에서 Prometheus (default) 선택 후 [Import] 클릭
초기화면으로 자동 이동되면서 예쁜 템플릿으로 구성된 대시보드를 볼 수 있습니다.
'리눅스 > OpenShift' 카테고리의 다른 글
Openshift / Kubernetes 컨테이너 권한 설정하기 (0) | 2023.06.20 |
---|---|
Openshift 4.12.0 PV, PVC (GlusterFS) 를 이용한 Volume 추가 (0) | 2023.06.08 |
[OC & Kubernetes] Kubernetes 관리도구 helm 3.12 설치하기 (0) | 2023.05.19 |
[참고] Openshift 에서 PV 에 연결된 PVC 정보 확인 및 PV 삭제하기 (0) | 2023.05.11 |
Openshift 4.12.0 PV, PVC (NFS) 를 이용한 Volume 추가 (0) | 2023.05.10 |