fluentd

Elasticsearch+Fluentd+Kafka搭建日志系统

爱⌒轻易说出口 提交于 2020-02-28 05:10:10
前言 由于logstash内存占用较大,灵活性相对没那么好,ELK正在被EFK逐步替代.其中本文所讲的EFK是Elasticsearch+Fluentd+Kfka,实际上K应该是Kibana用于日志的展示,这一块不做演示,本文只讲述数据的采集流程. 前提 docker docker-compose apache kafka服务 架构 数据采集流程 数据的产生使用cadvisor采集容器的监控数据并将数据传输到Kafka. 数据的传输链路是这样: Cadvisor->Kafka->Fluentd->elasticsearch 每一个服务都可以横向扩展,添加服务到日志系统中. 配置文件 docker-compose.yml version: "3.7" services: elasticsearch: image: elasticsearch:7.5.1 environment: - discovery.type=single-node #使用单机模式启动 ports: - 9200:9200 cadvisor: image: google/cadvisor command: -storage_driver=kafka -storage_driver_kafka_broker_list=192.168.1.60:9092(kafka服务IP:PORT) -storage_driver

制作带有kafka插件和es插件的fluentd镜像

北城余情 提交于 2020-02-27 02:54:23
前言 Fluentd是用于统一日志记录层的开源数据收集器,是继Kubernetes、Prometheus、Envoy 、CoreDNS 和containerd后的第6个CNCF毕业项目,常用来对比的是elastic的logstash,相对而言fluentd更加轻量灵活,现在发展非常迅速社区很活跃,在编写这篇blog的时候github的star是8.8k,fork是1k就可见一斑. 前提 docker Dockerfile文件编写 Dockerfile FROM fluent/fluentd:v1.3.2 ADD fluent.conf /etc/fluent/ RUN echo "source 'https://mirrors.tuna.tsinghua.edu.cn/rubygems/'" > Gemfile && gem install bundler RUN gem install fluent-plugin-kafka -v 0.12.3 --no-document RUN gem install fluent-plugin-elasticsearch -v 4.0.3 --no-document CMD ["fluentd"] fluent.conf <source> @type kafka brokers kafka:9092 format json <topic>

使用fluentd作为docker日志驱动收集日志

孤街醉人 提交于 2020-02-27 01:44:42
前言 docker默认的日志驱动是 json-file ,每一个容器都会在本地生成一个 /var/lib/docker/containers/containerID/containerID-json.log ,而日志驱动是支持扩展的,本章主要讲解的是Fluentd驱动收集docker日志. Fluentd是用于统一日志记录层的开源数据收集器,是继Kubernetes、Prometheus、Envoy 、CoreDNS 和containerd后的第6个CNCF毕业项目,常用来对比的是elastic的logstash,相对而言fluentd更加轻量灵活,现在发展非常迅速社区很活跃,在编写这篇blog的时候github的star是8.8k,fork是1k就可见一斑. 前提 docker 了解 fluentd 配置 docker-compose 准备配置文件 docker-compose.yml version: '3.7' x-logging: &default-logging driver: fluentd options: fluentd-address: localhost:24224 fluentd-async-connect: 'true' mode: non-blocking max-buffer-size: 4m tag: "kafeidou.{{.Name}}"

使用logstash作为docker日志驱动收集日志

巧了我就是萌 提交于 2020-02-26 00:52:13
前言 logstash是一个开源的日志统一处理数据收集器,属于ELK中的L,在日志收集领域应用广泛. docker默认的日志驱动是 json-file ,每一个容器都会在本地生成一个 /var/lib/docker/containers/containerID/containerID-json.log ,而日志驱动是支持扩展的,本章主要讲解的是使用logstash收集docker日志. docker是没有logstash这个驱动的,但是可以通过logstash的gelf input插件收集gelf驱动的日志. 前提 docker 了解 logstash 配置 docker-compose 准备配置文件 docker-compose.yml version: '3.7' x-logging: &default-logging driver: gelf options: gelf-address: "udp://localhost:12201" mode: non-blocking max-buffer-size: 4m tag: "kafeidou.{{.Name}}" #配置容器的tag,以kafeidou.为前缀,容器名称为后缀,docker-compose会给容器添加副本后缀,>如 logstash_1 services: logstash: ports: - 12201

Kubernetes - - k8s - v1.12.3 持久化EFK安装

一世执手 提交于 2020-02-22 17:59:45
1,镜像下载 1.1 所有节点下载镜像 docker pull kibana:5.6.4 docker tag kibana:5.6.4 docker.elastic.co/kibana/kibana:5.6.4 docker pull xiaoqshuo/fluentd-elasticsearch:v2.0.4 docker pull xiaoqshuo/elasticsearch:v5.6.4 docker tag xiaoqshuo/fluentd-elasticsearch:v2.0.4 k8s.gcr.io/fluentd-elasticsearch:v2.0.4 docker tag xiaoqshuo/elasticsearch:v5.6.4 k8s.gcr.io/elasticsearch:v5.6.4 master01下载对应的k8s源码包 wget https://github.com/kubernetes/kubernetes/releases/download/v1.12.3/kubernetes.tar.gz 对节点进行label [root@k8s-master01 fluentd-elasticsearch]# pwd /opt/k8-ha-install/kubernetes/cluster/addons/fluentd-elasticsearch

