모니터링 대시보드
클러스터 및 노드 측정항목 모니터링을 위한 샘플 대시보드를 관리 센터에서 사용할 수 있습니다.
Grafana 모니터링 대시보드 버튼을 누르면 관리 클러스터에서 호스팅되는 Grafana 애플리케이션이 열립니다. Grafana 액세스는 관리 센터를 통해 제어됩니다. 관리 센터에 로그인되어 있으면 추가 로그인이 필요하지 않습니다.
대시보드
로그인하면 데모용 샘플 대시보드 목록을 볼 수 있습니다.
로그
'Grafana Loki 로그' 버튼을 누르면 Grafana 탐색기가 열리고 Kubernetes 시스템 로그를 포함한 로그를 쿼리할 수 있습니다.
쿼리할 로그에 라벨이 추가됩니다.
로그 라벨
로그 유형 | 라벨 |
---|---|
컨테이너 로그 |
|
노드 Journald 로그 |
|
감사 로그 |
|
모든 Kubernetes 라벨과 클러스터 라벨이 로그 라벨로 포함됩니다.
샘플 쿼리
컨테이너 로그
{cluster="admin", namespace="kube-system", resources="k8s_container", container="kube-apiserver"}
노드 Journald 로그
{cluster="admin", resources="k8s_node"}
감사 로그
{cluster="admin", resources="k8s_audit"}
StorageClass 구성
PersistentVolumeClaims
는 측정항목, 로그, 대시보드, 알림을 저장하도록 요청됩니다. 클러스터를 만들면 클러스터가 LogMon
커스텀 리소스를 자동으로 만듭니다. 기본 StorageClass
를 재정의하려면 다음 단계를 완료합니다.
다음 명령어를 실행하여 명령줄 편집기에서
LogMon
커스텀 리소스를 엽니다.kubectl --kubeconfig=ADMIN_OIDC_KUBECONFIG -n kube-system edit logmon logmon-default
LogMon
커스텀 리소스에서spec
필드 아래의storageClassName
을 업데이트합니다.apiVersion: addons.gke.io/v1alpha1 kind: Logmon metadata: # Don't change the name name: logmon-default # Don't change the namespace namespace: kube-system spec: system_logs: outputs: default_loki: deployment: storageClassName: anthos-system # configure the new storage class here system_metrics: outputs: default_prometheus: deployment: storageClassName: anthos-system # configure the new storage class here
변경사항을
LogMon
커스텀 리소스에 저장하려면 명령줄 편집기를 저장하고 종료합니다.
스토리지 크기 구성
클러스터를 만들면 클러스터가 LogMon
커스텀 리소스를 자동으로 만듭니다. 측정항목, 로그, 대시보드, 알림에 대한 스토리지 크기를 재정의하려면 다음 단계를 완료합니다.
다음 명령어를 실행하여 명령줄 편집기에서
LogMon
커스텀 리소스를 엽니다.kubectl --kubeconfig=ADMIN_OIDC_KUBECONFIG -n kube-system edit logmon logmon-default
LogMon
커스텀 리소스에서spec
필드 아래의storageSize
을 업데이트합니다.apiVersion: addons.gke.io/v1alpha1 kind: Logmon metadata: # Don't change the name name: logmon-default # Don't change the namespace namespace: kube-system spec: system_logs: outputs: default_loki: deployment: components: loki: storageSize: 20Gi # configure the new storage size for logs here system_metrics: outputs: default_prometheus: deployment: components: alertmanager: storageSize: 1Gi # configure the new storage size for alerts here grafana: storageSize: 1Gi # configure the new storage size for dashboards here prometheus: storageSize: 20Gi # configure the new storage size for metrics here ````
변경사항을
LogMon
커스텀 리소스에 저장하려면 명령줄 편집기를 저장하고 종료합니다.
보관 기간 구성
클러스터에서 실행되는 Prometheus 및 Loki 에이전트에서 로그 보관 기간을 구성하려면 다음 단계를 완료합니다.
다음 명령어를 실행하여 명령줄 편집기에서
LogMon
커스텀 리소스를 엽니다.kubectl --kubeconfig=ADMIN_OIDC_KUBECONFIG -n kube-system edit logmon logmon-default
LogMon
커스텀 리소스에서spec
필드 아래의retentionTime
을 업데이트합니다.apiVersion: addons.gke.io/v1alpha1 kind: Logmon metadata: # Don't change the name name: logmon-default # Don't change the namespace namespace: kube-system spec: system_logs: outputs: default_loki: deployment: retentionPolicy: retentionTime: 720h # configure the new retention time for logs here system_metrics: outputs: default_prometheus: deployment: retentionPolicy: retentionTime: 720h # configure the new retention time for metrics here
변경사항을
LogMon
커스텀 리소스에 저장하려면 명령줄 편집기를 저장하고 종료합니다.
fluent-bit 추가 출력 구성
클러스터에서 실행되는 Loki 외에 다른 대상으로 로그 내보내기도 지원됩니다. 지원되는 대상 목록을 참조하세요. 추가 로그 출력 대상을 구성하려면 다음 단계를 완료합니다.
kube-system
네임스페이스에서logmon: system_logs
라벨로 configmap을 만듭니다. 추가 출력 구성은 fluent-bit 출력 플러그인과 동일한 구문을 포함하며,data
필드 아래의output.conf
파일에 추가됩니다. 샘플 구성 파일을 참조하세요.apiVersion: v1 kind: ConfigMap metadata: # The name should match the configmap name specified in step 3. name: <customized-system-logs-fluent-bit-output-config> # Don't change the namespace namespace: kube-system labels: # This label is required. logmon: system_logs data: # The file name must be output.conf output.conf: | # Add a customized fluent-bit output plugin configuration here
다음 명령어를 실행하여 명령줄 편집기에서
LogMon
커스텀 리소스를 엽니다.kubectl --kubeconfig=ADMIN_OIDC_KUBECONFIG -n kube-system edit logmon logmon-default
LogMon
커스텀 리소스에서spec/system_logs/outputs
필드 아래에additionalOutput
필드를 추가합니다.apiVersion: addons.gke.io/v1alpha1 kind: Logmon metadata: # Don't change the name name: logmon-default # Don't change the namespace namespace: kube-system spec: system_logs: outputs: additionalOutput: fluentbitConfigmaps: # The name should match the configmap name created in step 1. - "<customized-system-logs-fluent-bit-output-config>" # Scheme: []v1.VolumeMount. Add volumeMounts if necessary volumeMounts: - ... - ... # Scheme: []v1.Volume. Add volumes if necessary volumes: - ... - ...
변경사항을
LogMon
커스텀 리소스에 저장하려면 명령줄 편집기를 저장하고 종료합니다.