ELK学习笔记之logstash将配置写在多个文件
0x00 概述
我们用Logsatsh写配置文件的时候,如果读取的文件太多,匹配的正则过多,会使配置文件动辄成百上千行代码,可能会造成阅读和修改困难。这时候,我们可以将配置文件的输入、过滤、输出分别放在不同的配置文件里,甚至把输入、过滤、输出再次分离,放在不同的文件里。
这时候,后期再需要增删改查内容的时候,就容易维护了。
0x01 logstash如何读取多个配置文件
我们知道在启动logstash的时候,只要加上-f /you_path_to_config_file就可以加载配置文件了,如果我们需要加载多个配置文件,只需要-f /you_path_to_config_directory就可以了。简单说,就是在-f后面加上目录就可以。
注意:目录后面不能加 * 号,否则只会读取一个文件,但是在读取日志文件时,*可以匹配所有,比如sys.log*可以匹配所有以sys.log开头的日志文件,如sys.log1,sys.log2等。
示例如下:
//比如 /home/husen/config/目录下有
//in1.conf、in2.conf、filter1.conf、filter2.conf、out.conf这5个文件 //我们使用 /logstash-5.5.1/bin/logstash -f /home/husen/config启动logtstash
//logstash会自动加载这个5个配置文件,并合并成1个整体的配置文件
0x02 logstash多个配置文件里的input、filter、output是否相互独立
答案是:NO!
比如:
## in1.conf内容如下:
input{
file{
path=>[
"/home/husen/log/sys.log"
]
}
} ## in2.conf内容如下:
input{
file{
path=>[
"/home/husen/log/error.log"
]
}
} ## out1.conf如下
elasticsearch {
action => "index"
hosts => "localhost:9200"
index => "from_sys_log"
codec => "json"
} ## out2.conf如下
elasticsearch {
action => "index"
hosts => "localhost:9200"
index => "from_error_log"
codec => "json"
}
//这几个配置文件的目的是:
//想把in1.conf读进来的sys.log的索引建立为from_sys_log
//把in.conf读进来的error.log的索引建立为femo_error_log //logstash-5.5.1/bin/logstash -f /home/husen/config //启动之后,会发现in1.conf的日志被输出了两次,in2.conf读进来的日志也被输出了两次 //结论:logstash读取多个配置文件只是简单的将所有配置文件整合到了一起!
//如果要彼此独立,需要自己加字段,然后判断一下
//比如读取来不同不同服务器的同样格式的日志,那么filter是可以共用的
//但是输出的索引需要分别建立,以提高辨识度
0x03 logstash读取多个配置文件建议的配置方法
如果要在配置文件中,独立一些部分,又要共用一些部分,比如我上门提高同样的日志来自不同的服务器,需要用同样的filter,但是建立不同的索引的问题,该怎么办?
建议使用tags或者type这两个特殊字段,即在读取文件的时候,添加标识符在tags中或者定义type变量。
示例如下:
## in1.conf内容如下:
input{
file{
path=>[
"/home/husen/log/sys.log"
]
type => "from_sys"
#tags => ["from_sys"]
}
} ## in2.conf内容如下:
input{
file{
path=>[
"/home/husen/log/error.log"
]
type => "from_error"
#tags => ["from_sys"]
}
} ## out1.conf如下
if [type] == "from_sys"{
#if "from_sys" in [tags]
elasticsearch {
action => "index"
hosts => "localhost:9200"
index => "from_sys_log"
codec => "json"
}
} ## out2.conf如下
if [type] == "from_error"{
#if "from_error" in [tags]
elasticsearch {
action => "index"
hosts => "localhost:9200"
index => "from_error_log"
codec => "json"
}
} #特别地,如果要针对不同的类型日志用不同filter来grok解析,
#也可以通过类似的方法判断
ELK学习笔记之logstash将配置写在多个文件的更多相关文章
- ELK学习笔记之Logstash详解
0x00 Logstash概述 官方介绍:Logstash is an open source data collection engine with real-time pipelining cap ...
- ELK学习笔记之Logstash和Filebeat解析对java异常堆栈下多行日志配置支持
0x00 概述 logstash官方最新文档.假设有几十台服务器,每台服务器要监控系统日志syslog.tomcat日志.nginx日志.mysql日志等等,监控OOM.内存低下进程被kill.ngi ...
- ELK 学习笔记之 Logstash之output配置
Logstash之output配置: 输出到file 配置conf: input{ file{ path => "/usr/local/logstash-5.6.1/bin/spark ...
- ELK 学习笔记之 Logstash之inputs配置
Logstash之inputs配置: input plugin doc: https://www.elastic.co/guide/en/logstash/current/index.html 插件很 ...
- ELK学习笔记之logstash配置多入多出并互相隔离
0x00 概述 需求:需要利用同一logstash进程采集不同日志,输出到es的不同index,各输入输出隔离: 主要需要解决如下两个问题: 0x01 如何加载多个配置文件 普通启动方式: nohup ...
- ELK 学习笔记之 Logstash之filter配置
Logstash之filter: json filter: input{ stdin{ } } filter{ json{ source => "message" } } o ...
- ELK 学习笔记之 Logstash之codec配置
Logstash之codec: Logstash处理流程: input=>decode=>filter=>encode=>output 分类: Plain编码: input{ ...
- ELK 学习笔记之 Logstash安装
Logstash安装: https://www.elastic.co/downloads/logstash 下载解压: tar –zxvf logstash-5.6.1.tar.gz 在/usr/lo ...
- ELK学习笔记之Kibana安装配置
Kibana 是一个开源的分析和可视化平台,是ELK的重要部分.Kibana提供搜索.查看和与存储在 Elasticsearch 索引中的数据进行交互的功能.开发者或运维人员可以轻松地执行高级数据分析 ...
随机推荐
- Watcher监听
可以设置观察的操作:exists,getChildren,getData 可以触发观察的操作:create,delete,setData zookeeper观察机制; 服务端只存储事件的信息,客户 ...
- js 数组元素位置互换
如下实现的是,先将数组反转,然后将第二个元素与倒数第三个元素位置互换 ,,,,,,,); arr.reverse(); two=arr.splice(,,); three=arr.splice(-,, ...
- jQuery实现列表框双向选择操作
对列表框的操作经常碰到过这样的应用:从左侧的列表框中选中要选的项添加到右侧列表框中,然后提交最终选择的项,对误操作而选中的项还可以执行移除操作.在很多系统中应用比如说求职网站的选择意向工作地区,QQ好 ...
- 权重轮询调度算法(WeightedRound-RobinScheduling)
权重轮询调度算法(WeightedRound-RobinScheduling)-Java实现 ----参考Nginx中负载均衡算法实现 这里主要参考这篇文章的实现: Nginx 负载均衡-加权轮询策略 ...
- 使用 ArcGIS Desktop 切瓦片
目录 1.生成切片缓存切片方案 2.切瓦片 1.生成切片缓存切片方案 ArcGIS有默认的切片方案,如果需要自定义切片规则,需要先生成一个切片方案. 打开ArcMap,打开 工具箱(Tools Box ...
- CRT 上传下载文件
yum install -y lrzsz 上传 rz -be 下载 sz 文件名
- FreeSWITCH视频直播
大家都知道,如今,视频直播比较火啊. 今天,在FreeSWITCH精英群里分享了FreeSWITCH做视频直播相关的技术. 首先,要做直播就得有好机器.笔者买了一台阿里云的主机,买的是按量付费的,4核 ...
- ASP.NET Core中的运行状况检查
由卢克·莱瑟姆和格伦Condron ASP.NET Core提供了运行状况检查中间件和库,用于报告应用程序基础结构组件的运行状况. 运行状况检查由应用程序公开为HTTP终结点.可以为各种实时监视方案配 ...
- [转]C/C++实现回调机制的几种方式(回调、槽、代理)
转自:https://www.jianshu.com/p/4f907bba6d5f (1)Callback方式(回调) Callback的本质是设置一个函数指针进去,然后在需要需要触发某个事件时调用该 ...
- vmware新加磁盘fdisk看不到的处理
虚拟机硬盘空间不够了,做了lvm准备加块硬盘扩容,在vcenter控制台加了磁盘,结果操作系统里面fdisk -l看不到新加的硬盘,又不想重启怎么办,一条命令就可以搞定. # 注意中间有空格echo ...