收集日志是为了做进一步的分析。收集是第一步,收集到日志后还需要进行存储、索引,以便进行快速查询分析。我们还需要一个友好的查询界面,来方便用户使用日志。

本文介绍一个免费的开源软件组合,正好可以实现上述目的。它们就是Fluentd + Elasticsearch + Kibana,简称EFK。

Fluentd用于采集日志。Elasticsearch是一个开源的搜索引擎,以使用方便而著称。Kibana是一个开源的Web UI,为Elasticsearch提供了一个友好的使用界面。

使用EFK的日志系统,一般采用如下架构:

elasticsearch和kibana安装过程不说

  1. 安装td-agent
  2. 为Fluentd安装elasticsearch插件
$ sudo /usr/sbin/td-agent-gem install fluent-plugin-elasticsearch --no-document
  1. 在td-agent.conf中使用elasticsearch
# get logs from syslog
<source>
@type syslog
port 42185
tag syslog
</source> # get logs from fluent-logger, fluent-cat or other fluentd instances
<source>
@type forward
</source> <match syslog.**>
@type elasticsearch
logstash_format true
<buffer>
flush_interval 10s # for testing
</buffer>
</match>

这里syslog会经由Fluentd写入elasticsearch,并在elasticsearch中以logstash-%Y.%m.%d的命名方式创建索引。

4. 配置rsyslogd

需要在/etc/rsyslog.conf中添加如下配置,这样系统日志就可以从rsyslogd转发到Fluentd(端口为42185),并由Fluentd转发到elasticsearch中。

*.* @127.0.0.1:42185

重启rsyslogd:

sudo /etc/init.d/rsyslog restart
  1. 存储并搜索日志

    一旦Fluentd接收到了rsyslogd发送来的日志,并将这些日志写入到elasticsearch,就可以通过kibana进行可视化的数据查询了。

打开kibana(http://localhost:5601),创建索引,设置索引模式为logstash-*,选择@timestamp作为Time Filter字段名称。然后就可以在“Discover”面板看到rsyslogd发送过来的日志了。

6. EFK:免费的日志采集与可视化搜索套件的更多相关文章

  1. SpringCloud微服务实战——搭建企业级开发框架(三十八):搭建ELK日志采集与分析系统

      一套好的日志分析系统可以详细记录系统的运行情况,方便我们定位分析系统性能瓶颈.查找定位系统问题.上一篇说明了日志的多种业务场景以及日志记录的实现方式,那么日志记录下来,相关人员就需要对日志数据进行 ...

  2. Filebeat+Kafka+Logstash+ElasticSearch+Kibana 日志采集方案

    前言 Elastic Stack 提供 Beats 和 Logstash 套件来采集任何来源.任何格式的数据.其实Beats 和 Logstash的功能差不多,都能够与 Elasticsearch 产 ...

  3. ELK太重?试试KFC日志采集

    写在前面 ELK三剑客(ElasticSearch,Logstash,Kibana)基本上可以满足日志采集.信息处理.统计分析.可视化报表等一些日志分析的工作,但是对我们来说--太重了,并且技术栈不是 ...

  4. Rainbond通过插件整合ELK/EFK,实现日志收集

    前言 ELK 是三个开源项目的首字母缩写:Elasticsearch.Logstash 和 Kibana.但后来出现的 FileBeat 可以完全替代 Logstash的数据收集功能,也比较轻量级.本 ...

  5. 5-17 ELK 日志采集查询保存

    ELK简介 什么是ELK ELK: E:Elasticsearch 全文搜索引擎 L:logstash 日志采集工具 K:Kibana ES的可视化工具 ELK是当今业界非常流行的日志采集保存和查询的 ...

  6. 基于Flume+LOG4J+Kafka的日志采集架构方案

    本文将会介绍如何使用 Flume.log4j.Kafka进行规范的日志采集. Flume 基本概念 Flume是一个完善.强大的日志采集工具,关于它的配置,在网上有很多现成的例子和资料,这里仅做简单说 ...

  7. MySQL 慢查询日志分析及可视化结果

    MySQL 慢查询日志分析及可视化结果 MySQL 慢查询日志分析 pt-query-digest分析慢查询日志 pt-query-digest --report slow.log 报告最近半个小时的 ...

  8. 【RSYSLOG】rsyslog作为日志采集器安装配置说明

    RSYSLOG is the rocket-fast system for log processing. About 由于环境基于CentOS 6.7 x64,rsyslog本身就是OS的组件,由于 ...

  9. 使用Nginx和Logstash以及kafka来实现网站日志采集的详细步骤和过程

    使用Nginx和Logstash以及kafka来实现网站日志采集的详细步骤和过程 先列出来总体启动流程: (1)启动zookeeper集群(hadoop01.hadoop02和hadoop03这3台机 ...

随机推荐

  1. go grpc: connection reset by peer 的一种解决方案

    最近添哥一直反映,他手下的设备以grpc stream的方式向我服务端发送数据.偶然会收到错误.现象如下: 连接已经建立了一段时间,正常使用. 突然client.Send 返回 eof. 客户端有报错 ...

  2. -bash: nignx: 未找到命令

    nignx -t 如果报错: 因为没有配置环境变量吧,把nginx路径 配置到环境变量里面就可以. 按照配置: 1:进入 vim /etc/profile 文件 在配置文件的最后面添加PATH(PAT ...

  3. 免费SSL证书申请及部署实践

    网络上关于如何签发免费SSL证书的博文一大片,但是真正操作起来的能让新手不迷惑的却很少,很多操作步骤受限于国内无法访问外网的阻碍,导致无法真正实施成功. 实际上,关于申请免费SSL证书主要涉及两大部分 ...

  4. 多线程与高并发(二)—— Synchronized 加锁解锁流程

    前言 上篇主要对 Synchronized 的锁实现原理 Monitor 机制进行了介绍,由于 Monitor 基于操作系统调用,上下文切换导致开销大,在竞争不激烈时性能不算很好, 在 jdk6 之后 ...

  5. [NOIP2015 提高组] 运输计划题解

    题目链接:P2680 [NOIP2015 提高组] 运输计划 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 看了好长时间题解才终于懂的,有关lca和二分答案的题解解释的不详细,一时 ...

  6. srec_cat 常用参数的使用

    前言 下面介绍映像文件工具 srec_cat 的使用,如何通过相关参数实现自己需要的功能. 下载链接:SRecord 使用方式 文件类型 在输入文件和输出文件文件时要指明文件类型,常用的如: test ...

  7. 第十八天python3 序列化和反序列化

    思考: 内存中的字典.列表.集合以及各种对象,如何保存到一个文件中? 如果是自己定义的类的实例,如何保存到一个文件中? 如何从文件中读取数据,并让它们在内存中再次变成自己对应的类的实例? 要设计一套协 ...

  8. Möbius 反演注记

    目录 基本理论基础 数论函数 线性筛 Mobius 反演 Dirichlet 卷积 数论分块 / 整除分块 拆函数 时间复杂度分析 基本形式 GCD 形 万能 Prod 的莫比乌斯反演 正常例题 YY ...

  9. docker 安装gitlab

    # docker 安装gitlab # 一.安装镜像(官网文档) export GITLAB_HOME=/srv/gitlab # 必须先设置它,它就是你存储代码仓库的位置.以后要移植的时候直接把这个 ...

  10. Spring提供的API实现文件上传

    Spring为我们提供了文件上传接口MultipartRequest及其实现类StandardMultipartFile StandardMultipartFile是StandardMultipart ...