WSO2 Api Manager 集成 Analytics

WSO2 Api Manager仅实现了Api网关功能,但没有统计监控功能,必须与其Analytics组件集成才能实现,集成过程如下:

参考链接:https://docs.wso2.com/display/AM250/Analytics

1. 安装配置apim

参考前一篇: WSO2 API Manager安装部署配置

2. 安装analytics

  1. 下载并解压安装包:https://wso2.com/api-management/install/analytics/
  2. 安装jdk1.8-x64,注意要用64位jdk,并配置JAVA_HOME环境变量
  3. window下需要另外下载 snappy-java-1.1.1.7.jar包放到repository\components\lib目录下

3.在apim中开启analytics

  1. 打开配置文件: <API-M_HOME>/repository/conf/api-manager.xml
  2. 把<Analytics>下的Enabled设置为true
  3. 修改<Analytics>下的其他配置,如果需要的话

4.配置Log Analyzer

打开配置文件:<API-M_HOME>/repository/conf/log4j.properties,在root Logger上添加DAS_AGENT

log4j.rootLogger=<other loggers>, DAS_AGENT

检查该文件以下的相应配置是否需要修改

# DAS_AGENT is set to be a Custom Log Appender.
log4j.appender.DAS_AGENT=org.wso2.carbon.analytics.shared.data.agents.log4j.appender.LogEventAppender
# DAS_AGENT uses PatternLayout.
log4j.appender.DAS_AGENT.layout=org.wso2.carbon.analytics.shared.data.agents.log4j.util.TenantAwarePatternLayout
log4j.appender.DAS_AGENT.columnList=%D,%S,%A,%d,%c,%p,%m,%H,%I,%Stacktrace
log4j.appender.DAS_AGENT.userName=admin
log4j.appender.DAS_AGENT.password=admin
log4j.appender.DAS_AGENT.url=tcp://localhost:7612
log4j.appender.DAS_AGENT.maxTolerableConsecutiveFailure=5
log4j.appender.DAS_AGENT.streamDef=loganalyzer:1.0.0
log4j.logger.trace.messages=TRACE,CARBON_TRACE_LOGFILE

5. 配置数据源

  1. 把<API-M_ANALYTICS_HOME>/repository/conf/datasources/analytics-datasources.xml文件下的两个数据源WSO2_ANALYTICS_EVENT_STORE_DB和 WSO2_ANALYTICS_PROCESSED_DATA_STORE_DB配置为Oracle数据库,具体方式参考上一篇笔记,另外这两个数据源不需要执行脚本初始化数据库,运行程序会自动创建表

对于oracle数据库建议增加DB block的大小,参考: http://www.oratable.com/ora-01450-maximum-key-length-exceeded/ ,避免出现错误:ORA-01450: maximum key length (6398) exceeded

  1. 在apim和analytics中配置同样的数据源WSO2AM_STATS_DB,配置文件路径分别为:<API-M_ANALYTICS_HOME>/repository/conf/datasources/stats-datasources.xml和 <API-M_HOME>/repository/conf/datasources/master-datasources.xml

  2. 把数据库驱动文件放到<API-M_ANALYTICS_HOME>/repository/components/lib目录下

 

====================华丽分割线===========================

补充:经过测试发现 analytics 并不支持Oracle数据库,因为analytics的表名太长,超过了oracle对表名的最大长度限制,各个数据库表名长度限制如下表

数据库            

表名长度限制 

字段名长度限制  

oracle

30

30

mysql

64

64

db2

128

128

access

64

64

sqlserver

128

128

注:该表应用自:https://blog.csdn.net/huangyanlong/article/details/45854385

 

posted @ 2018-09-12 14:03  kuntaljy  阅读(1382)  评论(0编辑  收藏  举报