zoukankan      html  css  js  c++  java
  • logstash

    Logstash的安装:

    1  下载 Logstash: https://download.elastic.co/logstash/logstash/logstash-1.5.4.zip 并解压

    2  进入Logstash/bin 文件夹下,建立Logstash.conf文件

    写入配置(E:/test/3.log 为iis日志文件):

    input{
    file {
    path => "E:/test/3.log"
    start_position => beginning
    codec=>plain{charset=>"GB2312"}
    }
    }
    filter {
    grok {
    match => [
    "message", "%{IP:inner_ip} %{WORD:content}"
    ]
    }
    }
    output{
    elasticsearch {
    host => "127.0.0.1"
    port => "9200"
    protocol => "http"
    index => "test_system_log"
    codec=>plain{charset=>"GB2312"}
    }
    }

    3 安装Logstash为windows服务

     新建Logstash 启动批处理文件
    在文件夹logstashin下新建run.bat 文件
    文件内容如下
    logstash.bat agent -f logstash.conf
    增加这个批处理的目的是为了解决在windows环境下logstash运行一段时间就会挂起的问题。

     

    Logstash安装成windows服务
    首先从网址https://nssm.cc/release/nssm-2.24.zip下载nssm
    解压nssm-2.24.zip,然后从解压目录中拷贝nssm-2.24win64 ssm.exeff:elklogstashin里,然后在命令行里输入
    Pushd f:elklogstashin
    接着执行
    Nssm install logstash
    出现安装界面
     
    请填写如下信息:
    Path: f:elklogstashin un.bat
    Startup directory: f:elklogstashin
    界面如下:

    点击"Details"页签,填写如下内容
    Display namelogstash
    Startup typeAutomatic
    界面如下:

    接下来点击"Dependencies"页签,填写如下信息
    This service depends on the followingsystem components: elasticsearch-service-x86
    界面如下:

    添加依赖的原因是,logstash的输出配置的是Elasticsearch,如果Elasticsearch没有启动,logstash无法正常工作。
    最后单击install service按钮,执行安装过程,出现如下界面,表示服务已经安装成功。
     
     
     

    1 在安装好logstash以后进入logstashin目录,新建Logstash.conf文件

    2  logstash几种简单的配置:

    input{
      tcp{
      port => 514
      }
    }
    output{
      elasticsearch {
      host => "127.0.0.1"
      port => "9200"
      protocol => "http"
      index => "test_system_log"
      }
    }

    一般包含数据输入input和数据输出 output,对于logstash数据一般:输入可以来自文件/redis/或网络  ,而输出是要放到elasticsearch里

    1)对于消息流的情况:上面配置让logstash服务监听514端口,凡是来自514端口的tcp消息都能被它获得,并发送到elasticsearch。

      1 测试时,可以通过cmd命令行 telenet 127.0.0.1 514 来打开tcp客户端,然后敲入消息回车 发送tcp消息到logstash  注意安装了telenect客户端

      2 可以使用nxlog收集日志,然后配置nxlog往127.0.0.1 514 地址以tcp方式发送读取到的日志数据(未成功 )

    2)发送redis数据到 logstash

    input {
    redis {
    host => '127.0.0.1'
    data_type => 'list'
    port => "6379"
    key => 'iis:redis'
    type => 'redis-input'
    }
    }

    此时redis作为消息队列的形式往logstash发送消息,redis里有一个key为iis:redis的list,每一次你可以往改list里push一条数据,然后logstash会自动pop一个数据出来到logstash,并发送到elasticsearch

    3)文件到logstash:它会读取指定路径下的文件,发送到logstash;加入codec=>plain{charset=>"GB2312"} 指定编码格式防止乱码

    input{
    file {
    path => "E:/test/3.log"
    start_position => beginning
    codec=>plain{charset=>"GB2312"}
    }
    }
    output{
    elasticsearch {
    host => "127.0.0.1"
    port => "9200"
    protocol => "http"
    index => "test_system_log"
    codec=>plain{charset=>"GB2312"}
    }
    }

     4 Grok 

    是 Logstash 最重要的插件。你可以在 grok 里预定义好命名正则表达式,在稍后(grok参数或者其他正则表达式里)引用它。

     http://udn.yyuap.com/doc/logstash-best-practice-cn/filter/grok.html

  • 相关阅读:
    Hdu 4221 Greedy?
    Hdu 2955 Robberies
    Hdu 3309 Roll The Cube
    Hdu 2602 Bone Collector
    Hdu 2844 Coins
    Hdu 2255奔小康赚大钱
    Hdu 2120 Ice_cream's world I
    Hdu 2159 FATE
    Hdu 2102 A计划
    Hdu 2098分拆素数和
  • 原文地址:https://www.cnblogs.com/shaner/p/5630693.html
Copyright © 2011-2022 走看看