在Kuberenetes中设置Grafana以可视化Elasticsearch的日志(附实例)

103 阅读1分钟

在这个例子中,我们将在Kubernetes中运行Grafana来可视化Elasticsearch的日志。这是一个非常简单的过程,假设你的Elasticsearch与Grafana运行在同一个命名空间monitoring

配置

apiVersion: v1
kind: Service
metadata:
  name: grafana
  namespace: monitoring
  labels:
    app: grafana
spec:
  type: ClusterIP
  selector:
    app: grafana
  ports:
    - name: http
      protocol: TCP
      port: 3000

---

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: grafana-data
  namespace: monitoring
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi

---

apiVersion: apps/v1
kind: Deployment
metadata:
  name: grafana
  namespace: monitoring
  labels:
    app: grafana
spec:
  replicas: 1
  selector:
    matchLabels:
      app: grafana
  template:
    metadata:
      labels:
        app: grafana
    spec:
      containers:
        - image: grafana/grafana:8.1.1
          name: grafana
          ports:
            - name: http
              protocol: TCP
              containerPort: 3000
          volumeMounts:
            - name: grafana-data
              mountPath: /var/lib/grafana
      volumes:
        - name: grafana-data
          persistentVolumeClaim:
            claimName: grafana-data

设置

$ kubectl apply -f kibana.yaml

端口转发

$ kubectl --namespace=monitoring port-forward service/grafana 3000:3000

访问用户界面

访问http://127.0.0.1:3000/ ,用(admin:admin)凭证登录。使用Elasticsearch进行数据源设置,并使用以下数值:

- URL: http://elasticsearch:9200
- Index: kubernetes-logs

elasticsearch 是Kubernetes服务的名称。

图形

image.png