Logstash 算术运算操作
需求:input为json,output为ES,需使用filter提取json中的某个字段,并执行加法、加法、乘法等算法操作
思路:mutate过滤器+ruby过滤器实现
避坑:根据ES及Logstash版本 参考官网API
配置:
input
{"timestamp": 1538545228,"rect_id": 205,"serial_no":"OSDC5W9O","location_id":"214_332_123","device_item_id": 113,"device_id": 13,"tenant_id": 2324,"mac_address": "sd3lk2l4l2b4","slave_id": "004","iot_id":"8bf6f72267d951cb87ffd72f982959e1","metric": {"device_status": 0,"g_sensor": 0,"weight": 420,"humidity": 50,"env_temp": 50,"pig_temp": 45,"sow_action": 3,"boar_action": 3,"distance_1": 120,"distance_2": 100,"distance_vertical": 80,"NH3": 0.05,"CO2": 0.1,"illumination": 8.1}}
output
{
"timestamp" => 1538582828,
"rect_id" => 200,
"device_id" => 13,
"@version" => "1",
"tenant_id" => 2324,
"device_item_id" => 113,
"@timestamp" => 2018-10-05T00:45:39.857Z,
"iot_id" => "8bf6f72267d951cb87ffd72f982959e1",
"type" => "logstash-kafka",
"metric" => {
"device_status" => 0,
"g_sensor" => 0,
"humidity" => 50,
"distance_1" => 120,
"weight" => 420,
"pig_temp" => 45,
"sow_action" => 3,
"boar_action" => 3,
"distance_vertical" => 80,
"CO2" => 0.1,
"illumination" => 8.1,
"distance_2" => 100,
"env_temp" => 50,
"NH3" => 0.05
},
"serial_no" => "OSDC5W9O",
"mac_address" => "sd3lk2l4l2b4",
"location_id" => "214_332_123",
"timestamp_origin" => 1538554028,
"slave_id" => "004"
}
input {
kafka {
bootstrap_servers => ["xxxxxx:9092,xxxxxx:9092"] #替换为自己的Kafka集群地址
client_id => "logstash-172.19.100.180"
group_id => "logstash-dev"
auto_offset_reset => "latest" #smallest
consumer_threads => 5
decorate_events => true
topics => ["zds-iot-topic"]
type => "logstash-kafka"
codec => "json"
}
}
filter {
if [type] == "logstash-kafka" {
mutate {
copy => { "timestamp" => "timestamp_origin" }
}
# Add 8 hours
ruby {code => "event.set('timestamp', event.get('timestamp').to_i + 28800)"}
}
}
output {
if [type] == "java_log" {
elasticsearch {
hosts => ["xx.xx.xx.xx:9200"]
index => "javaapp_log_index"
}
}
if [type] == "logstash-kafka" {
elasticsearch {
hosts => ["xx.xx.xx.xx:9200"]
index => "iot_data"
document_type => "sensor"
}
}
stdout { }
}
Logstash 算术运算操作的更多相关文章
- logstash使用操作部分
1.logstash的概念及特点.概念:logstash是一个数据采集.加工处理以及传输(输出)的工具.特点: - 所有类型的数据集中处理 - 不同模式和格式数据的正常化 - 自定义日志格式的迅速扩展 ...
- 使用logstash从Kafka中拉取数据并传输给elasticsearch且创建相应索引的操作
注意事项:默认Kafka传递给elastci的数据是在'data'字段,且不包含其他数据,所以需要使用额外的操作进行处理 logstash配置文件操作 input { kafka { bootstra ...
- elk系列8之logstash+redis+es的架构来收集apache的日志
preface logstash--> redis --> logstash --> es这套架构在讲究松耦合关系里面是最简单的, 架构图如下: 解释下这个架构图的流程 首先前端lo ...
- elk系列8之logstash+redis+es的架构来收集apache的日志【转】
preface logstash--> redis --> logstash --> es这套架构在讲究松耦合关系里面是最简单的,架构图如下: 解释下这个架构图的流程 首先前端log ...
- 一个logstash引发的连环案,关于logstash提示:Reached open files limit: 4095, set by the 'max_open_files' option or default, files yet to open: 375248
不多说,直接上问题.版本logstash-2.4.0,启动后提示错误: !!! Please upgrade your java version, the current version '1.7.0 ...
- C#知识点记录
用于记录C#知识要点. 参考:CLR via C#.C#并发编程.MSDN.百度 记录方式:读每本书,先看一遍,然后第二遍的时候,写笔记. CLR:公共语言运行时(Common Language Ru ...
- weblogic 12C 数据源配置出错的解决办法
驱动程序类名称: 11G 10.3.6与12G数据源配置有很大区别,整个一天才搞明白. 如有疑问可留言:http://www.cnblogs.com/endv/p/4110798.html 配 ...
- Python数据结构与算法--面向对象
前面已经讲过,Python是一种面向对象的编程语言. 面向对象编程语言中最重要的特征是允许程序员创建类建立数据模型来解决问题. 我们之前利用抽象数据类型提供的逻辑来描述数据对象 (它的状态) 和功能 ...
- x86汇编指令详解
80x86指令系统 80x86指令系统,指令按功能可分为以下七个部分. (1) 数据传送指令. (2) 算术运算指令. (3) 逻辑运算指令. (4) 串操作指令. (5) 控制转移指令. (6) 处 ...
随机推荐
- kafka的OffsetOutOfRangeError
from kafka import KafkaClient, SimpleConsumer from sys import argv kafka = KafkaClient("10.0.1. ...
- 分享Axure RP8.0激活码一份
用户名:aaa 注册码:2GQrt5XHYY7SBK/4b22Gm4Dh8alaR0/0k3gEN5h7FkVPIn8oG3uphlOeytIajxGU
- mongodb主从复制 副本集(六)
主从复制副本集 8888.conf dbpath = D:\software\MongoDBDATA\07\8888 #主数据库地址port = 8888 #主数据库端口号bind_ip = 127. ...
- html 中的media属性
在css中我们使用media标签来区分调用哪个css样式,比如使用media="print"来表示当执行打印文档时,使用print.css样式.这样使得文档更有得于打印,如将页面宽 ...
- centos7 端口开放
CentOS升级到7之后,发现无法使用iptables控制Linuxs的端口,google之后发现Centos 7使用firewalld代替了原来的iptables.下面记录如何使用firewalld ...
- call和callvirt
call以非虚方式调用虚函数. callvirt以虚方式调用虚函数,调用的时候会判断真正引用的对象,调用该类型的
- Phong Shading
[Phong Shading] The most serious problem with Gouraud shading occurs when specular highlights are fo ...
- 阻塞和唤醒线程——LockSupport功能简介及原理浅析
目录 1.LockSupport功能简介 1.1 使用wait,notify阻塞唤醒线程 1.2 使用LockSupport阻塞唤醒线程 2. LockSupport的其他特色 2.1 可以先唤醒线程 ...
- 平衡二叉树之RB树
RB树(红黑树)并不追求“完全平衡”——它只要求部分地达到平衡要求,降低了对旋转的要求,从而提高了性能.由于它的设计,任何不平衡都会在三次旋转之内解决.典型的用途是实现关联数组(如C++中的map和s ...
- faster-rcnn训练自己的数据集参考文章
https://www.cnblogs.com/CarryPotMan/p/5390336.html