fluentd

Python's SyslogHandler and TCP

吃可爱长大的小学妹 提交于 2019-12-04 11:50:30
I'm trying to understand why the SyslogHandler class from Python's logging framework (logging.handlers) does not implement any of the framing mechanism described by RFC 6587: Octet Counting : it "prepends" the message length to the syslog frame: Non-Transparent-Framing : a trailer character to separate messages. This is what most of the servers understand. This "problem" can be easily solved by adding a LF character to the end of the messages, however I would expect that the SyslogHandler would take care of this by default: sHandler = logging.handlers.SysLogHandler(address=(address[0], address

Parse nginx ingress logs in fluentd

谁说我不能喝 提交于 2019-12-04 08:15:17
I'd like to parse ingress nginx logs using fluentd in Kubernetes. That was quite easy in Logstash, but I'm confused regarding fluentd syntax. Right now I have the following rules: <source> type tail path /var/log/containers/*.log pos_file /var/log/es-containers.log.pos time_format %Y-%m-%dT%H:%M:%S.%NZ tag kubernetes.* format json read_from_head true keep_time_key true </source> <filter kubernetes.**> type kubernetes_metadata </filter> And as a result I get this log but it is unparsed: 127.0.0.1 - [127.0.0.1] - user [27/Sep/2016:18:35:23 +0000] "POST /elasticsearch/_msearch?timeout=0&ignore

大数据系统数据采集产品的架构分析

雨燕双飞 提交于 2019-12-04 03:03:43
任何完整的大数据平台,一般包括以下的几个过程: 数据采集 数据存储 数据处理 数据展现(可视化,报表和监控) 其中,数据采集是所有数据系统必不可少的,随着大数据越来越被重视,数据采集的挑战也变的尤为突出。这其中包括: 数据源多种多样 数据量大,变化快 如何保证数据采集的可靠性的性能 如何避免重复数据 如何保证数据的质量 我们今天就来看看当前可用的一些数据采集的产品,重点关注一些它们是如何做到高可靠,高性能和高扩展。 Apache Flume Flume 是Apache旗下,开源,高可靠,高扩展,容易管理,支持客户扩展的数据采集系统。 Flume使用JRuby来构建,所以依赖Java运行环境。 Flume最初是由Cloudera的工程师设计用于合并日志数据的系统,后来逐渐发展用于处理流数据事件。 Flume设计成一个分布式的管道架构,可以看作在数据源和目的地之间有一个Agent的网络,支持数据路由。 每一个agent都由Source,Channel和Sink组成。 Source Source负责接收输入数据,并将数据写入管道。Flume的Source支持HTTP,JMS,RPC,NetCat,Exec,Spooling Directory。其中Spooling支持监视一个目录或者文件,解析其中新生成的事件。 Channel Channel 存储,缓存从source到Sink的中间数据

12Factor App: Capturing stdout/stderr logs with Fluentd

梦想与她 提交于 2019-12-04 01:38:38
By reading the following post from 12factor I have come up with a question I'd like to check how you guys handle this. Basically, an app should write directly to stdout/stderr. Is there anyway to redirect these streams directly to fluentd (not bound to rsyslog/syslog)? As I become more aware of fluentd, I believe it would be a great tool for log aggregation from multiple apps/platforms. The main reasoning for this is, if the app is cross-platform, rsyslog/syslog may not be available, and as I understand, using logging frameworks (which need the required configuration for them to work) would be

EFK日志管理初探

非 Y 不嫁゛ 提交于 2019-12-03 08:12:18
简述 Elasticsearch,Fluentd,和Kibana(EFK)允许你收集、索引、搜索、和可视化日志数据。 Elasticsearch elasticsearch是基于Lucene的搜索服务器,提供实时搜索和分析数据。它提供了一个分布式、多租户可全文搜索引擎REST风格的Web界面和无模式JSON文件。 Kibana kibana是一个开源的(Apache许可),Elasticsearch的基于浏览器的分析和搜索仪表板。 探索和可视化你的数据。 Fluentd Fluentd负责从节点收集日志条目,丰富他们的元数据,送他们到Elasticsearch。 搭建一个简单的EFK 在本文中,采用的efk组件为最新稳定版本,elasticsearch-2.4.0,kibana-4.6.1, td-agent-2.3.2-0。安装方式为RPM安装,其他安装方式及其软件下载地址参考如下: elasticsearch https://www.elastic.co/guide/en/elasticsearch/reference/current/_installation.html https://www.elastic.co/downloads/elasticsearch kibana https://www.elastic.co/guide/en/kibana/current

kubernetes集群EFK日志框架部署

坚强是说给别人听的谎言 提交于 2019-12-03 08:11:33
目标:在现有Kubernetes集群中搭建EFK日志框架,实现集群日志的存储与展示 环境:Kubernetes集群(kubeadm方式部署) 步骤:Kubernetes日志架构概述->Fluentd日志收集容器部署->Elasticsearch日志存储容器部署->Kibana日志展示容器部署 1.Kubernetes日志架构概述 在Kubernetes集群中,Cluster-Level Logging架构为集中查看并分析集群资源及服务日志的官方解决方案: 该方案采用Node Logging Agent的方式,通过在集群每个节点上部署一个Agent代理Pod服务,收集该Node上的日志并push到后端。Agent应具备进入该节点上所有服务容器日志目录的权限。 具体在EFK方案中,logging-agent使用Fluentd,logging backend使用Elasticsearch,另为方便展示,使用kibana获取并展示es数据库数据。 2.Fluentd日志收集容器部署 Fluentd日志收集容器以DaemonSet的形式运行在Kubernetes集群中,保证集群中每个Node都会启动一个Fluentd。 在Master节点创建fluentd服务,最终会在所有Node节点上运行。 (1)配置映射文件 - fluentd-es-configmap.yaml kind:

基于Fluentd的EFK日志收集方案

寵の児 提交于 2019-12-03 08:09:58
关于系统日志收集处理方案,其实有很多种,因为之前使用ES比较多,所以也认为ELK是一个不错的解决方案,ELK(Elasticsearch + Logstash + Kibana)来管理日志。Logstash是一个具有实时渠道能力的数据收集引擎,但和fluentd相比,它在效能上表现略逊一筹,故而逐渐被fluentd取代,ELK也随之变成EFK。 EFK由ElasticSearch、Fluentd和Kiabana三个开源工具组成。其中Elasticsearch是一款分布式搜索引擎,能够用于日志的检索,Fluentd是一个实时开源的数据收集器,而Kibana 是一款能够为Elasticsearch 提供分析和可视化的 Web 平台。这三款开源工具的组合为日志数据提供了分布式的实时搜集与分析的监控系统。 为了更好的了解EFK的架构,首先,我们先理解下ELK架构。在此之前, 我们需要清楚如下几个概念: Log Source:日志来源。在微服务中,我们的日志主要来源于日志文件和Docker容器,日志文件包括服务器log,例如Nginx access log(记录了哪些用户,哪些页面以及用户浏览器、ip和其他的访问信息), error log(记录服务器错误日志)等。 Logstash:数据收集处理引擎,可用于传输docker各个容器中的日志给EK。支持动态的从各种数据源搜集数据

kubernetes部署EFK日志系统

坚强是说给别人听的谎言 提交于 2019-12-03 08:07:10
EFK简介 Kubernetes 开发了一个 Elasticsearch 附加组件来实现集群的日志管理。这是一个 Elasticsearch、Fluentd 和 Kibana 的组合。 Elasticsearch 是一个搜索引擎,负责存储日志并提供查询接口; Fluentd 负责从 Kubernetes 搜集日志,每个node节点上面的fluentd监控并收集该节点上面的系统日志,并将处理过后的日志信息发送给Elasticsearch; Kibana 提供了一个 Web GUI,用户可以浏览和搜索存储在 Elasticsearch 中的日志。 通过在每台node上部署一个以DaemonSet方式运行的fluentd来收集每台node上的日志。Fluentd将docker日志目录/var/lib/docker/containers和/var/log目录挂载到Pod中,然后Pod会在node节点的/var/log/pods目录中创建新的目录,可以区别不同的容器日志输出,该目录下有一个日志文件链接到/var/lib/docker/contianers目录下的容器日志输出。 部署环境装备 软件版本: Elasticsearch版本:elasticsearch:v6.5.4 Kibana版本:kibana:6.5.4 Fluentd版本:fluentd-elasticsearch:v2.3

Google Cloud Platform App Engine Node Flexible Instance Ruby sitting at 50% RAM usage

此生再无相见时 提交于 2019-12-03 03:52:59
There's a ruby process that always sits at 50% RAM utilization regardless of how much RAM the instance is allocated. I'm running Node in a flex environment with a simple express app that connects to a Cloud SQL instance through sequelize. I've tried increasing the RAM to 4GB and it continue to sit at 50% usage. It looks like the process is /opt/google-fluentd/embedded/bin/ruby -Eascii-8bit:ascii-8bit /usr/sbin/google-fluentd --log /var/log/google-fluentd/google-fluentd.log --under-supervisor I frequently run out of RAM, and when I do, the instance auto reboots itself and throws a 502 until it

Redhat 上面进行fluentd mail plugin 配置并进行邮件发送

匿名 (未验证) 提交于 2019-12-03 00:32:02
第一步: preinstallation fluentd的官网url:https://docs.fluentd.org/ 。根据官网的推荐,需要安装配置ntp。(It’s HIGHLY recommended that you set up ntpd on the node to prevent invalid timestamps in your log.)。在安装fluentd之前,有preinstallation。需要修改一下两个文件: 执行完b步骤文件内容的修改后,需要执行sysctl -p 命令来让修改生效。通知reboot server。 第二步: installation 执行命令:curl -L https://toolbelt.treasuredata.com/sh/install-redhat-td-agent3.sh | sh 第三步:start fluentd 第四步:配置td-agent.conf 文件 首先配置source: 接着进行mail的match配置 第三步:在souce配置的文件里面写入内容; 第四步: 查看邮箱 至此,所有流程已走完。 文章来源: Redhat 上面进行fluentd mail plugin 配置并进行邮件发送