Skip to content

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(单位:毫秒)以及三个列表:patternsListnonEventseventsInput 作为输入。输出包含每种模式及对应的匹配事件,以及事件发生的时窗。

端点:

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