logstash中output{}的另类写法
日志传输路径如下:
filebeat->redis->logstash->es
在filebeat配置文件中,收集日志的时候配置的有如下参数:
fields:
log_source: messages
表示的是会把log_source作为fields的二级字段
若是配置如下,表示的是会把log_source作为顶级字段:
fields:
log_source: messages
fields_under_root: true
使用这个字段来作为区分不同应用日志的来源;
在logstash中从redis读取后,output给es的时候,根据上述不同的字段来创建不同的应用日志索引。
常见的写法是多使用if条件进行区分,如下所示:
if [fields][log_source] == 'test_custom' {
elasticsearch {
hosts => ["http://172.17.107.187:9203", "http://172.17.107.187:9201","http://172.17.107.187:9202"]
index => "filebeat_test_custom-%{+YYYY.MM.dd}"
user => "elastic"
password => "escluter123456"
}
}
if [fields][log_source] == "test_user" {
elasticsearch {
hosts => ["http://172.17.107.187:9203","http://172.17.107.187:9201","http://172.17.107.187:9202"]
index => "filebeat_test_user-%{+YYYY.MM.dd}"
user => "elastic"
password => "escluter123456"
}
}
这样写也能使用,但是考虑到假设这个区分字段比较多的话,那这得写多少个if条件呀,所以可以使用如下的用法:
在创建索引的时候使用上这个区分用的字段,具体如下:
elasticsearch {
hosts => ["http://172.17.107.187:9203","http://172.17.107.187:9201","http://172.17.107.187:9202"]
index => "filebeat_%{[fields][log_source]}-%{+YYYY.MM.dd}"
user => "elastic"
password => "escluter123456"
}
说明:%{[fields][log_source]}
表示的是获取区分字段的值
若是顶级字段则是这样的用法:%{[log_source]}
logstash中output{}的另类写法的更多相关文章
- logstash的output配置中指定elasticsearch的template
转自:https://blog.csdn.net/felix_yujing/article/details/78930389 之前采用的是通过filebeat收集nginx的日志,直接到elastic ...
- logstash中的redis插件
redis作为logstash中的官方broker,既有input插件,还有output插件. redis input插件 data_type属性: 有三种类型, list -> BLPOP - ...
- Logstash中如何处理到ElasticSearch的数据映射
Logstash作为一个数据处理管道,提供了丰富的插件,能够从不同数据源获取用户数据,进行处理后发送给各种各样的后台.这中间,最关键的就是要对数据的类型就行定义或映射. 本文讨论的 ELK 版本为 5 ...
- logstash的output插件
logstash 的output插件 nginx,logstash和redis在同一台机子上 yum -y install redis,vim /etc/redis.conf 设置bind 0.0.0 ...
- .net EasyTree显示所级层级(无限级、整层级颗树)的另类写法。非递归
获取整颗树的另类写法.非递归 //获取所有的菜单 List<T_Menu> menu = bll.getMenuByUsesrID("8189a7c1-6f15-4744-b6c ...
- ORACLE 查询一个数据表后通过遍历再插入另一个表中的两种写法
ORACLE 查询一个数据表后通过遍历再插入另一个表中的两种写法 语法 第一种: 通过使用Oracle语句块 --指定文档所有部门都能查看 declare cursor TABLE_DEPT and ...
- web工程中URL地址的写法
在开发中我们不可避免的要碰到许多需要写URL地址的情况,这常常让我们感到头疼.下面笔者推荐一种简单的做法.URL地址分为绝对路径和相对路径两种.相对路径又分为相对资源路径和相对根路径.显然绝对路径在开 ...
- jQuery 1.4.4 中 function( window, undefined ) 写法原因
读 jQuery 1.4.4 版本代码的时候,发现下面的写法: (function( window, undefined ) { ... // code goes here })(window); w ...
- logstash 中的贪婪匹配
logstash 中的贪婪匹配: 10.252.142.174 - - [06/Sep/2016:08:41:36 +0800] "GET /api/validate/code/send?m ...
随机推荐
- springboot中实现权限认证的两个框架
web开发安全框架 提供认证和授权功能! 一.SpringSecurity 1.导入依赖 <dependency> <groupId>org.springframework.b ...
- 牛客SQL刷题第三趴——SQL大厂面试真题
01 某音短视频 SQL156 各个视频的平均完播率 [描述]用户-视频互动表tb_user_video_log.(uid-用户ID, video_id-视频ID, start_time-开始观看时间 ...
- 如何用车辆违章查询API接口进行快速开发
最近公司项目有一个车辆违章查询显示的小功能,想着如果用现成的API就可以大大提高开发效率,所以在网上的API商店搜索了一番,发现了 APISpace,它里面的车辆违章查询API非常符合我的开发需求. ...
- web 前端 基础HTML知识点
web系统架构体系 B/S(Browser/Server):浏览器实现 优点: 规范.使用方便.本身实现成本低 容易升级.便于维护 缺点: 没有网络,无法使用 保存数据量有限,和服务器交互频率高.耗费 ...
- 讲透JAVA Stream的collect用法与原理,远比你想象的更强大
大家好,又见面了. 在我前面的文章<吃透JAVA的Stream流操作,多年实践总结>中呢,对Stream的整体情况进行了细致全面的讲解,也大概介绍了下结果收集器Collectors的常见用 ...
- 建立二叉树的二叉链表(严6.65)--------西工大noj
需要注意的点:在创建二叉树的函数中,如果len1==len2==0,一定要把(*T)置为NULL然后退出循环 #include <stdio.h> #include <stdlib. ...
- LitJson报错记录
1.float转double报错 报错类型: Max allowed object depth reached while trying to export from type System.Coll ...
- 求教:Knife4jAggregationDesktop访问报错HTTP ERROR 404
(1)Windows Server 2019下面,java版本:c:\Users\WinUser01\.jdks\corretto-1.8.0_292\bin\java.exe(2)Knife4jAg ...
- Java-文件File简单实用
1.1java.io.File File用于表示文件系统中的一个文件或目录 通过File可以: 1:访问该文件或目录的属性信息(名字,大小,修改时间等) file.getName();获取文件名 fi ...
- 【Java】学习路径55-练习:制作一个聊天室(多线程、UDP、双向传输数据)
创建四个类,实现双向聊天的功能. 接收线程: import java.io.IOException; import java.net.*; public class ReceiveThread imp ...