操作方法:在 Kubernetes 中搭建 Fluentd、Elastic search 和 Kibana

    安装 Elasticsearch 和 Kibana

    1. 为监测工具创建命名空间并添加 Helm Repo 用于Elastic Search

    2. 添加 Elastic helm repo

      1. helm repo update
    3. 使用 Helm 安装 Elastic Search

    默认情况下,Chart 必须在不同的节点上创建3个副本。 如果您的集群少于3个节点,请指定一个较低的副本数量。 例如,将它设置为 1:

    1. helm install elasticsearch elastic/elasticsearch -n dapr-monitoring --set replicas=1

    否则:

    1. helm install elasticsearch elastic/elasticsearch -n dapr-monitoring

    如果您正在使用 minikube 或者想要禁用持久化卷来开发,您可以使用以下命令禁用它:

    1. 安装 Kibana

      1. helm install kibana elastic/kibana -n dapr-monitoring
    2. 校验

      1. kubectl get pods -n dapr-monitoring
      2. NAME READY STATUS RESTARTS AGE
      3. elasticsearch-master-0 1/1 Running 0 6m58s
      4. kibana-kibana-95bc54b89-zqdrk 1/1 Running 0 4m21s
    1. 安装 config map 和 Fluentd 作为守护程序

    下载这些配置文件:

    将配置应用到您的集群:

    1. kubectl apply -f ./fluentd-config-map.yaml
    2. kubectl apply -f ./fluentd-dapr-with-rbac.yaml
    1. 确保 Fluentd 作为守护程序运行;实例的数量应与集群节点的数量相同。 在下面的例子中,我们只有一个节点。

    使用 JSON 格式化日志安装 Dapr

    1. 使用 JSON 格式化日志启用 Dapr

      1. helm repo add dapr https://dapr.github.io/helm-charts/
      2. helm repo update
      3. helm install dapr dapr/dapr --namespace dapr-system --set global.logAsJson=true
    2. 在 Dapr sidecar 中启用 JSON 格式化日志

    添加 dapr.io/log-as-json: "true" annotation 到你的部署yaml.

    You can run Kafka locally using Docker image. To run without Docker, see the getting started guide here.

    1. apiVersion: apps/v1
    2. metadata:
    3. name: pythonapp
    4. namespace: default
    5. labels:
    6. app: python
    7. spec:
    8. replicas: 1
    9. selector:
    10. matchLabels:
    11. app: python
    12. template:
    13. metadata:
    14. labels:
    15. annotations:
    16. dapr.io/app-id: "pythonapp"
    17. dapr.io/log-as-json: "true"
    18. ...
    1. Port-forward 到 svc/kibana-kibana
    1. $ kubectl port-forward svc/kibana-kibana 5601 -n dapr-monitoring
    2. Forwarding from 127.0.0.1:5601 -> 5601
    3. Forwarding from [::1]:5601 -> 5601
    4. Handling connection for 5601
    5. Handling connection for 5601
    1. 点击Management -> Index Management

    1. 请稍候,直到Dapr-* 被索引。

    索引日志

    1. 一旦dapr-* 被索引了,请点击 Kibana-> Index Patterns 并创建索引模式

    1. 在index pattern中输入 dapr*定义索引模式

    定义索引模式

    1. 选择time stamp填入: @timestamp

    1. 确认 scope, type, app_id, level, 等正在索引。

    正在索引

    1. 点击 图标并搜索 scope:*

    参考资料