logstash作为一个数据输入端。提供http服务,接收客户端的http请求,获取发送的内容。

在config目录下新建文件:

vim config/http-input.yml

input {
http {
codec => "json"
ssl => false
port => 8989
}
} filter {
json {
source => "message"
}
} output {
stdout { codec => json }
}

启动:

bin/logstash -f ./config/http-input.yml

启动后输出:

[root@ss1 logstash-6.5.4]# bin/logstash -f ./config/http-input.yml
Sending Logstash logs to /root/logstash/logstash-6.5.4/logs which is now configured via log4j2.properties
[2019-04-04T08:52:23,884][WARN ][logstash.config.source.multilocal] Ignoring the 'pipelines.yml' file because modules or command line options are specified
[2019-04-04T08:52:23,925][INFO ][logstash.runner ] Starting Logstash {"logstash.version"=>"6.5.4"}
[2019-04-04T08:52:30,433][INFO ][logstash.pipeline ] Starting pipeline {:pipeline_id=>"main", "pipeline.workers"=>2, "pipeline.batch.size"=>125, "pipeline.batch.delay"=>50}
[2019-04-04T08:52:31,118][INFO ][logstash.pipeline ] Pipeline started successfully {:pipeline_id=>"main", :thread=>"#<Thread:0x102cff5e run>"}
[2019-04-04T08:52:31,184][INFO ][logstash.inputs.http ] Starting http input listener {:address=>"0.0.0.0:8989", :ssl=>"false"}
[2019-04-04T08:52:31,291][INFO ][logstash.agent ] Pipelines running {:count=>1, :running_pipelines=>[:main], :non_running_pipelines=>[]}
[2019-04-04T08:52:31,930][INFO ][logstash.agent ] Successfully started Logstash API endpoint {:port=>9601}
{"headers":{"request_path":"/","connection":"keep-alive","content_length":"247","request_method":"POST","cache_control":"no-cache","http_version":"HTTP/1.1","postman_token":"7e8dc2ea-f569-42a2-84f4-c53506777c61","content_type":"text/plain","accept_encoding":"gzip, deflate","http_host":"111.111.111.111:8989","http_user_agent":"PostmanRuntime/6.2.5","http_accept":"*/*"},"host":"111.111.111.111","LogType":"maha1","language_type":"heartbeat","LogId":"","ErrorCode":"2","@version":"1","responseLogTime":"2019-04-04 09:40:47.797","srcfile":"c:\\Program.cs","LogMessage":".Net Test","Input":"","Level":"Info","@timestamp":"2019-04-04T08:57:18.780Z"}

另外,logstash有个http poller input,是自己主动去http端点采集数据,如果采集spring boot的jmx服务器监控数据。

参考:

https://www.elastic.co/guide/en/logstash/current/plugins-inputs-http.html

Http input plugin的更多相关文章

  1. jQuery Tags Input Plugin 插件的使用

    一个jquery开发的标签功能加强插件,可以生成或删除标签,还能对输入重复标签进行检查,和JQuery autocomplete插件配合实现自动完成功能. 官网:http://xoxco.com/pr ...

  2. Logstash:input plugin 介绍

  3. Collecting metrics with the PostgreSQL and TimescaleDB output plugin for Telegraf

    转自:https://docs.timescale.com/v1.3/tutorials/telegraf-output-plugin 文章演示了如何使用pg output 插件 以及Telegraf ...

  4. logstash日志分析的配置和使用

    logstash是一个数据分析软件,主要目的是分析log日志.整一套软件可以当作一个MVC模型,logstash是controller层,Elasticsearch是一个model层,kibana是v ...

  5. A session of Log Collect, Retrieval and Analysis using ELK Stack

    Motivation 运维过程中对问题的定位往往需要跟踪和定位日志.分布式和弹性计算的引入,使得日志的定位和分析变得越发复杂. 本次实践主要的目的是考察现有成熟的日志收集.检索和分析方案:Kafka+ ...

  6. 移动端-js触摸事件

    开发者工具 在移动开发中,一种较为容易的做法是,先在桌面上开始原型设计,然后再在打算要支持的设备上处理移动特有的部分.多点触摸正是难以在PC上进行测试的那些功能之一,因为大部分的PC都没有触摸输入. ...

  7. logstash 1.5.3 配置使用redis做续传

    logstash是ELK中的一员大将, redis插件也是<The Logstash Book>中介绍的一个很好用的玩意儿. 之前,用比较小的集群部署的时候,没有介入redis中间件,所以 ...

  8. 移动互联网终端的touch事件,touchstart, touchend, touchmove

    如果我们允许用户在页面上用类似桌面浏览器鼠标手势的方式来控制WEB APP,这个页面上肯定是有很多可点击区域的,如果用户触摸到了那些可点击区域怎么办呢??诸如智能手机和平板电脑一类的移动设备通常会有一 ...

  9. logstash

    logstash作为数据搜集器,主要分为三个部分:input->filter->output  作为pipeline的形式进行处理,支持复杂的操作,如发邮件等 input配置数据的输入和简 ...

随机推荐

  1. maven的安装和环境配置

    一.下载maven Apache Maven下载地址:http://maven.apache.org/download.cgi 二.maven的安装 将下载好的安装文件解压到d盘根目录下即可(当然,这 ...

  2. C++系列总结——继承

    前言 前面讲了封装,但封装只是隐藏了类内部实现.如果使用多态隐藏类本身的话,只有封装是不够的,还需要继承. 继承 通过封装.我们把一些相关的函数和变量包裹在了一起,这些函数和变量就叫做类的成员函数和成 ...

  3. footer固定在页面底部的实现方法总结

    方法一:footer高度固定+绝对定位 HTML代码: <body> <header>头部</header> <main>中间内容</main&g ...

  4. 【设计模式】抽象工厂模式 Abstract Factory Pattern

    简单工厂模式是一个工厂类根据工厂方法的参数创建不出不同的产品, 工厂方法模式是每一个产品都有一个一一对应的工厂负责创建该产品.那么今天要讲的抽象工厂模式是一个工厂能够产生关联的一系列产品.抽象工厂模式 ...

  5. nginx笔记----解决windows80端口被iis占用

    打开注册表:regedit HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP 数值数据修改成0或者其他 然后重启

  6. selenium-自动化用例(十一)

    思路 将页面操作与用例case分别封装,编写case时就可以用同一个操作方法对应多个case 如下图: PageGUI:存放页面操作方法,每个页面写一个文件,每个文件中写同一个页面不同的操作,例如检索 ...

  7. Linux SVN安装

    step1:检查是否已经安装Svn Server. svnserve --version step2:执行安装 step3:创建代码仓库 进入对应目录: 说明: conf:配置文件 db:数据存储文件 ...

  8. Swift中的for循环基本使用

    OC中的for循环写法: ;i < ;i++) { NSLog(@"i=%zd",i); } Swift中的for循环写法: let a = ; ..< a { pri ...

  9. 当锚点遇到fixed

    问题:页面内容导航fixed+锚点错位 solution: 锚点定位跟外边距没有关系. 我们使用内边距padding-top=fixed导航高度来使锚点可以精准定位: 此时新的问题产生了,内边距的存在 ...

  10. 编辑器之神-vim的使用

    vim即vi的升级版:在linux中,vi是vim的软链接,我们敲vi和vim出来的都是vim: 纯手打,如有错误,敬请指出. vi的三种模式及简单使用 vi三种模式 命令模式(默认):是文件的入口, ...