ELK:Logstash 字段名称大小写切换

一、背景

系统中需要按天和系统计算索引,但是日志中系统的名称大小写不一致,需求将大小写改为一致,记录下logstash字段如何进行大小写变换

二、实现

我们知道logstash提供了ruby的操作,Event API

logstash event api 说明

官网中的描述如下:
在这里插入图片描述
Ruby Filter插件可以执行任何ruby代码并且处理事件数据

filter {
  ruby {
    code => 'event.set("lowercase_field", event.get("message").downcase)'
  }
}

过滤器会把 message 值变为小写并且赋值给新字段 lowercase_field

我们获取的新索引名称可以设置为

 index => "myindex-%{+YYYY.MM.dd}-%{lowercase_field}"

当然大小写转换还可以使用filter的uppercase、lowercase

filter {
	mutate {
		uppercase => ["fieldname"]
	}
}

三、扩展

我们已经知道了配置方式,那么我们看一下 event set/get方法

1.Set

(1)方法

event.set(field, value)

(2)描述

该方法是可以修改字段的值并赋予新字段,我们上面看到的修改大小写即采用了get/set的方式。

2.Get

(1)方法

event.get(field)

(2)描述

此字段的值;如果该字段不存在,则为nil。 返回的值可以是字符串,数字或时间戳值。
field是发送到Logstash或在转换过程之后创建的结构化字段。 field也可以是嵌套的字段引用,例如

event.get("[foo][bar]") 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值