zoukankan      html  css  js  c++  java
  • elk日志平台搭建小记

    最近抽出点时间,搭建了新版本的elk日志平台

    elastaicsearch 和logstash,kibana和filebeat都是5.6版本的

    中间使用redis做缓存,版本为3.2

    使用的系统为centos 7.4

    JAVA环境首先要安装和设定好

    全部在官网下载RPM安装包,直接安装就可以使用

    下面说下配置,和重要的地方

    1,elasticsearch

    配置方面,并不麻烦,单机的话用以下配置就可以跑起来

    配置文件是/etc/elasticsearch/elasticsearch.yml

    配置如下,注释的就不再写了

    cluster.name: elasticsearch
    node.name: node-1
    path.data: /data/elasticsearch/data/
    path.logs: /data/elasticsearch/logs/
    bootstrap.memory_lock: false
    network.host: 0.0.0.0
    http.port: 9200
    discovery.zen.ping.unicast.hosts: ["172.17.3.14"]
    discovery.zen.minimum_master_nodes: 1
    action.destructive_requires_name: true

    红色部分设置为false吧,否则无法启动。

    2, logstash

    安装完后默认配置文件路径在/etc/logstash/下,一般自定义配置文件放在conf.d下,默认的配置文件不要动

    我安装logstash后出现一点问题,就是启动时候提示找不到JAVA的执行命令,我已经做了全局声明,但是还是不行,现在说下解决方法

    先卸载掉logstash,然后把java的执行命令软链接到/usr/bin下面

    然后再重新安装,然后生成启动脚本,在centos7下面是这样生成的

    /usr/share/logstash/bin/system-install /etc/logstash/startup.options systemd

    在centos6下面是这样生成的

    /usr/share/logstash/bin/system-install /etc/logstash/startup.options sysv

    然后我们就可以启动logstash了

    我们可以把系统的messages日志输出到elasticsearch里面。配置如下

    input {
            file {
                    type => "flow"
                    path => "/var/log/messages"
            }
    }
    
    
    output {
      stdout {
         codec => rubydebug
      }
      if [type] == "flow" {
        elasticsearch {
              index => "flows-%{+YYYY.MM.dd}"
              hosts => "172.17.3.14:9200"
           }
       }
    }

    需要注意的是,input和output的type的值要一致

    红色部分是定向到标准输出,为了调试方便,正式用的话可以不用。

    通过redis,获取数据,并把数据输出到elasticsearch里

    input {
      redis {
        host => "172.17.3.14"
        port => "6379"
        type => "nginx_access"
        db => "0"
        data_type => "list"
        key => "ucenterfront"
      }
    }
    
    output {
        stdout {
         codec => rubydebug
      }
        if [type] == "nginx_access" {
          elasticsearch {
          hosts => "172.17.3.14:9200"
          index => "ucenter-front-%{+YYYY.MM.dd}"
          }
        }
    }

    需要注意的是:input里面的key的值要和filebeat里定义的key值一致

    type上下自然也要一致,out定义的index的值的红色部分可以和上面的key的值一致,也可以不一致,这个没有多大影响,在kibana建立索引时候,填index的值就可以。

    另外特别需要注意的,input里面的type的值一定要与filebeat里的document_type的值一致,我就刚开始不一致,logstash里就没有数据。

    其他的就没有特别需要注意的了,默认就行。

    3,filebeat的安装

    安装后配置文件在/etc/filebeat下面

    filebeat.prospectors:
    - input_type: log
      paths:
        - /data/logs/nginx/*.log
      document_type: nginx_access
      scan_frequency: 1s
    #----------------------------- Redis output --------------------------------
    output.redis:
      hosts: ["172.17.3.14:6379"]
      key: "ucenterfront"
      db: 0
      db_topology: 1
      timeout: 5
      reconnect_interval: 1

    上面的document_type要和logstash里的type一致

    修改发送时间间隔为1秒

    4,安装kibana

    直接安装,配置文件在/etc/kibana/kibana.yml

    server.host: "172.17.3.14"
    elasticsearch.url: "http://localhost:9200"

    配置很简单,监听那个地址就在server后面写那个地址

    下面的那个是elasticsearch的地址

    至此,搭建完毕。

  • 相关阅读:
    20155226 2016-2017-2 《Java程序设计》第2周学习总结
    20155226 2016-2017-2 《Java程序设计》第一周学习总结
    20155226-虚拟机与Linux之初体验
    20155226田皓宇关于优秀技能经验以及c语言学习感悟和对JAVA的展望
    田皓宇的第一篇随笔
    20155220 2016-2017-2 《Java程序设计》第六周学习总结
    20155220 2016-2017-2《Java程序设计》第五周学习总结
    20155220 2016-2017-2 《java程序设计》第四周总结
    20155220 2016-2017-2《java程序设计》第三周学习总结
    20155220 2016-2017-2 《java程序设计》第二周学习总结
  • 原文地址:https://www.cnblogs.com/hh2737/p/8967050.html
Copyright © 2011-2022 走看看