Я пытаюсь интегрировать BAM Server (2.4.0) и API управления (1.6) получать сообщение об ошибке:API менеджер бросает ошибку при попытке просмотреть статистику Api
TID: [0] [AM] [2014-04-11 08:45:17,838] ERROR {org.wso2.carbon.apimgt.hostobjects.APIProviderHostObject} - Error while invoking APIUsageStatisticsClient for ProviderAPIUsage {org.wso2.carbon.apimgt.hostobjects.APIProviderHostObject} org.wso2.carbon.apimgt.usage.client.exception.APIMgtUsageQueryServiceClientException: BAM data source hasn't been initialized. Ensure that the data source is properly configured in the APIUsageTracker configuration. at org.wso2.carbon.apimgt.usage.client.APIUsageStatisticsClient.queryFirstAccess(APIUsageStatisticsClient.java:1693) at org.wso2.carbon.apimgt.usage.client.APIUsageStatisticsClient.getFirstAccessTime(APIUsageStatisticsClient.java:1675) at org.wso2.carbon.apimgt.hostobjects.APIProviderHostObject.jsFunction_getFirstAccessTime(APIProviderHostObject.java:2911) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
Мой источник данных определен как
<datasource>
<name>WSO2AM_STATS_DB</name>
<description>The datasource used for getting statistics to API Manager</description>
<jndiConfig>
<name>jdbc/WSO2AM_STATS_DB</name>
</jndiConfig>
<definition type="RDBMS">
<configuration>
<url>jdbc:h2:C:/esb/wso2bam-2.4.0/repository/database/APIMGTSTATS_DB;AUTO_SERVER=TRUE</url>
<username>wso2carbon</username>
<password>wso2carbon</password>
<driverClassName>org.h2.Driver</driverClassName>
<maxActive>50</maxActive>
<maxWait>60000</maxWait>
<testOnBorrow>true</testOnBorrow>
<validationQuery>SELECT 1</validationQuery>
<validationInterval>30000</validationInterval>
</configuration>
</definition>
</datasource>
Кроме того, я заметил, сервер BAM бросками следующее сообщение об ошибке после
ERROR {org.wso2.carbon.hadoop.hive.jdbc.storage.db.DBOperation} - Failed to write data to database org.h2.jdbc.JdbcSQLException: NULL not allowed for column "CONSUMERKEY"; SQL statement: INSERT INTO API_REQUEST_SUMMARY (version,consumerkey,max_request_time,api_version,time,hostname,context,day,year,month,total_request_count,userid,apip ublisher,api) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?) [90006-140]
Я следовал инструкции по https://docs.wso2.org/display/AM160/Publishing+API+Runtime+Statistics
Любая помощь будет принята с благодарностью
Спасибо Kusan. Вы знаете имя сценария и папку? Я не могу найти его. – user1664338
Имя файла 'am_stats_analyzer' и находится в BAM_HOME/репозитории/развертывании/сервере/bam-toolbox/API_Manager_Analytics.tbox. Но поскольку вы уже загрузили свой набор инструментов, лучше, если вы можете его изменить, войдя в ваш экземпляр BAM. В консоли BAM mgt перейдите в 'Analytics -> List' и отредактируйте скрипт' am_stats_analyzer_xxx'. См. [Скриншот] (https://docs.wso2.org/download/attachments/30540983/list-analytics.png?version=1&modificationDate=1376816429000) –
Еще раз спасибо. Изменение решило вторую ошибку при вставке данных, когда аутентификация отключена. Первая ошибка сохраняется. Невозможно просмотреть статистику BAM. Я попытался очистить базу данных и воссоздал пользователей, apis, подписки, но по-прежнему ту же ошибку - источник данных BAM не был инициализирован. Убедитесь, что источник данных правильно настроен в конфигурации APIUsageTracker. Спасибо за вашу помощь. – user1664338