精华内容
下载资源
问答
  • logstach

    2020-07-01 08:57:20
    一、logstash启动 bin/logstash -f 某个脚本 同时启动多个脚本: 将命令: bin/logstash ...==“xxx”{ ruby{ code=>“event.set([2],‘XX’)” } }else{ } } 1是json中的字段名字 2是设置的变量名 logstach基础入门: ...

    一、logstash启动
    bin/logstash -f 某个脚本
    同时启动多个脚本:
    将命令:
    bin/logstash -f 脚本
    修改为:
    bin/logstash -f config/XX.conf(脚本) --path.data=/logstash/XX

    二、数据写入到es中
    action=>“update”
    如果action是update,需要加doc_as_upset=>true,这样对于es中没有的_id才会创建,已经有的部分,采用的是Update,update采用的是部分更新,没有的字段保留,有的字段更新

    三、如何使用If新增一个变量
    filter{
    if [1]==“xxx”{
    ruby{
    code=>“event.set([2],‘XX’)”
    }
    }else{
    }
    }
    1是json中的字段名字
    2是设置的变量名

    logstach基础入门:
    http://www.yishuifengxiao.com/2019/09/24/logstash%E5%9F%BA%E7%A1%80%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B/

    展开全文
  • \s*%{TIMESTAMP_ISO8601:time}\s\[%{DATA:main}\]\s%{LOGLEVEL:loglevel}\s*%{JAVACLASS:class}\s*-\s*---\s*%{GREEDYDATA:mydata}

    \s*%{TIMESTAMP_ISO8601:time}\s\[%{DATA:main}\]\s%{LOGLEVEL:loglevel}\s*%{JAVACLASS:class}\s*-\s*---\s*%{GREEDYDATA:mydata}

    展开全文
  • logstach安装

    2020-06-13 20:59:26
    logstach安装 1.Logstash下载安装 Logstash官网:https://www.elastic.co/cn/downloads/logstash Logstash版本号要和Elasticsearch对应 解压 tar -zxvf logstash-7.6.2.tar.gz -C /opt/module/ 进入logstash下的...

    logstach安装

    1.Logstash下载安装

    Logstash官网:https://www.elastic.co/cn/downloads/logstash
    Logstash版本号要和Elasticsearch对应

    在这里插入图片描述

    解压

    tar -zxvf logstash-7.6.2.tar.gz -C /opt/module/
    

    进入logstash下的bin目录,创建logstash.conf文件添加配置

    input {
    	file {
    		#指定所要的数据文件路径
    		path =>	"/opt/module/logstash-7.6.2/bin/movies.csv"
    		start_position => "beginning"
    		sincedb_path => "/dev/null"
    	}
    }
    filter{
    	csv{
    		separator => ","
    		columns => ["id","content","genre"]
    	}
    	mutate{
    		split => {"genre" => "|"}
    		remove_field => ["path","host","@timestamp","message"]
    	}
    	mutate{
    		split => ["content","("]
    		add_field => {"title" => "%{[content][0]}"}
    		add_field => {"year" => "%{[content][1]}"}
    	}
    	mutate{
    		convert => {
    			"year" => "integer"
    		}
    		strip => ["title"]
    		remove_field => ["path","host","@timestamp","message","content"]
    	}
    }
    #输出到9200端口
    output{
    	elasticsearch{
    		hosts => "http://localhost:9200"
    		index => "movies"
    		document_id => "%{id}"
    	}
    	stdout{} 
    }
    
    执行命令
    sudo ./logstash -f logstash.conf
    
    报错
    [ERROR][logstash.agent           ] Failed to execute action {:action=>LogStash::PipelineAction::Create/pipeline_id:main,
    

    经过检查,发现是配置文件logstash.conf里面的http://localhost:9200少了一个/

    配置文件一定要检查是否一样不然就容易报错

    展开全文
  • logstach的使用

    2018-08-27 15:11:15
    安装logstach https://www.elastic.co/downloads/logstash 直接下载后解压即可,注意选好版本号!! 虽然logstach是可以独立运行,但一般是和 es对应的,所以版本需要选择和es一样的,免得后面出现奇怪的问题! 不...

    安装logstach

    https://www.elastic.co/downloads/logstash
    直接下载后解压即可,注意选好版本号!! 虽然logstach是可以独立运行,但一般是和 es对应的,所以版本需要选择和es一样的,免得后面出现奇怪的问题!
    不需要配环境变量什么的.

    wget https://artifacts.elastic.co/downloads/logstash/logstash-5.6.10.tar.gz
    tar -xzvf logstash-5.6.10.tar.gz

    查看文档

    https://www.elastic.co/guide/en/logstash/5.6/logstash-5-6-10.html#logstash-5-6-10

    一些配置

    解压后进入 conf目录,有如下文件

    jvm.options
    log4j2.properties
    logstash.yml
    startup.options

    文件名已经说明了大体功能 。
    这些配置在测试阶段默认就行,

    logstash.yml 的配置,可参考 https://www.elastic.co/guide/en/logstash/5.6/logstash-settings-file.html

    启动说明

    软件的启动需要一个 (输入,filter和输出)的conf( 注意,这个conf和上面的不一样,这个是配置是具体业务的)
    如官网中的说法:

    # This is a comment. You should use comments to describe
    # parts of your configuration.
    input {
      ...
    }
    
    filter {
      ...
    }
    
    output {
      ...
    }

    但是!!! 也可以不要这个conf,直接用命令行加上选项,把配置加上,下面会有这样的例子

    第一个直接的例子

    直接启动:

    bin/logstash -e 'input { stdin { } } output { stdout {} }'

    输入和输出都是控制台,输入和输出如下:

    aaaaaaaaaaaaaaaa
    {
          "@version" => "1",
              "host" => "onlinegame.i.nease.net",
        "@timestamp" => 2018-08-27T03:17:32.704Z,
           "message" => "aaaaaaaaaaaaaaaa"
    }
    bbbbbbbbbbbbbbb
    {
          "@version" => "1",
              "host" => "onlinegame.i.nease.net",
        "@timestamp" => 2018-08-27T03:17:40.610Z,
           "message" => "bbbbbbbbbbbbbbb"
    }
    
    

    例子,加上基本的配置文件,输入还是控制台

    一个官网的例子

    input { stdin { } }
    
    filter {
      mutate { add_field => { "show" => "This data will be in the output" } }
      mutate { add_field => { "[@metadata][test]" => "Hello" } }
      mutate { add_field => { "[@metadata][no_show]" => "This data will not be in the output" } }
    }
    
    output {
      if [@metadata][test] == "Hello" {
        stdout { codec => rubydebug }
      }
    }

    采用官网的例子,如下,输入和输出都是控制台,不过加了一些filter

    启动:

    bin/logstash -f /home/comp/logconf/console_console.conf
    

    控制台输出:

    
    gogogogogoog
    {
          "@version" => "1",
              "host" => "onlinegame.i.nease.net",
              "show" => "This data will be in the output",
        "@timestamp" => 2018-08-27T03:25:43.309Z,
           "message" => "gogogogogoog"
    }
    

    上面的 @metadata 是一个内置自定义字段,里面的内容不会输出,这个字段对一些 判断条件非常有用 。

    例子,输出到文件

    一个官网的例子

    input { stdin { } }
    
    filter {
      mutate { add_field => { "show" => "This data will be in the output" } }
      mutate { add_field => { "[@metadata][test]" => "Hello" } }
      mutate { add_field => { "[@metadata][no_show]" => "This data will not be in the output" } }
    }
    
    output {
      file {
        path => "/home/comp/logs/logstach_output/%{+yyyy.MM.dd.HH}.log"
      }
    }
    

    启动logstach

    bin/logstash -f /home/comp/logconf/console_file.log

    如上,输出一个文件,文件名是(时间.log)

    例子,从tcp开出的端口输出到es中

    一个官网的例子

    input {
      tcp {
        port => 8002
        type => syslog
      }
      udp {
        port => 8002
        type => syslog
      }
    }
    
    filter {
      if [type] == "syslog" {
        grok {
          match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %                         {GREEDYDATA:syslog_message}"  }
          add_field => [ "received_at", "%{@timestamp}" ]
          add_field => [ "received_from", "%{host}" ]
        }
        date {
          match => [ "syslog_timestamp", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ]
        }
      }
    }
    
    output {
      elasticsearch {
        hosts => ["10.88.88.88:9200"]
        index => "logstach_a"
      }
    }
    
    

    启动logstach

    bin/logstash -f /home/comp/logconf/tcp_es.log

    logstach 监听 8002 端口,输出 到 es中,index为logstach_a
    我们使用 telnet 127.0.0.1 8002 ,然后里面输入以下内容:

    Dec 23 12:11:43 louis postfix/smtpd[31499]: connect from unknown[95.75.93.154]
    Dec 23 14:42:56 louis named[16000]: client 199.48.164.7#64817: query (cache) 'amsterdamboothuren.com/MX/IN' denied
    Dec 23 14:30:01 louis CRON[619]: (www-data) CMD (php /usr/share/cacti/site/poller.php >/dev/null 2>/var/log/cacti/poller-error.log)
    Dec 22 18:28:06 louis rsyslogd: [origin software="rsyslogd" swVersion="4.2.0" x-pid="2253" x-info="http://www.rsyslog.com"] rsyslogd was HUPed, type 'lightweight'.

    关于 filter,我们可以看到filter中有 grok,这是 用于 把非结构化但有规则的数据处理成 结构化内容, 上面的意思是 message 的内容会被解析成相应的字段.
    如果 不符合相应的格式,也不会抛错,只是会不去filter处理.

    例子,输入json输出到按日志分的 es中,

    input {
      tcp {
        port => 8002
        type => syslog
      }
      udp {
        port => 8002
        type => syslog
      }
    }
    
    filter {
        json{source=> "message"}
    }
    
    output {
      elasticsearch {
        document_type => "cod"
        hosts => ["10.88.88.88:9200"]
        index => "logstach_json"
      }
    }
    

    在telnet 中输入

    {"name":"ddddd","age":121}

    es中的结果:

          {
            "_index": "logstach_json",
            "_type": "cod",
            "_id": "AWV6Ja_ARuskeT_Rckb6",
            "_score": 1,
            "_source": {
              "@timestamp": "2018-08-27T06:50:14.809Z",
              "port": 32925,
              "@version": "1",
              "host": "127.0.0.1",
              "name": "ddddd",
              "message": """{"name":"ddddd","age":121}
    """,
              "type": "syslog",
              "age": 121
            }
          },

    关于 es中的type 是怎么定的? 如果 我们不定义 document_type,数据也是能扔到es的,不过其type会变成数据中的type,如上面的例子中,type是syslog
    设定一个json例子,里面有日期,根据日期不同放到不同的表中

    说明

    使用上,我们会更关注logstash 中的 各种 plugins, 在input,output,filter,在官网可以找到非常丰富的资料

    参考:

    https://www.imooc.com/video/16134
    https://www.elastic.co/guide/en/logstash/5.6/index.html

    展开全文
  • springboot整合elasticsearch2.0-干货满满实战篇一 准备1 环境搭建2 在elastchsearch创建索引3 es创建索引二 代码1 elasticsearch...目的: 使用es实现大批量数据的中文搜索,使用logstach进行大批量数据同步到es。 J
  • logstach启动成功,但是同步mysql数据出错 今天同步索引库时一直连不上mysql,找了半天问题,最后定位是引用的mysql的jar包版本有问题 Unable to connect to database. Tried 1 times {:error_message=>"Java::...
  • ELK 和 Logstach

    2019-04-28 18:03:00
    elasticSearch +logstach 正则日志匹配 如果日志格式如下: [ERROR] 2019-04-28 16:15:21,051(10) --> [main] com.netease.crawler.util.TestLogger.main(TestLogger.java:25): ========...
  • Logstach安装与运行(mac版)

    千次阅读 2019-09-02 19:40:39
    1. 首先进入elastic官网... 2. 将logstash压缩包解压缩;...3. 并在解压后的logstash/bin目录下传入以下两文件logstash.conf以及movies.csv(在我的资源里有这两文件) ...4. 在logstash/bin 目录下执行命令:sudo ./...
  • logstach启动成功,但是同步mysql数据出错

    万次阅读 热门讨论 2018-12-26 14:00:26
    小编遇到这个问题开始时候也是困惑了很两天,最后无意中想的可能是java驱动的问题。 错误原因:Unable to connect to database. Tried 1 times {:error_message=>“Java::JavaSql::SQLException: The server ...
  • 1.下载最新版的logstash安装包 wget ... 2.解压logstash tar -xzvf logstash-7.4.0.tar.gz 3.进入到 logstash目录下安装插件logstash-input-jdbc ...到此已经完成了安...
  • 为什么选择filebeat,而不是logstach logstash 和filebeat 是什么关系 比较 logstash 和filebeat 是什么关系 要知道logstash 和filebeat,首先需要了解Elastic Beats,Elastic Stack传统上由三个主要组件ELKB...
  • Logstach配置文件详解

    2017-11-16 16:34:00
    配置文件的基本格式,输入部分,过滤器部分和输出部分。 1 2 3 4 5 6 7 8 9 10 11 #Thisisacomment.Youshouldusecommentstodescribe #partsofyourconfiguration. input{ ... } filter{ .......
  • 部署LogStach+kibana

    2021-08-09 22:08:19
    LogStach介绍:数据收集引擎 Logstash 是一个开源的数据收集引擎,可以水平伸缩,而且 logstash 整个 ELK 当中拥有最多插件的一个组件,其可以接收来自不同来源的数据并统一输出到指定的且可以是多个不同目的地。 ...
  • 下载链接 https://mirrors.huaweicloud.com/elasticsearch
  • Keepalive+logstach+kibana

    2020-11-24 16:39:20
    Nginx+apache+logstach+kibanaNginx安装安装keepalive安装logstach安装elasticsearch安装kibana 拓扑图如下,前2台代理服务器上部署nginx实现Apache负载均衡,部署keepalived服务,实现双机热备,提供VIP地址20.0.0....
  • 好程序员大数据学习路线之Logstach与flume对比,没有集群的概念,logstach与flume都称为组 logstash是用JRuby语言开发的 组件的对比:  logstach : input filter output  flume : source channel sink 优劣...
  • 所以filebeat只收集日志,处理日志的任务交给logstachlogstach支持整个配置文件的动态reload Filebeat安装以及使用 Filebeat是一个轻量化的日志收集工具,对标Logstach,filebeat只有30M,而logstach有300M 调试...
  • docker-部署logstach

    2020-10-04 20:16:23
    logstach是一个采集日志的框架,本文介绍如何在docker上部署logstash系统。更多信息请参考官方文档。 管道配置 必须将管道配置放在Logstash可以找到的位置。默认情况下,容器将在/usr/share/logstash/pipeline/中...
  • logstach安装笔记

    2019-03-28 17:29:03
    首先下载logstash,上传到服务器 logstash是用JRuby语言开发的,所以要安装JDK 解压: tar -zxvf logstash-2.3.1.tar.gz -C /bigdata/ 启动: bin/logstash -e 'input { stdin {} ...
  • Logstach入门

    2019-06-23 21:59:09
    一、下载安装 下载地址:https://www.elastic.co/cn/downloads/past-releases#logstash。下载完成后直接解压即可。 二、Hello World 1、创建配置文件 logstash.conf: ...input { stdin { } } ... ["localhost:92...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,418
精华内容 567
关键字:

logstach