当前位置: 首页 > news >正文

2.1部署logstash:9600

实验环境:关闭防火墙,完成java环境

yum -y install wget

wget https://d6.injdk.cn/oraclejdk/8/jdk-8u341-linux-x64.rpm

yum localinstall jdk-8u341-linux-x64.rpm -y

java -version

1.安装logstash

tar xf logstash-6.4.1.tar.gz -C /usr/local

ln -s /usr/local/logstash-6.4.1 /usr/local/logstash

2.修改配置文件

cd /usr/local/logstash/config/

vim logstash.yml

http.host: "0.0.0.0"

3.编写规则文件

cd /usr/local/logstash/config/

cp logstash-sample.conf logstash-ipput-output.conf

vim logstash-ipput-output.conf

input {
   stdin {}
}
output {
   stdout {}
}

或者

input {
   stdin {}
}
output {
  elasticsearch {
    hosts => ["http://192.168.148.132:9200"]    #es的主机IP
    index => "test-logstash-%{+YYYY.MM.dd}"
  }
}

4.测试

ln -s /usr/local/logstash/bin/* /usr/local/bin/

logstash -f logstash-input-output.conf

hello

去192.168.148.132:9200的head插件里就可以看到:

5.filter简单实验:

cd /usr/local/logstash/config/

cp logstash-sample.conf logstash-test.conf

vim logstash-test.conf

logstash -f logstash-input-output.conf

192.168.10.11 - - [22/Oct/2019:22:49:53 -0400] "GET / HTTP/1.1" 200 5 "-" "curl/7.29.0"

input {
   stdin {}
}

filter {
  grok  {
    pattern_definitions => {
      "IP" => "([0-9]+\.){3}[0-9]+"
      "TIME" => ".*"
      "METHOD" => "[A-Z]+"
      "URL" => "/.*"
      "VERSION" => "\d.\d"
      "CODE" => "[1-5]\d\d"
      "SEND" => "[0-9]+"
      "REF" => ".*"
      "AGENT" => ".*"
    }
    match => {
      "message" => "%{IP:ip}.*\[%{TIME:time}\] \"%{METHOD:method} %{URL:url} HTTP/%{VERSION:version}\" %{CODE:code} %{SEND:send} \"%{REF:referer}\" \"%{AGENT:agent}\""
    }
    remove_field => ["message","@timestamp","@version"]           #不显示该选项内容
  }
}

output {
   stdout {}
}

6.filter引用文件:

vim /tmp/logstash_test.sh

IP  ([0-9]+\.){3}[0-9]+
TIME  .*
METHOD  [A-Z]+
URL  /.*
VERSION  \d.\d
CODE  [1-5]\d\d
SEND  [0-9]+
REF  .*
AGENT  .*
TEST  %{IP:ip}.*\[%{TIME:time}\] \"%{METHOD:method} %{URL:url} HTTP/%{VERSION:version}\" %{CODE:code} %{SEND:send} \"%{REF:referer}\" \"%{AGENT:agent}\"

使用patterns_dir参数指定文件

vim /usr/local/logstash/config/logstash-test.conf

input {
   stdin {}
}
filter {
  grok  {
    patterns_dir => ["/tmp/logstash_test.sh"]
    match => {
      "message" => "%{TEST}"
    }
    remove_field => ["message","@timestamp","@version"]
  }
}

output {
   stdout {}
}

相关文章:

  • JavaWeb-GenericServlet源码分析(适配器/模板方法)
  • ref和reactive的区别 Vue3
  • Java进阶(vue基础)
  • 对比 Vue 中的 defineAsyncComponent 和 React 中的 lazy
  • 虚中断理解
  • 面试基础----ReentrantLock vs Synchronized
  • idea创建第一个springboot程序
  • dart语言基本介绍及基本语法
  • 树莓派学习【2】开机自动启动程序的方法
  • Android 8.0 (API 26) 对广播机制做了哪些变化
  • MQTT实现智能家居------4、在Linux上运行MQTT
  • MySql常用指令
  • 请谈谈 React 中的状态管理,如何使用 Context API 和 Redux 进行状态管理?
  • 在 Windows 下的 Docker 中安装 R语言
  • 微服务即时通信系统---(六)语音识别子服务
  • Mac 上安装多版本的 JDK 且实现 自由切换
  • Zabbix问题记录2--踩坑HttpRequest,header添加无效
  • 4.static关键字和const关键字的作用【高频】
  • 算法思想-动态规划算法
  • Vue的项目创建以及项目目录与组合式API
  • 新手学做网站难吗/口碑营销策略有哪些
  • 建设工程消防监督管理规定网站/微商怎样让客源主动加你
  • 乌兰浩特建设网站/苏州旺道seo
  • 宿迁哪家做网站推广/百度排名优化咨询电话
  • dedecms网站安装/媒体发稿平台
  • 企业产品网站模板/什么是关键词举例说明