filebeat

ELK 日志系统

不羁的心 提交于 2020-01-14 22:09:14
一、为什么要用到 ELK 一般我们需要进行日志分析场景:直接在日志文件中 grep、awk 就可以获得自己想要的信息。 但在规模较大的场景中,此方法效率低下,面临问题包括日志量太大如何归档、文本搜索太慢怎么办、 如何多维度查询。需要集中化的日志管理,所有服务器上的日志收集汇总。常见解决思路是建立集中 式日志收集系统,将所有节点上的日志统一收集,管理,访问。 一般大型系统是一个分布式部署的架构,不同的服务模块部署在不同的服务器上,问题出现时, 大部分情况需要根据问题暴露的关键信息,定位到具体的服务器和服务模块,构建一套集中式日志系统,可以提高定位问题的效率。 一个完整的集中式日志系统,需要包含以下几个主要特点: 收集-能够采集多种来源的日志数据 传输-能够稳定的把日志数据传输到中央系统 存储-如何存储日志数据 分析-可以支持 UI 分析 警告-能够提供错误报告, 监控机制 ELK 提供了一整套解决方案,并且都是开源软件,之间互相配 合使用,完美衔接,高效的满足了很多场合的应用。目前主流的一种日志系统。 二、ELK 介绍 ELK 是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。现在还有一个 FileBeat,它是一个轻量级的日志收集处理工具,Filebeat 占用资源少,适合于在各个服务 器上搜集日志后传输给

日志收集

强颜欢笑 提交于 2020-01-13 22:34:02
收集形式: 1,每个pod里面都跑两个容器,一个应用容器,一个filebeat日志收集容器 2,pod的容器之间通过emptyDir来共享一个日志目录,应用容器的里面的日志往这个目录里面去写日志,日志手机容器从这个目录里面去读取收集日志 3,使用configMap 去配置filebeat的配置文件,通过volumeMount的方式去使用configMap(注意这里需要先创建configMap) eg:(我的elk 已经搭建好了,用的是6.7.3版本) 1.创建filebeat的dockerfile FROM centos:7.6 ADD filebeat-6.3.2-linux-x86_64.tar.gz /usr/local/src RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ && mv /usr/local/src/filebeat-6.3.2-linux-x86_64 /usr/local/filebeat \ && mkdir /etc/filebeat CMD ["/usr/local/filebeat/filebeat","-c","/etc/filebeat/filebeat.yaml"] 2.创建configMap apiVersion: v1 kind: ConfigMap

elk 入门

帅比萌擦擦* 提交于 2020-01-13 19:31:02
安装 准备 3台机器 172.16.240.60 db01 elasticsearch 172.16.240.70 db02 kibana 172.16.240.80 db03 filebeat nginx 172.16.240.90 db04 logstash 安装阿里yum和java curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo yum install java-1.8.0-openjdk.x86_64 -y 更新时间 yum install ntpdate -y ntpdate time1.aliyun.com elasticsearch 172.16.240.60 rpm下载 mkdir -p /data/soft cd /data/soft rpm -ivh elasticsearch-6.6.0.rpm vim /etc/elasticsearch/elasticsearch.yml node.name: node-1 path.data: /var/lib/elasticsearch path.logs: /var/log/elasticsearch network.host: 0.0.0.0 http.port: 9200 vim /usr

ELK原理与介绍

风格不统一 提交于 2020-01-10 11:13:42
为什么用到ELK: 一般我们需要进行日志分析场景:直接在日志文件中 grep、awk 就可以获得自己想要的信息。但在规模较大的场景中,此方法效率低下,面临问题包括 日志量太大如何归档、文本搜索太慢怎么办、如何多维度查询。需要集中化的日志管理,所有服务器上的日志收集汇总。 常见解决思路是建立集中式日志收集系统,将所有节点上的日志统一收集,管理,访问。 一般大型系统是一个分布式部署的架构,不同的服务模块部署在不同的服务器上,问题出现时,大部分情况需要根据问题暴露的关键信息,定位到具体的服务器和服务模块,构建一套集中式日志系统,可以提高定位问题的效率。 一个完整的集中式日志系统,需要包含以下几个主要特点: 收集-能够采集多种来源的日志数据 传输-能够稳定的把日志数据传输到中央系统 存储-如何存储日志数据 分析-可以支持 UI 分析 警告-能够提供错误报告,监控机制 ELK提供了一整套解决方案,并且都是开源软件, 之间互相配合使用,完美衔接,高效的满足了很多场合的应用。目前主流的一种日志系统。 ELK简介: ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash

java-filebeat+elk的数据传输

