Event Analytics - 使用端点¶
获取最常发生的事件¶
Event Analytics Service 可输出最频繁发生的事件及其发生次数。该服务接收整个数据集作为输入,按照发生次数对事件进行排序,并返回包含对应计数的事件列表。
端点:
POST /findTopEvents
Content-Type:application/json
请求示例:
{
"numberOfTopPositionsRequired":2,
"eventsMetadata": {
"eventTextPropertyName": "string"
},
"events": [
{
"_time":"2017-11-21T12:23:07.961Z",
"string": "a",
"string_qc":0
},
{
"_time":"2017-11-21T12:23:08.961Z",
"string": "x",
"string_qc":0
},
{
"_time":"2017-11-21T12:23:08.961Z",
"string": "b",
"string_qc":0
},
{
"_time":"2017-11-21T12:23:08.961Z",
"string": "h",
"string_qc":0
},
{
"_time":"2017-11-21T12:23:09.961Z",
"string": "b",
"string_qc":0
},
{
"_time":"2017-11-21T12:24:00.961Z",
"string": "b",
"string_qc":0
},
{
"_time":"2017-11-21T12:25:03.961Z",
"string": "b",
"string_qc":0
},
{
"_time":"2017-11-21T12:30:02.961Z",
"string": "k",
"string_qc":0
},
{
"_time":"2017-11-21T12:33:08.961Z",
"string": "l",
"string_qc":0
},
{
"_time":"2017-11-21T12:33:09.961Z",
"string": "b",
"string_qc":0
},
{
"_time":"2017-11-21T12:34:08.961Z",
"string": "b",
"string_qc":0
},
{
"_time":"2017-11-21T12:35:09.961Z",
"string": "b",
"string_qc":0
},
{
"_time":"2017-11-21T12:36:00.961Z",
"string": "p",
"string_qc":0
},
{
"_time":"2017-11-21T12:37:03.961Z",
"string": "p",
"string_qc":0
},
{
"_time":"2017-11-21T12:38:28.961Z",
"string": "q",
"string_qc":0
}
]
}
响应示例:
[
{
"appearances":7,
"string": "b"
},
{
"appearances":2,
"string": "p"
}
]
时间范围内的事件计数¶
接收事件列表和 eventsMetadata 中的 splitInterval
属性(单位:毫秒)作为输入。输出包含时间范围和指定时间范围内的事件发生次数。
端点:
POST /countEvents
Content-Type:application/json
请求示例:
{
"eventsMetadata": {
"eventTextPropertyName": "text",
"splitInterval":5000
},
"events": [
{
"_time":"2017-10-01T12:00:00.001Z",
"text":"INTRODUCING FUEL",
"text_qc":0
},
{
"_time":"2017-10-01T12:00:00.023Z",
"text":"INTRODUCING FUEL",
"text_qc":0
},
{
"_time":"2017-10-01T12:00:01.001Z",
"text":"Status@Flame On",
"text_qc":0
},
{
"_time":"2017-10-01T12:00:02.001Z",
"text":"Status@Flame Off",
"text_qc":0
},
{
"_time":"2017-10-01T12:00:03.001Z",
"text":"Error code:340",
"text_qc":0
},
{
"_time":"2017-10-01T12:00:04.001Z",
"text":"Error code:340",
"text_qc":0
},
{
"_time":"2017-10-01T12:00:04.002Z",
"text":"Error code:340",
"text_qc":0
},
{
"_time":"2017-10-01T12:00:05.001Z",
"text":"INTRODUCING FUEL",
"text_qc":0
},
{
"_time":"2017-10-01T12:00:08.001Z",
"text":"Status@Flame On",
"text_qc":0
},
{
"_time":"2017-10-01T12:00:09.001Z",
"text":"Status@Flame Off",
"text_qc":0
}
]
}
响应示例:
{
"output": [{
"startTime":"2017-10-01T12:00:00.001Z",
"endTime":"2017-10-01T12:00:05Z",
"eventCount":7
},
{
"startTime":"2017-10-01T12:00:05.001Z",
"endTime":"2017-10-01T12:00:10Z",
"eventCount":3
}]
}
过滤事件¶
接收事件列表和忽略列表 (filterList
) 作为输入。输出包含来自接收的事件列表但不属于忽略列表的事件。
端点:
POST /filterEvents
Content-Type:application/json
请求示例:
{
"eventsMetadata": {
"eventTextPropertyName": "text"
},
"events": [
{
"_time":"2017-10-01T12:00:00.001Z",
"text":"INTRODUCING FUEL",
"text_qc":0
},
{
"_time":"2017-10-01T12:00:01.001Z",
"text":"Status@Flame On",
"text_qc":0
},
{
"_time":"2017-10-01T12:00:02.001Z",
"text":"Status@Flame Off",
"text_qc":0
},
{
"_time":"2017-10-01T12:00:03.001Z",
"text":"Error code:340",
"text_qc":0
}
],
"filterList": [
"INTRODUCING FUEL",
"MEANINGLESS ALARM",
"Status@Flame On"
]
}
响应示例:
{
"output": [
{
"_time":"2017-10-01T12:00:02.001Z",
"text_qc":0,
"text":"Status@Flame Off"
},
{
"_time":"2017-10-01T12:00:03.001Z",
"text_qc":0,
"text":"Error code:340"
}
]
}
删除重复事件¶
Event Analytics Service 可删除连续相同事件。它接收事件列表和 eventsMetadata
中的 splitInterval
属性(单位:毫秒)作为输入。该属性定义了事件与重复对象之间的最大时间。输出与输入相同,但删除了重复事件。
端点:
POST /removeDuplicateEvents
Content-Type:application/json
请求示例:
{
"eventsMetadata": {
"eventTextPropertyName": "text",
"splitInterval":5000
},
"events": [
{
"_time":"2017-10-01T12:00:00.001Z",
"text":"INTRODUCING FUEL",
"text_qc":0
},
{
"_time":"2017-10-01T12:00:01.001Z",
"text":"Status@Flame On",
"text_qc":0
},
{
"_time":"2017-10-01T12:00:02.001Z",
"text":"Status@Flame Off",
"text_qc":0
},
{
"_time":"2017-10-01T12:00:03.001Z",
"text":"Error code:340",
"text_qc":0
},
{
"_time":"2017-10-01T12:00:04.001Z",
"text":"Error code:340",
"text_qc":0
},
{
"_time":"2017-10-01T12:00:06.001Z",
"text":"INTRODUCING FUEL",
"text_qc":0
},
{
"_time":"2017-10-01T12:00:08.001Z",
"text":"Status@Flame On",
"text_qc":0
},
{
"_time":"2017-10-01T12:00:09.001Z",
"text":"Status@Flame Off",
"text_qc":0
}
]
}
响应示例:
{
"output": [
{
"_time":"2017-10-01T12:00:00.001Z",
"text_qc":0,
"text":"INTRODUCING FUEL"
},
{
"_time":"2017-10-01T12:00:01.001Z",
"text_qc":0,
"text":"Status@Flame On"
},
{
"_time":"2017-10-01T12:00:02.001Z",
"text_qc":0,
"text":"Status@Flame Off"
},
{
"_time":"2017-10-01T12:00:03.001Z",
"text_qc":0,
"text":"Error code:340"
},
{
"_time":"2017-10-01T12:00:06.001Z",
"text_qc":0,
"text":"INTRODUCING FUEL"
},
{
"_time":"2017-10-01T12:00:08.001Z",
"text_qc":0,
"text":"Status@Flame On"
},
{
"_time":"2017-10-01T12:00:09.001Z",
"text_qc":0,
"text":"Status@Flame Off"
}
]
}
匹配模式¶
接收数值参数 maxPatternInterval
(单位:毫秒)以及三个列表:patternsList
、nonEvents
和 eventsInput
作为输入。输出包含每种模式及对应的匹配事件,以及事件发生的时窗。
端点:
POST /matchEventPatterns
Content-Type:application/json
请求示例:
{
"maxPatternInterval":200000,
"patternsList": [
{
"pattern": [
{
"eventText":"INTRODUCING FUEL",
"minRepetitions":1,
"maxRepetitions":2
},
{
"eventText":"Status@Flame On",
"minRepetitions":0,
"maxRepetitions":1
},
{
"eventText":"Module STOP due to parameter assignment",
"minRepetitions":1,
"maxRepetitions":1
}
]
},
{
"pattern": [
{
"eventText":"Downloading the module database causes module .. restart",
"minRepetitions":1,
"maxRepetitions":1
},
{
"eventText":"The SIMATIC mode was selected for time-of-day synchronization of the module with Id: ..",
"minRepetitions":1,
"maxRepetitions":1
}
]
}
],
"nonEvents": [
"Error 2.. occurred",
"STOPPING ENGINE"
],
"eventsInput": {
"eventsMetadata": {
"eventTextPropertyName": "text"
},
"events": [
{
"_time":"2017-10-01T12:00:00.001Z",
"text":"Downloading the module database causes module 11 restart",
"text_qc":0
},
{
"_time":"2017-10-01T12:00:01.001Z",
"text":"The direction for forwarding the time of day is recognized automatically by the module",
"text_qc":0
},
{
"_time":"2017-10-01T12:00:02.001Z",
"text":"Status@Flame On",
"text_qc":0
},
{
"_time":"2017-10-01T12:00:03.001Z",
"text":"The SIMATIC mode was selected for time-of-day synchronization of the module with Id:33",
"text_qc":0
},
{
"_time":"2017-10-01T12:00:06.001Z",
"text":"INTRODUCING FUEL",
"text_qc":0
},
{
"_time":"2017-10-01T12:00:09.001Z",
"text":"Module STOP due to parameter assignment",
"text_qc":0
}
]
}
}
响应示例:
{
"output": [
{
"patternIndex":1,
"timeWindow": {
"startTimestamp":"2017-10-01T12:00:00.001Z",
"endTimestamp":"2017-10-01T12:00:03.001Z"
},
"matchedEvents": [
{
"_time":"2017-10-01T12:00:00.001Z",
"text_qc":0,
"text":"Downloading the module database causes module 11 restart"
},
{
"_time":"2017-10-01T12:00:03.001Z",
"text_qc":0,
"text":"The SIMATIC mode was selected for time-of-day synchronization of the module with Id:33"
}
]
},
{
"patternIndex":0,
"timeWindow": {
"startTimestamp":"2017-10-01T12:00:06.001Z",
"endTimestamp":"2017-10-01T12:00:09.001Z"
},
"matchedEvents": [
{
"_time":"2017-10-01T12:00:06.001Z",
"text_qc":0,
"text":"INTRODUCING FUEL"
},
{
"_time":"2017-10-01T12:00:09.001Z",
"text_qc":0,
"text":"Module STOP due to parameter assignment"
}
]
}
]
}
Last update: June 26, 2019