Loki 및 AKS 시작하기

3948 단어
애플리케이션 로그를 통한 검색은 모든 운영 팀의 중요한 부분입니다. 그리고 클라우드 네이티브 에코시스템이 성장하고 발전함에 따라 이 사용 사례에 대한 보다 현대적인 접근 방식이 등장하고 있습니다.

로그 유지에 대한 문제는 저장소 요구 사항이 커질 수 있다는 것입니다. 매우 큰.

가장 일반적인 로그 검색 및 인덱싱 도구 중 하나는 ElasticSearch입니다. ElasticSearch는 건초 더미에서 바늘을 찾는 데 매우 뛰어납니다(예: When did the string "Error message #123" occur in any copy of your application on March 17th ). indexing the contents of the log message을 통해 스토리지 소비를 크게 늘릴 수 있습니다.

Grafana의 열정적인 팀은 이 문제를 해결하기 위해 Loki을 만들었습니다. 전체 로그 메시지를 인덱싱하는 대신 Loki는 로그의 메타데이터(예: 레이블, 네임스페이스 등)만 인덱싱하므로 스토리지 요구 사항이 크게 줄어듭니다. 여전히 content of the log messages with LogQL 을 검색할 수 있지만 인덱싱되지는 않습니다.

Loki의 UI는 Grafana 이며, Prometheus 을 사용하고 있다면 이미 익숙할 것입니다.

AKS(Azure Kubernetes Service)에서 Loki를 시작하는 것은 매우 쉽습니다. 이러한 지침은 공식Loki Getting Started 단계에서 영감을 받아 AKS에 대해 간소화된 일부 수정 사항이 포함되어 있습니다.

# Set some starter env-vars
AKS_RG=loki-rg
AKS_LOCATION=southcentralus
AKS_NAME=loki-aks

# Create the AKS cluster
az group create -n $AKS_RG -l $AKS_LOCATION
az aks create -n $AKS_NAME -g $AKS_RG
az aks get-credentials -n $AKS_NAME -g $AKS_RG


# Helm update and install
helm repo add grafana https://grafana.github.io/helm-charts
helm repo update

# Create a Helm release of Loki with Grafana + Prometheus using a PVC
# NOTE: This diverges from the Loki docs as it uses storageClassName=default instead of "standard" 
helm upgrade --install loki grafana/loki-stack --namespace grafana --set grafana.enabled=true,prometheus.enabled=true,prometheus.alertmanager.persistentVolume.enabled=false,prometheus.server.persistentVolume.enabled=false,loki.persistence.enabled=true,loki.persistence.storageClassName=default,loki.persistence.size=5Gi

# The Helm installation uses a non-default password for Grafana.  This command fetches it.
# Should look like gtssNbfacGRYZFCa4f3CFmMuendaZzrf9so9VgLh
kubectl get secret loki-grafana -n grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo

# Port-forward from the Grafana service (port 80) to your desktop (port 3000)
kubectl port-forward -n grafana svc/loki-grafana 3000:80

# In your browser, go to http://127.0.0.1:3000/
# User: admin
# Password: Output of the "kubectl get secret" command. 



이제 Loki를 탐험할 준비가 되었습니다!

Loki를 사용하여 Loki 자신의 로그를 살펴보는 것부터 시작하겠습니다.
  • "탐색"아이콘 위로 마우스를 이동합니다(나침반처럼 보임).
  • 데이터 소스 메뉴에서 "Loki"를 선택합니다.
  • "로그 브라우저"를 클릭하면 패널이 열립니다
  • .
  • "1. 검색할 레이블 선택"에서 "앱"을 클릭합니다
  • .
  • "2. 선택한 레이블에 대한 값 찾기"에서 "loki"를 클릭합니다
  • .
  • "3. 결과 선택기"에서 "로그 표시"를 클릭합니다

  • 이제 다음과 같이 Loki 로그를 볼 수 있습니다.



    축하해요! 이제 AKS 클러스터를 만들고 여기에 Loki 및 Grafana를 배포하고 Grafana 엔드포인트를 데스크톱에 노출하고 Loki를 사용하여 Loki 로그를 검색했습니다.

    좋은 웹페이지 즐겨찾기