Kubernetes 集群日志管理 Elasticsearch + fluentd(二十)

◇◆丶佛笑我妖孽 提交于 2020-02-22 09:10:27
目录 一、安装部署 Kubernetes 开发了一个 Elasticsearch 附加组件来实现集群的日志管理。这是一个 Elasticsearch、Fluentd 和 Kibana 的组合。Elasticsearch 是一个搜索引擎,负责存储日志并提供查询接口;Fluentd 负责从 Kubernetes 搜集日志并发送给 Elasticsearch;Kibana 提供了一个 Web GUI,用户可以浏览和搜索存储在 Elasticsearch 中的日志。 一、安装部署 Elasticsearch 附加组件本身会作为 Kubernetes 的应用在集群里运行,其 YAML 配置文件可从 https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/fluentd-elasticsearch 获取。 我们把需要的文件下载下来。 for file in es-service es-statefulset fluentd-es-configmap fluentd-es-ds kibana-deployment kibana-service; do wget https://raw.githubusercontent.com/kubernetes/kubernetes/master/cluster/addons

利用fluentd java客户端收集数据到influxDB

余生颓废 提交于 2020-02-17 22:58:28
前提环境: 1.安装docker 2.安装好influxDB A.fluent安装配置 目录结构如下 1.编写fluent.conf配置文件 <source> @type forward port 24224 bind 0.0.0.0 </source> <match **> @type influxdb host 填写数据库所在ip,如:127.0.0.1 port 8086 dbname 填写database的名称,如test user 填写数据库用户名,如root password 填写你的数据库密码,如123456 use_ssl false time_precision ms auto_tags false tag_keys ["hostname","age"]此数组为索引字段名称,插入的key为数组对应的值则新增数据时默认设置该字段为索引字段 sequence_tag _seq </match> 详细配置可参考 https://github.com/fangli/fluent-plugin-influxdb 2.编写docker build 脚本 docker build -t test . 3.编写好docker run脚本 docker run -d \ --restart unless-stopped \ --name test \ -p 24224:24224

云计算学习路线图素材课件:云计算常用的开源工具

被刻印的时光 ゝ 提交于 2020-02-07 00:21:50
随着互联网的高速发展以及国家政策扶持,我国云计算行业发展迅猛,云计算人才也成为稀缺高薪人才。众所周知,云计算和开源是相爱相生的关系,借助开源社区的力量,云计算技术迅速占领市场,不过2020年常用的云计算开源工具有哪些呢? 1、Kubernetes 过去两年Kuberentes已成为火爆的开源项目之一,相信在未来Kuberentes的势头会更劲,其拥有大量的扩展工具,其优势在于: 1)通过基于角色的访问控制可以更好地支持企业部署; 2)将Kuberentes从单一用户操作系统转移到Unix; 3)支持在Kubernetes管理的容器和容器中运行有状态应用。 除了Kuberentes容器调度器外,CNCF(云原生基金会)还提供了一套广泛的兼容工具,用于操作和交付现代分布式系统,这些组合创建的功能可以扩展到成千上万个自修复的多租户节点上,同时还可以实现操作上的差异。 2、Fluentd Fluentd是一个免费,而且完全开源的日志管理工具,简化了日志的收集、处理、和存储,可以不需要在维护编写特殊的日志处理脚本。Fluentd的性能已经在各领域得到了证明:目前最大的用户从5000+服务器收集日志,每天5TB的数据量,在高峰时间处理50000条信息每秒。 3、Prometheus Prometheus(简称Prom)前身是SoundCloud的告警工具包,现已演化成一个独立的开源监控系统

fluentd 收集 k8s 到 elasticsearch

拥有回忆 提交于 2020-01-28 22:31:19
1. 部署elasticsearch + kibana apiVersion: v1 kind: PersistentVolume metadata: name: es-data-pv spec: capacity: storage: 10Gi accessModes: - ReadWriteOnce storageClassName: nfs nfs: server: 192.168.0.250 path: /var/nfs/es-data --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: es-data-pvc spec: accessModes: - ReadWriteOnce storageClassName: "nfs" resources: requests: storage: 10Gi --- apiVersion: apps/v1 kind: Deployment metadata: name: es-deployment spec: replicas: 1 selector: matchLabels: app: single-es template: metadata: labels: app: single-es spec: initContainers: - name: init

Fluentd logging on kubernetes skips logs on log rotation

限于喜欢 提交于 2020-01-25 09:13:25
问题 Currently, I have the following architecuture in kubernetes: In a pod, a service and a sidecar container (called logger ) is running. The services writes to a file, the sidecar container reads that file and writes it to stdout. A fluentd daemonset is configured to read the output (which is collected in a file in /var/log/containers/*_logger-*.log , which is a link to another file (the latest file since the last file rotation, to the older files, no link points). Always 3 log messages belong