Search

Monitoring

helm repo add openebs https://openebs.github.io/charts helm repo update helm install openebs --namespace openebs openebs/openebs --create-namespace
Shell
복사
kubectl get sc | grep openebs
Shell
복사
kubectl label node ip-10-0-3-92.ap-northeast-2.compute.internal node=prometheus
Shell
복사
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts helm repo update
Shell
복사
cat << EOF > values.yaml prometheus: prometheusSpec: retention: 10d storageSpec: volumeClaimTemplate: spec: storageClassName: openebs-hostpath accessModes: ["ReadWriteOnce"] resources: requests: storage: 50Gi affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: node operator: In values: - prometheus EOF
Shell
복사
helm upgrade --install \ -n promtheus-stack --create-namespace \ -f values.yaml \ operator \ prometheus-community/kube-prometheus-stack
Shell
복사
kubectl get po -n promtheus-stack
Shell
복사
apiVersion: v1 kind: ServiceAccount metadata: name: prometheus namespace: argocd --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: prometheus rules: - apiGroups: [""] resources: - nodes - nodes/metrics - services - endpoints - pods verbs: ["get", "list", "watch"] - apiGroups: [""] resources: - configmaps verbs: ["get"] - apiGroups: - networking.k8s.io resources: - ingresses verbs: ["get", "list", "watch"] - nonResourceURLs: ["/metrics"] verbs: ["get"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: prometheus roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: prometheus subjects: - kind: ServiceAccount name: prometheus namespace: argocd
YAML
복사
kubectl apply -f serviceaccount_with_role.yaml
Shell
복사
apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: argocd-metrics namespace: argocd labels: release: prometheus-argocd spec: selector: matchLabels: app.kubernetes.io/name: argocd-metrics endpoints: - port: metrics --- apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: argocd-server-metrics namespace: argocd labels: release: prometheus-argocd spec: selector: matchLabels: app.kubernetes.io/name: argocd-server-metrics endpoints: - port: metrics --- apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: argocd-repo-server-metrics namespace: argocd labels: release: prometheus-argocd spec: selector: matchLabels: app.kubernetes.io/name: argocd-repo-server endpoints: - port: metrics --- apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: argocd-applicationset-controller-metrics namespace: argocd labels: release: prometheus-argocd spec: selector: matchLabels: app.kubernetes.io/name: argocd-applicationset-controller endpoints: - port: metrics
YAML
복사
kubectl apply -f argocd-metrics.yaml
Shell
복사
apiVersion: monitoring.coreos.com/v1 kind: Prometheus metadata: name: prometheus-argocd namespace: argocd spec: serviceAccountName: prometheus serviceMonitorNamespaceSelector: {} serviceMonitorSelector: matchLabels: release: prometheus-argocd podMonitorSelector: {} resources: requests: memory: 400Mi
YAML
복사
kubectl apply -f prometheus-crd.yaml
Shell
복사
kubectl -n argocd get prometheus kubectl -n argocd get po -l prometheus=prometheus-argocd
Shell
복사
8080 Port any open
kubectl -n promtheus-stack port-forward --address 0.0.0.0 service/operator-grafana 8080:80 >/dev/null 2>&1 &
Shell
복사
# 관리자 계정 kubectl -n promtheus-stack get secret operator-grafana -o jsonpath='{.data.admin-user}' | base64 -d; echo # 관리자 비밀번호 kubectl -n promtheus-stack get secret operator-grafana -o jsonpath='{.data.admin-password}' | base64 -d; echo
Shell
복사
http://prometheus-operated.argocd.svc:9090
Markdown
복사