fluentd

k8s搭建efk

℡╲_俬逩灬. 提交于 2020-01-22 01:42:22
** efk的搭建** Elasticsearch 是一个实时的、分布式的可扩展的搜索引擎,允许进行全文、结构化搜索,它通常用于索引和搜索大量日志数据,也可用于搜索许多不同类型的文档。 Elasticsearch 通常与 Kibana 一起部署,Kibana 是 Elasticsearch 的一个功能强大的数据可视化 Dashboard,Kibana 允许你通过 web 界面来浏览 Elasticsearch 日志数据。 Fluentd是一个流行的开源数据收集器,我们将在 Kubernetes 集群节点上安装 Fluentd,通过获取容器日志文件、过滤和转换日志数据,然后将数据传递到 Elasticsearch 集群,在该集群中对其进行索引和存储。 我们先来配置启动一个可扩展的 Elasticsearch 集群,然后在 Kubernetes 集群中创建一个 Kibana 应用,最后通过 DaemonSet 来运行 Fluentd,以便它在每个 Kubernetes 工作节点上都可以运行一个 Pod。 1.创建 Elasticsearch 集群 在创建 Elasticsearch 集群之前,我们先创建一个命名空间。 新建一个kube-efk.yaml kubectl apply -f kube-efk.yaml kubectl get ns 查看有没有这个efk的命名空间

日志采集工具--Logstash、Filebeat、Fluentd、Logagent对比

江枫思渺然 提交于 2020-01-16 07:32:18
常见的日志采集工具有Logstash、Filebeat、Fluentd、Logagent、rsyslog等等,那么他们之间有什么区别呢?什么情况下我们应该用哪一种工具? Logstash Logstash是一个开源数据收集引擎,具有实时管道功能。Logstash可以动态地将来自不同数据源的数据统一起来,并将数据标准化到你所选择的目的地。 优势 Logstash 主要的有点就是它的灵活性,主要因为它有很多插件,详细的文档以及直白的配置格式让它可以在多种场景下应用。我们基本上可以在网上找到很多资源,几乎可以处理任何问题。 劣势 Logstash 致命的问题是它的性能以及资源消耗(默认的堆大小是 1GB)。尽管它的性能在近几年已经有很大提升,与它的替代者们相比还是要慢很多的。这里有 Logstash 与 rsyslog 性能对比以及Logstash 与 filebeat 的性能对比。它在大数据量的情况下会是个问题。 另一个问题是它目前不支持缓存,目前的典型替代方案是将 Redis 或 Kafka 作为中心缓冲池: 典型应用场景 因为 Logstash 自身的灵活性以及网络上丰富的资料,Logstash 适用于原型验证阶段使用,或者解析非常的复杂的时候。在不考虑服务器资源的情况下,如果服务器的性能足够好,我们也可以为每台服务器安装 Logstash 。我们也不需要使用缓冲

How to control fluentd log tag from Docker

青春壹個敷衍的年華 提交于 2020-01-14 13:46:32
问题 Current setup is running Docker containers with the fluentd driver: docker run --log-driver=fluentd my-container That works quite easily...sends stdout to the locally running fluentd system on the host. I'd like to control the fluentd tag using some of the labels which are set on the container. For this example, assume some labels ( docker inspect snippet): "Config": { "Labels": { "com.amazonaws.ecs.container-name": "web", "com.amazonaws.ecs.task-definition-version": "3" } } How can I set the

fluentd插件开发

旧时模样 提交于 2020-01-11 23:53:04
参考: https://chenguolin.github.io/2019/03/02/Fluentd-5-Fluentd%E6%8F%92%E4%BB%B6%E5%BC%80%E5%8F%91/ http://denghb.com/wiki/ELKstack-guide-cn/logstash/scale/fluent.html 来源: https://www.cnblogs.com/beilong/p/12181568.html

Kubernetes系列——Kubernetes 组件、对象(二)

為{幸葍}努か 提交于 2020-01-09 18:15:52
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 一、Kubernetes 组件 介绍了Kubernetes集群所需的各种二进制组件。 Master 组件 Master组件提供集群的 管理控制中心 。 Master组件可以在集群中任何节点上运行。但是为了简单起见,通常在一台VM/机器上启动所有Master组件,并且不会在此VM/机器上运行用户容器。请参考 构建高可用群集 以来构建multi-master-VM。 kube-apiserver kube-apiserver 用于暴露Kubernetes API。任何的资源请求/调用操作都是通过kube-apiserver提供的接口进行。请参阅 构建高可用群集 。 ETCD etcd 是Kubernetes提供默认的 存储系统,保存所有集群数据 ,使用时需要为etcd数据提供备份计划。 kube-controller-manager kube-controller-manager 运行管理控制器,它们是集群中处理常规任务的后台线程 。 逻辑上,每个控制器是一个单独的进程,但为了降低复杂性,它们都被编译成单个二进制文件,并在单个进程中运行。 这些控制器包括: 1、 节点(Node)控制器 。 2、副本(Replication)控制器:负责维护系统中每个副本中的pod。 3、端点(Endpoints)控制器

Is it possible to use stdout as a fluentd source to capture specific logs for write to elasticsearch?

对着背影说爱祢 提交于 2020-01-02 07:30:54
问题 I'm a noob to both fluentd and elasticsearch, and I'm wondering if it's possible for fluentd to capture specific logs (in this case, custom audit logs generated by our apps) from stdout - use stdout as a source - and write them to a specific index in elasticsearch. Many thanks in advance for your replies. 回答1: Yes, you could use fluentd's exec input plugin to launch your apps and capture their stdout. Note this means fluentd would be in charge of launching your application which may not be

docker compose oci runtime error, executable file not found in $PATH

主宰稳场 提交于 2020-01-02 04:50:09
问题 I'm following this post: http://eric-price.net/blog/centralized-logging-docker-aws-elasticsearch This is what my docker-compose.yml looks like : version: "2" services: fluentd: image: fluent/fluentd:latest ports: - "24224:24224" command: start.sh networks: - lognet nginx: image: nginx-pixel ports: - "80:80" logging: driver: fluentd networks: - lognet networks: lognet: driver: bridge my start.sh is in the same directory as the yml file. When I run docker-compose up -d this is what I get :

Kibana - How to extract fields from existing Kubernetes logs

纵饮孤独 提交于 2020-01-01 18:19:06
问题 I have a sort of ELK stack, with fluentd instead of logstash, running as a DaemonSet on a Kubernetes cluster and sending all logs from all containers, in logstash format, to an Elasticsearch server. Out of the many containers running on the Kubernetes cluster some are nginx containers which output logs of the following format: 121.29.251.188 - [16/Feb/2017:09:31:35 +0000] host="subdomain.site.com" req="GET /data/schedule/update?date=2017-03-01&type=monthly&blocked=0 HTTP/1.1" status=200 body

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

自作多情 提交于 2020-01-01 00:21:29
问题 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

Fluentd apache format [warn]: pattern not match:

♀尐吖头ヾ 提交于 2019-12-31 02:58:08
问题 In my /etc/fluent/fluent.conf <source> @type tail format apache2 path /var/log/apache2/other_vhosts_access.log tag apache2.access </source> Error / warn : 2016-02-11 00:59:10 +0100 [warn]: pattern not match: "mybebsite.dz:443 105.101.114.234 - - [11/Feb/2016:00:59:10 +0100] \"POST /__es/_all/_search HTTP/1.1\" 200 794 \"https://mywebsite.net/\" \"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0\"" Why this patern dosn't match ? Best. 回答1: It seems that tail plugin does