根据几个博客学习,记录下在windows的情况下,各种实例实现。
文件名 weblog.conf (随便起名字)
存放地址:E:\0320work\logstash-5.6.8\bin
input {
tcp {
host => "localhost"
mode => "server"
port => 9900
}
file {
path => "E:\0320work\elasticsearch-5.6.8\logs\my-application.log"
codec => "json"
type => "elasticsearch"
start_position => "beginning"
}
}
filter {
grok {
match => { "message" => "%{COMBINEDAPACHELOG}" }
}
# 请求头
mutate {
convert => {
"bytes" => "integer"
}
}
# ip 地理位置
geoip {
source => "clientip"
}
# 浏览器请求信息
useragent {
source => "agent"
target => "useragent"
}
}
output {
# Ruby技术格式
stdout{
codec => rubydebug
}
# ES 持久化
elasticsearch {
hosts => ["localhost:9200"]
index => "es-%{+YYYY.MM.dd}"
}
}
而后启动服务,启动命令,使用加载配置的方式
-f 静默启动 -r 热部署 ,修改配置文件重启
PS E:\0320work\logstash-5.6.8\bin> ./logstash -f weblog.conf
下载TCP发送数据包软件,进行测试
https://www.hw-group.com/software/hercules-setup-utility
14.49.42.25 - - [12/May/2019:01:24:44 +0000] "GET /articles/ppp-over-ssh/ HTTP/1.1" 200 18586 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2b1) Gecko/20091014 Firefox/3.6b1 GTB5"
连接tcp .host :9900,点击connect按钮,
会显示
Connecting to localhost ...
Connected to localhost
表示连接成功!
然后在send框里发送数据
点击send
最后在send data 框里回车。
在cmd启动的logstash就能收到消息。
如果没反应,可以在cmd里回车一下,结果就能返回。
然后,我们前往kibana查询
在kibana查询前,我们可以去elasticsearch-head 里面查看索引值。
最后在kibana查询
GET logstash-2021.05.06/_search
里面的索引值和我们发送的数据包是一样的,只是因为有了weblog.conf的配置,一些其他数据也发送到这里。
到此,结束。