logstash 6.6.0 读取nginx日志 插入到elasticsearch中
logstash.conf
input {
# For detail config for log4j as input,
# See: https://www.elastic.co/guide/en/logstash/
file {
type => "log" # log 名
path => "/home/wwwlogs/a.log" # log 路径
}
}
filter {
grok {
match => {
"message" => "^%{IPORHOST:clientip} (?:-|%{USER:ident}) (?:-|%{USER:auth}) \[%{HTTPDATE:[@metadata]timestamp}\] %{NOTSPACE:method} %{NOTSPACE:url}"
}
remove_field => ["message"]
}
mutate {
split => ["url", "?"]
add_field => ["url_params", "%{url[1]}"]
remove_field => ["url"]
}
mutate {
split => ["url_params","&"]
add_field => ["cdid_info", "%{url_params[0]}"]
add_field => ["elapsedTime_info", "%{url_params[1]}"]
add_field => ["os_info", "%{url_params[2]}"]
add_field => ["time_info", "%{url_params[3]}"]
add_field => ["uid_info", "%{url_params[4]}"]
add_field => ["wt_info", "%{url_params[5]}"]
remove_field => ["url_params"]
}
mutate {
split => ["cdid_info", "="]
add_field => ["cdid", "%{cdid_info[1]}"]
remove_field => ["cdid_info"]
}
mutate {
split => ["elapsedTime_info", "="]
add_field => ["elapsedTime", "%{elapsedTime_info[1]}"]
remove_field => ["elapsedTime_info"]
}
mutate {
split => ["os_info", "="]
add_field => ["os", "%{os_info[1]}"]
remove_field => ["os_info"]
}
mutate {
split => ["time_info", "="]
add_field => ["time", "%{time_info[1]}"]
remove_field => ["time_info"]
}
mutate {
split => ["uid_info", "="]
add_field => ["uid", "%{uid_info[1]}"]
remove_field => ["uid_info"]
}
mutate {
split => ["wt_info", "="]
add_field => ["wt", "%{wt_info[1]}"]
remove_field => ["wt_info"]
}
}
output {
# For detail config for elasticsearch as output,
# See: https://www.elastic.co/guide/en/logstash/current
elasticsearch {
hosts => "39.100.100.100:9200" #ElasticSearch host, can be array. # elasticseach 的 host
index => "index_log" #The index to write data to.
}
# 该命令是将结果输出到控制台
#stdout { codec => rubydebug }
}
cd 到 conf 文件目录下
检查配置是否正确
../bin/logstash -f ./logstash.conf -t
有上面提示说明配置没有问题
启动
../bin/logstash -f ./logstash.conf
————————————————
版权声明:本文为CSDN博主「可爱的狼」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/adorablewolf/article/details/90210969
logstash 6.6.0 读取nginx日志 插入到elasticsearch中的更多相关文章
- logstash收集的日志输出到elasticsearch中
logstash收集的日志输出到elasticsearch中 一.需求 二.实现步骤 1.编写pipeline文件 1.`elasticsearch`配置参数解析: 2.可能会报的一个异常 2.准备测 ...
- 使用 Elastic Agents 把定制的日志摄入到 Elasticsearch 中
转载自:https://mp.weixin.qq.com/s/QQxwYh1uLCkKn1LK72ojJA 在以前的系统中,我们可以使用如下的几种方式来采集日志: 1.我们可以直接使用 Beats 把 ...
- Logstash使用grok插件解析Nginx日志
grok表达式的打印复制格式的完整语法是下面这样的: %{PATTERN_NAME:capture_name:data_type}data_type 目前只支持两个值:int 和 float. 在线g ...
- 关于使用Log4Net将日志插入oracle数据库中
1.关于配置文件. <?xml version="1.0" encoding="utf-8" ?> <configuration> &l ...
- 在nginx日志的access log中记录post请求的参数值
背景:有时程序偶出现参数少了或没有提交到下一个链接Url里后出现问题,如何查呢,最好的办法是在nginx上的加post参数,以定位到问题才有可能对某个UIR的代码出现的问题进行排查. og_forma ...
- logstash通过kafka传输nginx日志(三)
单个进程 logstash 可以实现对数据的读取.解析和输出处理.但是在生产环境中,从每台应用服务器运行 logstash 进程并将数据直接发送到 Elasticsearch 里,显然不是第一选择:第 ...
- elasticsearch+logstash+redis+kibana 实时分析nginx日志
1. 部署环境 2. 架构拓扑 3. nginx安装 安装在192.168.176.128服务器上 这里安装就简单粗暴了直接yum安装nginx [root@manager ~]# yum -y in ...
- Logstash使用grok过滤nginx日志(二)
在生产环境中,nginx日志格式往往使用的是自定义的格式,我们需要把logstash中的message结构化后再存储,方便kibana的搜索和统计,因此需要对message进行解析. 本文采用grok ...
- 第七章·Logstash深入-收集NGINX日志
1.NGINX安装配置 源码安装nginx 因为资源问题,我们先将nginx安装在Logstash所在机器 #安装nginx依赖包 [root@elkstack03 ~]# yum install - ...
随机推荐
- mysql 索引基本概念
1. 什么是索引? 索引是一种数据结构,可以帮助我们快速的进行数据的查找. 2. 索引是个什么样的数据结构呢? 索引的数据结构和具体存储引擎的实现有关, 在MySQL中使用较多的索引有Hash索引,B ...
- Linux使用logrotate定时分割日志
1.分割nginx日志vim /etc/logrotate.d/nginx/var/log/nginx/*log { create 0644 nginx nginx rotate 10 missing ...
- Makefile(二)
VERSION = SOURCE = $(wildcard ./*.cpp) OBJ = $(patsubst %.cpp,%.o,$(SOURCE)) INCLUDE = -I /usr/inclu ...
- 贪心算法训练(九)——Best Cow Line(字典序最小问题)
原题链接:Best Cow Line 1. 问题描述 2. 输入 6 A C D B C B 3. 输出 ABCBCD 4.思路分析 不断地取原字符串 S 中开头和末尾比较小的字符串放到 T 的末尾 ...
- php 压缩文件
<?php $zip = new ZipArchive; $myfile = fopen("test.zip", "w"); chmod(); if ($ ...
- [WEB安全]PHP伪协议总结
0x01 简介 首先来看一下有哪些文件包含函数: include.require.include_once.require_once.highlight_file show_source .readf ...
- ES6中的class类的理解
传统的javascript中只有对象,没有类的概念.它是基于原型的面向对象语言.原型对象特点就是将自身的属性共享给新对象.这样的写法相对于其它传统面向对象语言来讲,很有一种独树一帜的感脚!非常容易让人 ...
- postman上传excel,java后台读取excel生成到指定位置进行备份,并且把excel中的数据添加到数据库
最近要做个前端网页上传excel,数据直接添加到数据库的功能..在此写个读取excel的demo. 首先新建springboot的web项目 导包,读取excel可以用poi也可以用jxl,这里本文用 ...
- 2018-2019-2 20165212《网络对抗技术》Exp9 Web安全基础
2018-2019-2 20165212<网络对抗技术>Exp9 Web安全基础 基础问题回答 1.SQL注入攻击原理,如何防御? 原理:SQL注入,就是通过把SQL命令插入到Web表单递 ...
- mysql 替换函数replace()实现mysql替换指定字段中的字符串
mysql 替换字符串的实现方法: mysql中replace函数直接替换mysql数据库中某字段中的特定字符串,不再需要自己写函数去替换,用起来非常的方便. mysql 替换函数replace() ...