当前位置: 首页 > news >正文

宜昌市网站建设_网站建设公司_小程序网站_seo优化

简单的网站开发,做外汇 虚拟网站,网页制作基础教程第2版答案,北京网站改版多少钱准备关于容器日志Docker的日志分为两类#xff0c;一类是 Docker引擎日志#xff1b;另一类是容器日志。引擎日志一般都交给了系统日志#xff0c;不同的操作系统会放在不同的位置。本文主要介绍容器日志#xff0c;容器日志可以理解是运行在容器内部的应用输出的日志…准备关于容器日志Docker的日志分为两类一类是 Docker引擎日志另一类是容器日志。引擎日志一般都交给了系统日志不同的操作系统会放在不同的位置。本文主要介绍容器日志容器日志可以理解是运行在容器内部的应用输出的日志默认情况下docker logs 显示当前运行的容器的日志信息内容包含 STOUT(标准输出) 和 STDERR(标准错误输出)。日志都会以 json-file 的格式存储于 /var/lib/docker/containers/容器id/容器id-json.log 不过这种方式并不适合放到生产环境中。默认方式下容器日志并不会限制日志文件的大小容器会一直写日志导致磁盘爆满影响系统应用。(docker log-driver 支持log文件的rotate)Docker Daemon 收集容器的标准输出当日志量过大时会导致Docker Daemon 成为日志收集的瓶颈日志的收集速度受限。日志文件量过大时利用docker logs -f 查看时会直接将Docker Daemon阻塞住造成docker ps等命令也不响应。Docker提供了logging drivers配置用户可以根据自己的需求去配置不同的log-driver可参考官网 Configure logging drivers 。但是上述配置的日志收集也是通过Docker Daemon收集收集日志的速度依然是瓶颈。log-driver 日志收集速度syslog 14.9 MB/sjson-file 37.9 MB/s能不能找到不通过Docker Daemon收集日志直接将日志内容重定向到文件并自动 rotate的工具呢答案是肯定的采用S6基底镜像。S6-log 将 CMD 的标准输出重定向到/.../default/current而不是发送到 Docker Daemon这样就避免了 Docker Daemon 收集日志的性能瓶颈。本文就是采用S6基底镜像构建应用镜像形成统一日志收集方案。关于k8s日志k8s日志收集方案分成三个级别应用(Pod)级别节点级别集群级别应用(Pod)级别Pod级别的日志 , 默认是输出到标准输出和标志输入实际上跟docker 容器的一致。使用 kubectl logs pod-name -n namespace 查看具体参考。节点级别Node级别的日志 , 通过配置容器的log-driver来进行管理 , 这种需要配合logrotare来进行 , 日志超过最大限制 , 自动进行rotate操作。集群级别集群级别的日志收集 , 有三种节点代理方式在node级别进行日志收集。一般使用DaemonSet部署在每个node中。这种方式优点是耗费资源少因为只需部署在节点且对应用无侵入。缺点是只适合容器内应用日志必须都是标准输出。使用sidecar container作为容器日志代理也就是在pod中跟随应用容器起一个日志处理容器有两种形式一种是直接将应用容器的日志收集并输出到标准输出叫做Streaming sidecar container但需要注意的是这时候宿主机上实际上会存在两份相同的日志文件一份是应用自己写入的另一份则是 sidecar 的 stdout 和 stderr 对应的 JSON 文件。这对磁盘是很大的浪费 , 所以说除非万不得已或者应用容器完全不可能被修改。另一种是每一个pod中都起一个日志收集agent比如logstash或fluebtd也就是相当于把方案一里的 logging agent放在了pod里。但是这种方案资源消耗(cpu内存)较大并且日志不会输出到标准输出kubectl logs 会看不到日志内容。应用容器中直接将日志推到存储后端这种方式就比较简单了直接在应用里面将日志内容发送到日志收集服务后端。日志架构通过上文对k8s日志收集方案的介绍要想设计一个统一的日志收集系统可以采用节点代理方式收集每个节点上容器的日志日志的整体架构如图所示。解释如下所有应用容器都是基于s6基底镜像的容器应用日志都会重定向到宿主机的某个目录文件下比如/data/logs/namespace/appname/podname/log/xxxx.loglog-agent 内部 包含 filebeat logrotate 等工具其中filebeat是作为日志文件收集的agent通过filebeat将收集的日志发送到kafkakafka在讲日志发送的es日志存储/kibana检索层logstash 作为中间工具主要用来在es中创建index和消费kafka 的消息整个流程很好理解但是需要解决的是用户部署的新应用如何动态更新filebeat配置如何保证每个日志文件都被正常的rotate如果需要更多的功能则需要二次开发filebeat使filebeat 支持更多的自定义配置。付诸实践解决上述问题就需要开发一个log-agent应用以daemonset形式运行在k8s集群的每个节点上应用内部包含filebeatlogrotate和需要开发的功能组件。第一个问题如何动态更新filebeat配置可以利用http://github.com/fsnotify/fsnotify 工具包监听日志目录变化create、delete事件利用模板渲染的方法更新filebeat配置文件第二个问题利用http://github.com/robfig/cron 工具包 创建cronJob定期rotate日志文件注意应用日志文件所属用户如果不是root用户所属可以在配置中设置切换用户/var/log/xxxx/xxxxx.log {su www-data www-datamissingoknotifemptysize 1Gcopytruncate}第三个问题关于二次开发filebeat可以参考博文 https://www.jianshu.com/p/fe3ac68f4a7a总结本文只是对k8s日志收集提供了一个简单的思路关于日志收集可以根据公司的需求因地制宜。参考文献https://kubernetes.io/docs/concepts/cluster-administration/logging/ https://support.rackspace.com/how-to/understanding-logrotate-utility/ https://github.com/elastic/beats/tree/master/filebeat http://skarnet.org/software/s6/
http://www.ihoyoo.com/news/55647.html

相关文章:

  • 做网站买过域名之后企业网站开发文献综述
  • 网站的管理有是灰色seo推广
  • 怎么做地方门户网站网站备案代理
  • 联通网站备案系统做欧美市场的网站
  • 网站策划与维护html表单的完整代码
  • 建设局查询网站建设网站最简单的软件是
  • 东莞企业网站建设推广设计企业品牌logo
  • 西湖区住房和城市建设局网站网站站长在哪登陆后台
  • drupal 网站实例中国旅游预订网站的建设始于哪一年
  • 龙江网站开发北京注册工作室代理公司
  • 哪个网站做的简历最好备案网站服务内容
  • 网站建设怎么收费呀ajax+jsp网站开发从入门到精通
  • 电子商务网站开发实训总结报告推广最有效的办法
  • 建网站在线支付怎么棋牌app开发公司
  • 网站开发公司tahmwlkj宝安品牌网站制作
  • 盐城网站建设0515icp深圳开发网站开发
  • 潍坊网站开发培训最有效的网站推广方法
  • 用c 做一个小网站怎么做怎样做个网站
  • 西安个人做网站app建设网站公司哪家好
  • 中外网站建设区别如何在手机使用wordpress
  • 多城市网站设计wordpress 顶部工具栏
  • 如何做网站seo图片制作在线生成器免费版
  • 网站建设对企业的好处有哪些医院网站建设的规划方案
  • 栾城住房和城乡建设局网站小游戏代理平台
  • 个人网站备案的好处苏州十大软件公司招聘
  • 国内vps做网站要备案吗爱站库
  • 松江做网站价格沈阳网站建设价格
  • 设计师 推荐 网站深圳网络公司接单
  • 加强和改进校园网站内容建设网上书店网网站建设
  • 中国黑色网站模板网站模板怎么建设