栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Dapr+Net6 服务调用11:集群日志分析-Fluentd+Elastic search+Kibana

Dapr+Net6 服务调用11:集群日志分析-Fluentd+Elastic search+Kibana

1. 请参考上一篇文章创建基础工程

Dapr+Net6 服务调用10:集群指标报表-普罗米修斯+Grafana

2. 安装Elastice search 2.1. 添加 Elastic helm repo
helm repo add elastic https://helm.elastic.co
helm repo update
2.2. 使用 Helm 安装 Elastic Search

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

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

3. 安装 Kibana 3.1. 安装
helm install kibana elastic/kibana -n dapr-monitoring

 3.2. 验证

确保 Elastic Search 和 Kibana 正在您的Kubernetes 集群中运行。

kubectl get pods -n dapr-monitoring

4. 安装 Fluentd 4.1. 安装 config map 和 Fluentd 作为守护程序

下载这些配置文件:

https://docs.dapr.io/docs/fluentd-config-map.yaml

https://docs.dapr.io/docs/fluentd-dapr-with-rbac.yaml

4.2. 将配置应用到集群
kubectl apply -f ./fluentd-config-map.yaml
kubectl apply -f ./fluentd-dapr-with-rbac.yaml
4.3. 确保 Fluentd 作为守护程序运行

确保 Fluentd 作为守护程序运行;实例的数量应与集群节点的数量相同。 在下面的例子中,我们只有一个节点。

kubectl get pods -n kube-system -w

5. 使用 JSON 格式化日志安装 Dapr 5.1. 使用 JSON 格式化日志启用 Dapr
helm install dapr dapr/dapr --namespace dapr-system --set global.logAsJson=true

5.2. 在 Dapr sidecar 中启用 JSON 格式化日志

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

apiVersion: apps/v1
kind: Deployment
metadata:
  name: service01
  labels:
    app: service01
spec:
  replicas: 2 # 2个副本
  selector:
    matchLabels:
      app: service01
  template:
    metadata:
      labels:
        app: service01
      annotations:
        dapr.io/enabled: "true" # 开启Dapr边车
        dapr.io/app-id: "service01"
        dapr.io/app-port: "80"
        dapr.io/config: "zipkin" # 配置分布式跟踪
        dapr.io/log-as-json: "true" #启用 JSON 格式化日志
    spec:
      containers:
        - name: service01
          image: docker.io/netcorecore/service01:v1
kubectl apply -f .service01.yaml
5.2.2. Service02
apiVersion: apps/v1
kind: Deployment
metadata:
  name: service02
  labels:
    app: service02
spec:
  replicas: 1
  selector:
    matchLabels:
      app: service02
  template:
    metadata:
      labels:
        app: service02
      annotations:
        dapr.io/enabled: "true" # 开启Dapr边车
        dapr.io/app-id: "service02"
        dapr.io/app-port: "80"
        dapr.io/config: "zipkin" # 配置分布式跟踪
        dapr.io/log-as-json: "true" #启用 JSON 格式化日志
    spec:
      containers:
        - name: service02
          image: docker.io/netcorecore/service02:v1
---
apiVersion: v1
kind: Service
metadata:
  name: service02
spec:
  type: NodePort
  selector:
    app: service02
  ports:
    - port: 80
      targetPort: 80
      nodePort: 30001
kubectl apply -f .service02.yaml
6. 配置kibana 6.1. 端口转发到kibana
kubectl port-forward svc/kibana-kibana 5601 -n dapr-monitoring
6.2. 访问kibana
http://localhost:5601/
6.3. 点击Management -> Stack Management -> Index Management

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

 6.5. 点击 Kibana-> Index Patterns 并创建索引模式

6.6. 在index pattern中定义索引模式

Name: dapr*Timestamp field:@timestamp

 6.7. 增加索引字段

scopeapp_id

7. 查询日志 7.1. 点击 discover 图标

 7.2. 检索日志:app_id:*

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/722478.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号