深圳罗湖网站开发wordpress产品数量
news/
2025/9/27 15:31:45/
文章来源:
深圳罗湖网站开发,wordpress产品数量,公司网站条形码如何做,百度糯米网站怎么做采集k8s挂载Nas后的日志
该文档主要介绍使用logtail以两种不同的方式进行k8s挂载Nas后的日志采集。两种采集方式的实现原理是一样的#xff0c;都是通过将Logtail和业务容器挂载到相同的NAS上#xff0c;使Logtail和业务容器的日志数据共享#xff0c;以此实现日志采集。下…采集k8s挂载Nas后的日志
该文档主要介绍使用logtail以两种不同的方式进行k8s挂载Nas后的日志采集。两种采集方式的实现原理是一样的都是通过将Logtail和业务容器挂载到相同的NAS上使Logtail和业务容器的日志数据共享以此实现日志采集。下面是两种采集方式的各自特点
SideCar模式。比较灵活、适合水平扩容适用于数据量较大的场景单独部署Logtail的Deployment。资源消耗比较低、但灵活性以及伸缩性不强适用于整体集群数据量较少的场景建议整体日志量不超过每秒10M。
1. Sidecar NAS采集方式
通过 链接 使用PVPVC的方式配置挂载Nas的nas-pvc
步骤一 创建pv步骤二 创建pvc步骤三 根据下面的yaml模板创建含有logtail的Pod进行单个Pod的内部采集
sideCar模式实验yaml内容
apiVersion: batch/v1
kind: Job
metadata:name: nginx-log-sidecar1-demo
spec:template:metadata:name: nginx-log-sidecar-demospec:# volumes配置volumes:- name: nginx-logpersistentVolumeClaim:claimName: nas-pvccontainers:# 主容器配置- name: nginx-log-demoimage: registry.cn-hangzhou.aliyuncs.com/log-service/docker-log-test:latestcommand: [/bin/mock_log]args: [--log-typenginx, --stdoutfalse, --stderrtrue, --path/var/log/nginx/access.log, --total-count1000000000, --logs-per-sec100]volumeMounts:- name: nginx-logmountPath: /var/log/nginx# Logtail的Sidecar容器配置- name: logtailimage: registry.cn-hangzhou.aliyuncs.com/log-service/logtail:latestenv:# user id- name: ALIYUN_LOGTAIL_USER_IDvalue: ${your_aliyun_user_id}# user defined id- name: ALIYUN_LOGTAIL_USER_DEFINED_IDvalue: ${your_machine_group_user_defined_id}# config file path in logtails container- name: ALIYUN_LOGTAIL_CONFIGvalue: /etc/ilogtail/conf/${your_region_config}/ilogtail_config.json# env tags config- name: ALIYUN_LOG_ENV_TAGSvalue: _pod_name_|_pod_ip_|_namespace_|_node_name_|_node_ip_- name: _pod_name_valueFrom:fieldRef:fieldPath: metadata.name- name: _pod_ip_valueFrom:fieldRef:fieldPath: status.podIP- name: _namespace_valueFrom:fieldRef:fieldPath: metadata.namespace- name: _node_name_valueFrom:fieldRef:fieldPath: spec.nodeName- name: _node_ip_valueFrom:fieldRef:fieldPath: status.hostIP# 和主容器共享volumevolumeMounts:- name: nginx-logmountPath: /var/log/nginx# 健康检查livenessProbe:exec:command:- /etc/init.d/ilogtaild- statusinitialDelaySeconds: 30periodSeconds: 30restartPolicy: Never
SLS控制台采集配置设置如下图 日志路径与被采集容器的日志所在路径一致注意由于NAS路径已经挂载到了Logtail容器上所以不需要打开docker文件的按钮
采集上来的系统默认字段含义 __source__: pod容器内部IP
__tag__:__hostname__: pod名称
__tag__:__path__: 日志路径
__tag__:__receive_time__: 采集时间
__tag__:__user_defined_id__: 用户自定义标识
__tag__:_namespace_: pod所属namaspace
__tag__:_node_ip_: pod所在Node的IP地址
__tag__:_node_name_: pod所属Node的name
__tag__:_pod_ip_: pod容器内部IP
__tag__:_pod_name_: pod名称 用户参数 参数 说明 ${your_region_config} 该参数由日志服务Project所在Region以及网络类型决定请根据网络类型输入正确的格式。包括 公网region-internet。例如华东一为cn-hangzhou-internet。 阿里云内网region。例如华东一为cn-hangzhou。 其中region为 表一请根据Project地域选择正确的参数。 ${your_aliyun_user_id} 用户标识请替换为您的阿里云主账号用户ID。主账号用户ID为字符串形式如何查看ID请参考 用户标识配置中的2.1节。 说明?用户标识一定是?主账号用户ID子账号ID没有任何意义。 ${your_machine_group_user_defined_id} 您集群的机器组自定义标识。需确保该标识在您的日志服务所在Region内唯一。详细内容可参考 创建用户自定义标识机器组。 2. 一个Logtail采集所有POD的NAS数据
注意项副本数spec.replicas只能为1不能更多多了会重复采集。
首先创建一个logtail的deployment以下是本次使用的模板:
apiVersion: apps/v1
kind: Deployment
metadata:name: logtail-deploymentnamespace: kube-systemlabels:k8s-app: nas-logtail-collecter
spec:replicas: 1selector:matchLabels:k8s-app : nas-logtail-collectertemplate:metadata:name: logtail-deploymentlabels:k8s-app : nas-logtail-collecterspec:containers:# Logtail的配置- name: logtailimage: registry.cn-hangzhou.aliyuncs.com/log-service/logtail:latestenv:# aliuid- name: ALIYUN_LOGTAIL_USER_IDvalue: ${your_aliyun_user_id}# user defined id- name: ALIYUN_LOGTAIL_USER_DEFINED_IDvalue: ${your_machine_group_user_defined_id}# config file path in logtails container- name: ALIYUN_LOGTAIL_CONFIGvalue: /etc/ilogtail/conf/${your_region_config}/ilogtail_config.jsonvolumeMounts:- name: nginx-logmountPath: /var/log/nginx# volumes配置volumes:- name: nginx-logpersistentVolumeClaim:claimName: pvc-test-nginx
__注意__这里的 claimName: pvc-test-nginx 以及mountPath: /var/log/nginx 是将logtail的/var/log/nginx挂载了Nas下的/nginx文件夹相关参数设置请参考方案1中的表格说明
logtail运行成功之后可以在SLS控制台根据模板中的ALIYUN_LOGTAIL_USER_DEFINED_ID创建对应的机器组请参考方案1中的表格说明。
这里新建2个Pod来测试采集是否成功其中一个POD的模板为:
apiVersion: v1
kind: Pod
metadata:name: test-nginx-2
spec:containers:- name: nginx-log-demoimage: registry.cn-hangzhou.aliyuncs.com/log-service/docker-log-test:latestcommand: [/bin/mock_log]args: [--log-typenginx, --stdoutfalse, --stderrtrue, --path/var/log/nginx/access.log, --total-count1000000000, --logs-per-sec100]volumeMounts:- name: nas2mountPath: /var/log/nginxvolumes:- name: nas2flexVolume:driver: alicloud/nasoptions:server: Nas挂载地址path: /nginx/test2vers: 4.0
另一个Pod将 /var/log/nginx 挂载在了 /nginx/test1 目录下结合logtail的挂载情况现在两个Pod分别挂载在 /nginx/test1 和 /nginx/test2而logtail挂载在了 /nginx 下。
最后配置logtail的采集配置 因为logtail也挂载了相同的Nas所以logtail只需要采集自身文件夹下的日志就可以了这里的是否为docker文件选项关闭。注意由于NAS路径已经挂载到了Logtail容器上所以不需要打开docker文件的按钮 #阿里云开年Hi购季#幸运抽好礼 点此抽奖https://www.aliyun.com/acts/product-section-2019/yq-lottery?utm_contentg_1000042901
原文链接 本文为云栖社区原创内容未经允许不得转载。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/919631.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!