首页 > 其他分享 >(十四):Logstash配置

(十四):Logstash配置

时间:2024-01-25 15:03:33浏览次数:30  
标签:输出 http 配置 bytes logstash 十四 如下 Logstash

  在Logstash安装中演示了Logstash标准输入输出。标准输入输出模块,可以使Logstash读取键盘输入内容,并将结果直接打印在屏幕上。

1、Logstash配置结构与内容

1.1、配置结构

# this is a comment
input {
  value...
}

filter {
  value...
}

output {
  value...
}

  input 输入插件;filter 过滤器插件;output 输出插件。

1.2、value详情

  插件可以要求设置的值是某种类型,例如布尔值、列表值或散列值。支持以下值类型:

2.1、Array

  users => [ {id => 1, name => bob}, {id => 2, name => jane} ]

2.2、Lists

  Lists是类型集合,可以对多个值进行类型检查,在声明参数时指定:list => true来启用列表检查。

 path => [ "/var/log/messages", "/var/log/*.log" ]
 uris => [ "http://elastic.co", "http://example.net" ]

2.3、Boolean

  布尔值必须为 ture 或 false,注意:true和false关键字没有括在引号中。

 ssl_enable => true

2.4、Bytes

  字节字段是表示有效字节单位的字符串字段,是一种在插件选项中声明特定大小的简便方法。

  my_bytes => "1113"   # 1113 bytes
  my_bytes => "10MiB"  # 10485760 bytes
  my_bytes => "100kib" # 102400 bytes
  my_bytes => "180 mb" # 180000000 bytes

2.5、codec

  编解码器是用于表示数据的Logstash编解码器的名称。编解码器可用于输入和输出。输入编解码器提供了一种方便的方法,在数据进入输入之前对其进行解码。输出编解码器提供了一种方便的方法,在数据离开输出之前对其进行编码。

  使用输入或输出编解码器消除了在Logstash管道中使用单独过滤器的需要。

codec => "json"

2.6、Hash

  Hash是按"field1" => "value1"格式指定的键值对的集合。注意,多个键值条目由空格分隔,而不是逗号。

match => {
  "field1" => "value1"
  "field2" => "value2"
  ...
}
# or as a single line. No commas between entries:
match => { "field1" => "value1" "field2" => "value2" }

2.7、Number

  数字必须是有效的数值(浮点数或整数)。

 port => 33

2.8、Password

  密码是一个字符串,只有一个值,不被记录或打印。

my_password => "password"

2.9、URI

  URI可以是任何东西,从完整的URL(如http://elastic.co/)到简单的标识符(如foobar)。若URI包含密码,例如http://user:[email protected],则不会记录或打印URI的密码部分。

my_uri => "http://foo:[email protected]"

2.10、Path

  路径是表示有效操作系统路径的字符串。

my_path => "/tmp/logstash"

2.11、String

  字符串必须是单个字符序列。注意字符串值用双引号或单引号括起来。

2.12、转义字符 Escape Sequences

  默认情况下,不启用转义序列。若希望在带引号的字符串中使用转义序列,则需要单独进行设置。在logstash.yml中配置项Support_escapes: true。

name => "Hello world"
name => 'It\'s a beautiful day'

2.13、注释 Comments

  注释以#字符开头,不需要在行首。

# this is a comment

2、Outputs 配置

2.1、输出到指定文件

  修改解压目录bin下的 logstash.conf,数据源从控制台输入,结果输出到磁盘做持久化存储,配置详情如下:

input {
    stdin{
    }
} 
 
output {
    file{
        path=>'D:\\development\\Logstash\\output\\logstash_file'
    }
}

  执行启动命令:

logstash -f logstash.conf 

  启动成功后,在控制台中输出如下内容。

0

  查看磁盘中的 logstash_file 文件:

0

  文件详情如下:

0

2.2、输出到ElastisSearch

  修改解压目录bin下的 logstash.conf,数据源从控制台输入,结果输出到ElasticSearch的 logstash-example 索引中,配置详情如下:

input {
    stdin{
    }
} 
 
output {
    elasticsearch{
        action=>"index"
        index=>"logstash-example"   
        hosts=>["http://127.0.0.1:9200"]                  
    }
}

  action 表示对 elasticsearch 进行的操作,index 表示给文档建立一个索引;index 表示写入事件时所用的索引;host 是一个数组,指明 ES 集群,因本机是单节点,所以只有一个ip:port。

  执行启动命令:

logstash -f logstash.conf 

  启动成功后,在控制台中输出如下内容。

0

  查看ElasticSearch的 logstash-example 索引下的文档,可以看到日志信息已经输出到ES中。详情如下:

0

3、Inputs 配置

  在 D:\development\Logstash\logs 文件下新建日志文件 access.log,详情如下:

71.141.244.242 - kurt [18/May/2011:01:48:10 -0700] "GET /admin HTTP/1.1" 301 566 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3"
134.39.72.245 - - [18/May/2011:12:40:18 -0700] "GET /favicon.ico HTTP/1.1" 200 1189 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2; .NET4.0C; .NET4.0E)"
98.83.179.51 - - [18/May/2011:19:35:08 -0700] "GET /css/main.css HTTP/1.1" 200 1837 "http://www.safesand.com/information.htm" "Mozilla/5.0 (Windows NT 6.0; WOW64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1"

  logstash.yml 配置文件详情如下:

