1. 请参考上一篇文章创建基础工程
Dapr+Net6 服务调用10:集群指标报表-普罗米修斯+Grafana
2. 安装Elastice search 2.1. 添加 Elastic helm repohelm repo add elastic https://helm.elastic.co
helm repo update2.2. 使用 Helm 安装 Elastic Search
默认情况下,Chart 必须在不同的节点上创建3个副本。 如果您的集群少于3个节点,请指定一个较低的副本数量。 例如,将它设置为 1:
helm install elasticsearch elastic/elasticsearch -n dapr-monitoring --set replicas=13. 安装 Kibana 3.1. 安装
helm install kibana elastic/kibana -n dapr-monitoring3.2. 验证
确保 Elastic Search 和 Kibana 正在您的Kubernetes 集群中运行。
kubectl get pods -n dapr-monitoring4. 安装 Fluentd 4.1. 安装 config map 和 Fluentd 作为守护程序
下载这些配置文件:
4.2. 将配置应用到集群https://docs.dapr.io/docs/fluentd-config-map.yaml
https://docs.dapr.io/docs/fluentd-dapr-with-rbac.yaml
kubectl apply -f ./fluentd-config-map.yaml kubectl apply -f ./fluentd-dapr-with-rbac.yaml4.3. 确保 Fluentd 作为守护程序运行
确保 Fluentd 作为守护程序运行;实例的数量应与集群节点的数量相同。 在下面的例子中,我们只有一个节点。
kubectl get pods -n kube-system -w5. 使用 JSON 格式化日志安装 Dapr 5.1. 使用 JSON 格式化日志启用 Dapr
helm install dapr dapr/dapr --namespace dapr-system --set global.logAsJson=true5.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.yaml5.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.yaml6. 配置kibana 6.1. 端口转发到kibana
kubectl port-forward svc/kibana-kibana 5601 -n dapr-monitoring6.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:*


