zoukankan      html  css  js  c++  java
  • 6. EFK:免费的日志采集与可视化搜索套件

    收集日志是为了做进一步的分析。收集是第一步,收集到日志后还需要进行存储、索引,以便进行快速查询分析。我们还需要一个友好的查询界面,来方便用户使用日志。
    本文介绍一个免费的开源软件组合,正好可以实现上述目的。它们就是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发送过来的日志了。

  • 相关阅读:
    labview dll 崩溃
    java方法01什么是方法?
    java控制流程控制10增强For循环
    Java方法05可变参数
    java流程控制09打印九九乘法表
    Java流程控制12打印三角形及DUG
    Java方法02方法的定义和调用
    Java流程控制08For循环详解
    java流程控制11break、continue、goto
    java方法04命令行传递参数
  • 原文地址:https://www.cnblogs.com/sanduzxcvbnm/p/13921343.html
Copyright © 2011-2022 走看看