在4、详解三款日志采集工具--Logstash,Fluentd,Logtail比较
DT时代,数以亿计的服务器、移动终端和网络设备每天都会产生海量日志。集中式日志处理方案有效解决了日志在完整生命周期中的消费需求,第一步是从设备收集日志并上传到云端。下面是三种常见的日志收集工具及其对比分析。Logstash是一个开源数据收集引擎,具有实时管道处理能力。简单来说,logstash作为数据源和数据存储分析工具之间的桥梁,结合ElasticSearch和Kibana,可以极大地方便数据的处理和分析。
包括日志、网络请求、关系数据库、传感器或物联网等。Logstash是基于JRuby实现的,可以跨平台在JVM上运行。模块化设计,扩展性和互操作性强。Tdagent是开源社区流行的日志收集工具,是其商业版,由TreasureData公司维护,是本文选取的评测版。fluentd基于CRuby,一些对性能至关重要的组件用C语言重新实现,整体性能不错。
5、Kubernetes面试题干货集锦简述etcd及其特点?答:etcd是CoreOS团队发起的开源项目,是一个管理配置信息和servicediscovery的项目。其目标是建立一个高可用的分布式keyvalue数据库,基于Go语言实现。特点:l简单:支持REST风格的HTTP JSONAPIl安全;支持HTTPS访问l Fast支持并发1k/s写操作l可靠;支持分布式结构,基于Raft的一致性算法,这是一套通过选举主节点来实现分布式系统一致性的算法。
答:基于其优良的特性,etcd可广泛应用于以下场景:l服务发现(ServiceDiscovery):服务发现主要解决同一分布式集群中的进程或服务之间如何找到对方并建立连接的问题。服务发现本质上是知道集群中是否有进程监听udp或tcp端口,并能通过名字找到并连接。一些配置信息放在etcd上进行集中管理。
6、日志工具-Fluentd入门指南执行installredhattdagent3.sh将自动在您的计算机上安装tdagent。这个shell脚本在/etc /etc/yum.repos.d/td.repo注册一个新的rpmrepository,然后安装tdagentrpm包。由于从3.0.1版开始,out_elasticsearch 插件已经包含在tdagent的标准版本中,所以tdagent用户不需要手动安装。
7、使用 fluentd收集kubernetes集群日志kubernetes是一个优秀的容器调度框架,它提供了容器调度方案以及各种网络和存储的集成插件。但是intree本身并没有提供日志解决方案,而是以插件(addon)的形式提供,官方推荐的是EFK方案。官网有专门一章描述日志架构。官方将kubernetes中的日志解决方案分为三种:基本日志:简单易懂,类似于docker的日志方案,捕获标准输出流(stdout)和标准错误流(stderr)取日志,使用的命令是kubectllogs。相信大家都很熟悉,这里就不赘述了。
节点级日志:容器中写入stdout和stderr的任何内容都将通过容器引擎重定向到一个文件。例如,日志信息将被写入log in docker。这里需要注意的是,kubernetes目前默认不提供日志旋转,可以使用logrotate等工具来达到旋转的效果。请注意,节点级日志仍然写在每个节点上。
8、Linux下td-agent( fluentd官网链接供参考安装ntp服务Edit /etc/ntp.conf或检查节点同步状态用ulimitn命令检查当前数量。如果控制台显示1024,这是不够的。将下面一行添加到/etc/security/limits.conf文件中,然后重新启动计算机。将这些参数添加到/etc/sysctl.conf文件中,用于包含许多Fluentd实例的高负载环境。
配置文件的语法可以参考官网,博客1和博客2Fluentd的安装使用也可以参考本文。参考这篇博客,我对使用fluentd tools有了更详细的体会。日志收集工具Fluentd使用summary分别执行两个文件。终端显示结果如下:日志跟踪终端显示如下:Docker版本需要17.05以上才能使用日志驱动插件(见官网)。
9、 fluentdp0文件消失fluentdp0文件消失如果fluentdp0文件消失,可能是因为文件被意外删除或感染了病毒。您可以尝试通过以下步骤恢复文件:1 .在您的计算机上运行防病毒软件,查找并删除可能的病毒感染,2.尝试使用恢复工具(如Recuva或EaseUSDataRecoveryWizard)从磁盘中搜索fluentdp0文件。3.如果有可用的备份,从备份中还原文件。
文章TAG:fluentd 插件 k8s fluentd插件