input {
  file {
    path => "D:/development/Logstash/logs/access.log"
    start_position => "beginning"
  }
}

filter {
  grok {
    match => { "message" => "%{COMBINEDAPACHELOG}" }
  }
  date {
    match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
  }
}

output {
  stdout { codec => rubydebug }
}

  依照 logstash.yml 配置文件启动Logstash,格式化输出日志文件,输出结果如下:

0

4、Filters配置

  Filters是一种内联处理机制,可以根据需要对数据进行分割。详情如下:

  logstash.yml 配置内容如下:

input { stdin { } }

filter {
  grok {
    match => { "message" => "%{COMBINEDAPACHELOG}" }
  }
  date {
    match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
  }
}

output {
  stdout { codec => rubydebug }
}

  依照 logstash.yml 配置文件启动Logstash,输入如下内容:

127.0.0.1 - - [11/Dec/2013:00:01:45 -0800] "GET /xampp/status.php HTTP/1.1" 200 3891 "http://cadenza/xampp/navi.php" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:25.0) Gecko/20100101 Firefox/25.0"

  输出结果如下:

0

  Logstash 通过 grok过滤器 可以解析Apache“组合日志”格式的日志行,并将该日志行分解成许多不同的离散信息,便于查询和分析日志数据。比如提取 HTTP响应代码、IP地址等信息。

  通过 date 过滤器解析出时间戳,并将其用作事件的时间戳。

 

标签:输出,http,配置,bytes,logstash,十四,如下,Logstash
From: https://www.cnblogs.com/RunningSnails/p/17987120

相关文章

  • NetCore Identityserver4 客户端配置
    1.客户端模式varclient=newHttpClient();varresponse=client.RequestClientCredentialsTokenAsync(newClientCredentialsTokenRequest{Address="http://localhost:5000/connect/token",......
  • (十三):Logstash安装
    1、下载LogstashLogstash下载地址:https://www.elastic.co/cn/downloads/past-releases#logstash。这里选择7.10.0版本1,和我这边的ElasticSearch版本保持一致。下载完成后解压文件,详情如下:2、配置LogstashLogstash的配置可参考:https://www.elastic.co/guide/e......
  • (十二):Logstash简介
    1、Logstash的概念Logstash是一个开源数据收集引擎,具有实时管道功能。Logstash可以动态地将来自不同数据源的数据统一起来,并将数据标准化到选择的目的地。2、Logstash的特点2.1、日志与指标Logstash可以处理所有类型的日志数据,轻松地摄取大量的web日志(如Apache)和应......
  • 2024年1月Java项目开发指南4:IDEA里配置MYSQL
    提前声明:文章首发博客园(cnblogs.com/mllt)自动“搬家”(同步)到CSDN,如果博客园中文章发生修改是不会同步过去的,所以建议大家到我的博客园中查看前提条件:1.你已经设计好了数据库,并成功创建了数据库。2.你的springboot项目中已经配置好了MySQL的连接。填写好信息后点测试连......
  • client-go令牌桶限流配置
    funcaddListWatchCfgAndClient(){ cfg,err:=clientcmd.BuildConfigFromFlags("","/root/.kube/config") iferr!=nil{ klog.Fatalf("Errorbuildingkubeconfig:%s",err.Error()) } cfg.QPS=5 cfg.Burst=10 kubeClient......
  • GDB调试之多线程死锁调试(二十四)
    调试代码如下所示:#include<thread>#include<iostream>#include<vector>#include<mutex>usingnamespacestd;mutex_mutex1;mutex_mutex2;intdata1;intdata2;intdo_work_1(){ std::cout<<"线程函数do_work_1开始"<<......
  • git 配置第三方比较工具(2)
    转载:https://blog.csdn.net/qfturauyls/article/details/1093718603.2:在~/.gitconfig中添加如下配置。[diff]tool=bcomp[difftool"bcomp"]cmd=\"/usr/local/bin/bcomp\"\"$LOCAL\"\"$REMOTE\"[difftool]promp......
  • git 配置第三方比较工具(1)
    转:https://blog.csdn.net/m0_56121792/article/details/132952621【前言】BeyondCompare是一款文件和文件夹比较工具,它能够比较和同步文件夹和文件,并显示它们之间的差异,方便用户决定如何更新和管理它们。它提供了在Windows、macOS、Linux等平台的安装包,其Linux系统安装和卸......
  • Vue 工程配置文件
    1package.jsonvitebuild和vite是Vite.js的两个命令。vite是一个开发服务器,它可以快速地在浏览器中启动一个开发环境,并支持热更新。使用vite命令可以启动Vite.js的开发服务器。vitebuild是一个命令行工具,它可以将Vite.js项目打包成生产环境的代码。使用vitebu......
  • nginx 配置文件(路由转发)
    #usernobody;worker_processes1;#error_loglogs/error.log;#error_loglogs/error.lognotice;#error_loglogs/error.loginfo;#pidlogs/nginx.pid;events{worker_connections1024;}http{includemime.types;defau......