我已经捕捉到了从我MobileFirst 7.1客户端应用程序的一些事件日志使用Analytics API(混合动力适用于iOS):导出MobileFirst Analytics的数据
WL.Analytics.log({'Module': 'Account', 'Activity': 'Update account'}, 'Message Title');
我可以检索从Analytics控制台日志没有任何问题。
接下来我会使用Analytics API检索日志。下面是一个工作URL格式:
http://localhost:10080/analytics-service/data/administration/apps/worklight/export?query={"event":"CustomData","format":"json","limit":10,"offset":0,"startDate":"2016-08-24","endDate":"*"}
返回以下JSON数据:
[
{
"mfpAppName": "myApp",
"deviceOS": "ios",
"appID": "worklight",
"mfpAppVersion": "1.0",
"deviceOSversion": "7",
"deviceModel": "xxx",
"deviceID": "xxx",
"timestamp": "1472038253030",
"Module": "Account",
"Activity": "Update account"
}
]
我的问题:
- 我如何过滤我的JSON结果基于我的自定义数据?例如,我想为所有具有以下值的活动检索日志:“Module”:“Account”。
- 如何根据时间戳值对JSON结果进行排序?
当我试图在我自己的参数(例如“过滤器”)添加到URL,它会返回它说的错误:
{“犯错”:“无法识别的领域\”过滤器\”(类com.ibm.mobile.analytics.server.rest.params.ExportParameters),未标记为可忽略的(29个已知属性:,\“level \”,\“validationCode \”,\“serverIpAddress \”,\“mfpAppVersion \” ,“小时”,“领域”,“适配器”,“调试”,“偏移量”,“mfpAppName”,“事件”,“deviceOSversion”,“ (source:[email protected]; line:1,column:33](通过引用链:com.ibm.mobile.analytics。“timestampKey”,\“endDate \”[truncated]])\ n。 server.rest.params.ExportParameters [\“search \”])“}
我可以知道在哪里可以找到所有“29种已知属性”?
我了解到MFP Analytics使用ElasticSearch作为引擎,我试图找到任何有关此信息但无济于事。
嗨雪佛兰,感谢您使用ElasticSearch REST端点的尖。我已经在我的本地开发机器上测试过了,它可以工作。但是,当我尝试对我的远程开发服务器(在AWS上托管)执行相同操作时,它返回了“无法获得任何响应”错误。仅供参考,我们的远程开发服务器也在Liberty服务器上运行。我们在AWS管理中打开了端口9500,并在更新server.xml文件后重新启动了MFP实例。我在这里错过了什么?谢谢! –
我找到了一个链接,它描述了可以在worklight.properties文件中的MobileFirst Server上设置的属性和配置:http://www.ibm.com/support/knowledgecenter/SSHSCD_7.1.0/com.ibm。 worklight.monitor.doc /监视器/ c_op_analytics_properties.html。但是.properties文件不使用XML格式。如果我将上面的JNDI属性更改为如下形式,那么它是否正确:wl.analytics.httpport = 9500 | wl.analytics.http.enabled = true? –
经过一周的试验和错误,发现Analytics Server使用另一个server.xml文件,并在其中插入JNDI属性。现在它可以从我们的AWS服务器正常工作。 –