logstash配置
input {
#You must define a [type], otherwise you cannot get a field to cut.
tcp {
port => 5045
type => "iis_mail_log"
codec => "json"
#start_position => "beginning"
}
#Configure syslog type,Collect Fortigate Firewall log
syslog {
port => 514
type => "syslog_net"
}
#Configure syslog type,the same to up.
#tcp {
# port => 5140
# type => syslog
#}
#udp {
# port => 5140
# type => "syslog"
#}
}
filter {
if [type] in ["iis_mail_log","iis_oa_log"]{
geoip {
source => "c-ip"
target => "geoip"
database => "/data/app/logstash-6.2.2/data/GeoLite2-City.mmdb"
fields => ["city_name","region_name","country_name"]
}
}
#Filter ldap log
if [type] == "sec_ldap_log" {
json {
source => "message"
}
if [SourceModuleName] == "seclogas" {
mutate {
replace => [ "message", "%{Message}" ]
}
mutate {
remove_field => [ "Message" ]
}
}
}
# Remove IPv6 prefix from IPAddress if not used
if [IpAddress] =~ "ffff" {
grok {
match => ["IpAddress", "^.*?\::ffff:%{GREEDYDATA:IpAddress}$"]
overwrite => ["IpAddress"]
}
}
#Identify machine accounts
if [TargetUserName] =~ /\$/ {
mutate {
add_field => { "machine" => "true" }
}
} else {
mutate {
add_field => { "machine" => "false" }
}
}
# # Extract username from email
# if [TargetUserName] =~ /\@/ {
# grok {
# match => ["TargetUserName", "%{WORD:TargetUserName}"]
# overwrite => ["TargetUserName"]
# }
# }
# Filter Fortigate firewall log
if [type] == "syslog_net" {
grok {
match => ["message","<%{POSINT:syslog_index}>%{GREEDYDATA:message}"]
overwrite => ["message"]
}
kv {
source => "message"
field_split => ","
value_split => "="
trim_value => "\""
include_keys => ["date","time","subtype","srcip","srcport","srcintf","dstip","dstport","dstintf","action","trandisp","transip","service"]
#target => "kv"
}
mutate{
add_field => ["fg_time","%{date} %{time}"]
remove_field => ["date","time"]
# rename => ["type","fg_type"]
# rename => ["subtype","fg_subtype"]
# add_field => ["type" => "syslog_net"]
#convert => ["rcvdbyte" => "interger"]
#convert => ["sentbyte" => "integer"]
}
#date {
# match => ["temp_time","yyyy-MM-dd HH:mm:ss"]
# # timezone => "UTC"
# target => "@timestamp"
#}
}
}
output {
if [type] == "iis_mail_log" {
#Output to redis
redis {
host => ["2.2.2.2:6379"]
key => "logstash"
data_type => "channel"
codec => "json"
}
Output to elasticasearch
elasticsearch {
action => "index"
hosts => ["1.1.2.1:9200","1.1.2.2:9200"]
index => "iis_mail_%{+YYYY-MM}"
codec => "json"
}
}
if [type] == "iis_oa_log"{
elasticsearch {
action => "index"
hosts => ["1.1.2.1:9200","1.1.2.2:9200"]
#index => "logstash-oa-access0529-%{+YYYY-MM}"
index => "iis_oa_%{+YYYY-MM}"
codec => "json"
}
}
if [type] == "syslog_net"{
elasticsearch {
action => "index"
hosts => ["1.1.2.1:9200","1.1.2.2:9200"]
index => "net_fw_%{+YYYY-MM}"
codec => "json"
}
}
}
logstash配置的更多相关文章
- LogStash配置、使用(三)
LogStash配置 官方文档:https://www.elastic.co/guide/en/logstash/current/index.html 查看yum安装路径 rpm -ql logsta ...
- logstash 配置 logstash-forwarder (前名称:lumberjack)
logstash-forwarder(曾名lumberjack)是一个用go语言写的日志发送端, 主要是为一些机器性能不足,有性能强迫症的患者准备的. 主要功能: 通过配置的信任关系,把被监控机器的日 ...
- Logstash配置总结和实例
这里记录Logstash配置中注意的事项: 整个配置文件分为三部分:input,filter,output.参考这里的介绍 https://www.elastic.co/guide/en/logsta ...
- Filebeat与Logstash配置SSL加密通信
为了保证应用日志数据的传输安全,我们可以使用SSL相互身份验证来保护Filebeat和Logstash之间的连接. 这可以确保Filebeat仅将加密数据发送到受信任的Logstash服务器,并确保L ...
- Logstash配置以服务方式运行
Logstash官网最新版下载地址以及YUM源:https://www.elastic.co/cn/downloads/logstash Logstash最常见的运行方式即命令行运行 ./bin/lo ...
- Logstash配置安装
logstash配置 http.host: xpack.monitoring.enabled: true xpack.monitoring.elasticsearch.username:"l ...
- 五十八.Kibana使用 、 Logstash配置扩展插件
1.导入数据 批量导入数据并查看 1.1 导入数据 1) 使用POST方式批量导入数据,数据格式为json,url 编码使用data-binary导入含有index配置的json文件 ]# ...
- ELK日志管理之——logstash配置语法
Logstash 设计了自己的 DSL -- 有点像 Puppet 的 DSL,或许因为都是用 Ruby 语言写的吧 -- 包括有区域,注释,数据类型(布尔值,字符串,数值,数组,哈希),条件判断,字 ...
- [2017-07-18]logstash配置示例
提醒 /etc/logstash/conf.d/下虽然可以有多个conf文件,但是Logstash执行时,实际上只有一个pipeline,它会将/etc/logstash/conf.d/下的所有con ...
- logstash配置多入多出并互相隔离
需求:需要利用同一logstash进程采集不同日志,输出到es的不同index,各输入输出隔离: 主要需要解决如下两个问题: 1.如何加载多个配置文件? 普通启动方式:nohup bin/logsta ...
随机推荐
- Oracle数据库over函数的使用
转自: https://blog.csdn.net/a1065423444/article/details/75635611 over()函数写法over(partition by expr2 or ...
- excel 中批量生成mysql的脚本
一.假设你的表格有A.B.C三列数据,希望导入到你的数据库中表格table,对应的字段分别是col1.col2.col3 二.在你的表格中增加一列,利用excel的公式自动生成sql语句,具体方法如下 ...
- 【ASP.NET MVC系列】浅谈ASP.NET MVC 路由
ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...
- MyBatis源码解析(一)——执行流程
原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/6603926.html 一.MyBatis简介 MyBatis框架是一种轻量级的ORM框架, ...
- vue_drf之多级过滤、排序、分页
一.前端代码 1,父组件free_course.vue <template> <div id="free_course"> <el-container ...
- lua的table元类
Lua中提供的元表是用于帮助Lua数据变量完成某些非预定义功能的个性化行为,如两个table的相加.假设a和b都是table,通过元表可以定义如何计算表达式a+b.当Lua试图将两个table相加时, ...
- 使用LINQ生成Where的SQL语句
实例1-使用实例-单个语句: ; List<, , }; List<User_info> userInfoList = UserCenterBus.Select_WebSiteBas ...
- C# Task用法
1.Task的优势 ThreadPool相比Thread来说具备了很多优势,但是ThreadPool却又存在一些使用上的不方便.比如: ◆ ThreadPool不支持线程的取消.完成.失败通知等交互性 ...
- 数据库部分(MySql)_4
约束 约束:给表的字段名添加限制条件; 非空约束(not null):添加非空约束后,字段值不能为null: 唯一约束(unique):添加唯一约束后,字段值不能重复: 主键约束(primary ke ...
- Office 365平台及其价值主张
重要提示:<Office 365开发入门指南>视频教程还没有上架,目前会先公开几个小节的文字版本,让大家先睹为快,请大家转发给感兴趣的朋友,敬请留意课程的正式上架和优惠券发放通知. 从今天 ...