孤人 提交于 2020-01-07 19:19:27
概述:本章进行filebeat --> kafka --> logstash --> es的数据传输过程,及kibana对es数据的显示控制。 1:搭建filebeat读取日志文件信息,写入kafka。(版本与es一致)   1.1:配置文件             1.2:启动      . /filebeat -e -c filebeat.yml     后台启动:nohup . /filebeat -e -c filebeat.yml & 2:logstash读取kafka信息,解析数据,写入es集群。(版本与es一致)   2.1:配置(将logstash.conf文件 cp 改名为logs.conf,名称自定义)     主要分3个部分:       1.读取kafka数据。       2.解析数据,我的数据是按照规则写入的,所以免去了正则匹配之类的处理,我这里写的主要是怎么存储我的经纬度数据的测验。       3.将解析好的数据存入es集群,我写的案例是读取的不同的数据根据type不同存入es不同的index中。         注意:es的index中可以存多个type,但是最好一个index对应一个type。总之一切的设计都为最快效率工作。     以下配置仅供参考: # Sample Logstash configuration for creating a

Mutliple config files causing duplicate message

两盒软妹~` 提交于 2020-01-05 06:36:07
问题 I have a Logstash machine running in AWS. In Logstash I have 3 config files each having 1 input defined on them. These inputs are reading logs from following sources From s3 From http input From filebeat The problem is that I am getting duplicate messages in Kibana. So for 1 message generated by Filebeat I am seeing 3 messages in Kibana. I tried to remove 1 config file and the count got reduced to 2. So I am pretty sure that this is due to these config files. What is confusing me is that why

Kubernetes/8.Pod控制器-DaemonSet

萝らか妹 提交于 2020-01-05 00:04:23
Pod控制器-DaemonSet 本章节给你带来第二个控制器: DaemonSet 的讲解。 你将了解到:什么是 DaemonSet ,以及他的配置实战,最后我还引出了污点和容忍度的专有名词,如果你已经有了一定的基础,可以选择性地直接去阅读该章节(看个人)。 What is DaemonSet? 命令补充 实战配置 知识点补充 备注 1.What is DaemonSet? DaemonSet 是一个确保每个符合规则的 node 节点有且仅有一个 Pod 的控制器。你要注意以下两点: 1.新节点加入集群,也会新增一个 Pod 2.当节点下线后,相应Pod也会被回收 2.命令补充 #可以使用kubectl get ds查看DaemonSet [root@centos-1 mainfasts]# kubectl get ds -A NAMESPACE NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE kube-system kube-flannel-ds-amd64 3 3 3 3 3 <none> 4d1h kube-system kube-flannel-ds-arm 0 0 0 0 0 <none> 4d1h kube-system kube-flannel-ds-arm64 0 0 0 0 0

filebeat 插件开发

£可爱£侵袭症+ 提交于 2020-01-03 12:14:09
  filebeat是一个轻量的日志收集工具,全套使用go语言开发。   我目前遇到的问题是,在收集的时候需要对数据进行采样,采样比和采样形式要灵活,因为可能在多个项目会使用到这个日志收集功能。刚开始我仔细研究filebeat的配置,我感觉他自身应该带有采集需求,然而并没有。于是我想着去修改他的源码,这样也很方便。然而这个方案不可行,因为这是一个开源项目,后期如果版本更新,那还得继续修改,这个不灵活。于是我想着用插件的方式,看了下filebeat是支持插件的,但是网上很难找到资料。   我最终在官网找到了资料,所以我自己按照他的模式写了我自己的采样插件和一个我们业务用的query解析插件。   filebeat采取的是多个线程同时去读多个文件,每个文件读到数据会被封装为一个event,event经过一系列的processors处理,最终会放在一个队列,这个队列在发送到输出(kafka,es等) 下面直接给大家上我写的插件源码: filebeat 插件源码 附加 filebeat源码 插件使用方法: 下载filebeat的源码 在beats/libbeat/processors目录下进行插件开发 在你需要使用的的平台打包 打包命令:go build -buildmode=plugin 启动filebeat filebeat ---plugin ./myplugin.so

filebeat 采集文件报错:dropping too large message of size

拟墨画扇 提交于 2020-01-02 16:41:36
背景公司使用的ELK进行日志采集、聚合 业务机器采用filebeat 进行的日志采集。 会有概率出现 ropping too large message of size 1171026 具体原因就是kafka 对每一条消息的大小进行了限制。 默认是1000000 字节,我们从错误中可以看出,当前字节大于这个值,需要做进一步的调整 首先从kafka 配置侧 设置 message.max.bytes 默认 1000000,这里可以调成10000000(10MB) replica.fetch.max.bytes 默认1MB ,这里最少设置成一致 10MB 同时filebeat 也需要进行设置 output.kafka: max_message_bytes: 10000000 响应的重启kafka和filebeat使配置生效,这样就可以找到那条万恶(为什么万恶?因为会影响kafka 的性能)的大大大大日志。 来源: https://www.cnblogs.com/zhaosc-haha/p/12133699.html

INFO No non-zero metrics in the last 30s message in filebeat

会有一股神秘感。 提交于 2020-01-02 04:55:48
问题 I'm new to ELK and I'm getting issues while running logstash. I ran the logatash as defined in below link https://www.elastic.co/guide/en/logstash/current/advanced-pipeline.html But when run filebeat and logstash, Its show logstash successfully runs at port 9600. In filebeat it gives like this INFO No non-zero metrics in the last 30s Logstash is not getting input from filebeat.Please help.. the filebeat .yml is filebeat.prospectors: - input_type: log paths: - /path/to/file/logstash-tutorial