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

  • 相关阅读:
    Python第二天 (数据类型,变量 )
    python第一天(安装运行python)
    Linux shell 整数运算 let [ ] (( )) expr以及 浮点数 bc用法(转)
    2018年3月大事件
    2018年2月大事件
    项目假设与制约因素
    调用微信红包接口,本地可以服务器不可以。 请求被中止: 未能创建 SSL/TLS 安全通道
    【转】AddMvcCore,AddControllers,AddControllersWithViews,AddRazorPages的区别
    sql server create table 给字段添加注释说明
    HttpContext.SignInAsync 失效(表面解决了问题,未深入到.net core 源码去找问题,记录一下,等有时间翻一下.net core 源码试试能不能找到根本原因)
  • 原文地址:https://www.cnblogs.com/shaner/p/5630693.html
Copyright © 2011-2022 走看看