如何在本地离线使用WSO2AM-4.1.0的WSO2AM-Analytics且无需Choreo?
本地离线使用WSO2AM 4.1.0 Analytics(无需Choreo及联网)
完全可行,以下是具体操作步骤:
一、提前准备离线资源
- 下载与WSO2AM 4.1.0匹配的WSO2AM-Analytics 4.1.0完整安装包(确保是官方离线包,不含联网依赖拉取逻辑)
- 安装本地兼容的JDK(推荐OpenJDK 11,WSO2 4.x系列的官方指定版本)
- 部署本地数据库(可选但推荐:MySQL 8.x/PostgreSQL 13+;若快速测试可使用默认H2数据库,但需配置文件持久化)
- 部署本地消息队列:Kafka 2.8.0(WSO2AM 4.1.0默认用Kafka传递分析事件,单节点集群即可满足离线需求)
二、禁用Choreo集成
编辑WSO2AM主目录下的repository/conf/deployment.toml,添加或修改以下配置,彻底关闭Choreo相关功能:
[apim.choreo] enabled = false
三、配置Analytics与AM的本地连接
1. 配置WSO2AM指向本地Analytics
在AM的deployment.toml中添加Analytics相关配置:
[apim.analytics] enabled = true service_url = "https://localhost:9444" username = "admin" password = "admin" # 配置本地Kafka事件流 [apim.analytics.streaming.kafka] bootstrap_servers = "localhost:9092"
2. 配置Analytics的本地数据源
编辑Analytics主目录下的repository/conf/deployment.toml:
- 若使用H2文件数据库(测试用):
[database.apim_db] type = "h2" url = "jdbc:h2:file:./repository/database/apim_db;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=60000" username = "wso2carbon" password = "wso2carbon" driver = "org.h2.Driver"
- 若使用MySQL(生产/长期测试):
先将MySQL驱动jar(mysql-connector-java-8.0.x.jar)放入Analytics的repository/components/lib目录,再配置:
[database.apim_db] type = "mysql" url = "jdbc:mysql://localhost:3306/apim_analytics_db?useSSL=false&requireSSL=false&serverTimezone=UTC&nullCatalogMeansCurrent=true" username = "root" password = "your_db_password" driver = "com.mysql.cj.jdbc.Driver" [database.apim_db.pool_options] maxActive = 50 maxWait = 60000 minIdle = 5
3. 配置Analytics的Kafka连接
在Analytics的deployment.toml中确认Kafka配置:
[streaming.kafka.broker] bootstrap.servers = "localhost:9092"
四、离线启动与验证
- 启动本地依赖服务:
- 启动数据库服务(若用外部数据库)
- 启动ZooKeeper(Kafka依赖),再启动Kafka服务
- 启动WSO2AM-Analytics:执行
bin/wso2server.sh(Linux)或bin/wso2server.bat(Windows),检查日志无报错 - 启动WSO2AM:同样执行启动脚本,确认服务正常运行
- 验证分析功能:
- 访问本地Analytics仪表盘:
https://localhost:9444/dashboards,用默认账号admin/admin登录 - 在AM中发布并调用API,等待数分钟后查看Analytics仪表盘,确认API调用统计数据正常显示
- 访问本地Analytics仪表盘:
注意事项
- 确保所有组件版本兼容:WSO2AM 4.1.0必须搭配WSO2AM-Analytics 4.1.0,Kafka版本建议用2.8.0避免兼容性问题
- 离线环境下不要启用任何自动更新、远程同步类功能,确保所有配置指向本地资源
- 若使用H2数据库,需定期备份数据库文件,避免数据丢失
内容的提问来源于stack exchange,提问作者nahid afzali
相关产品推荐
相关产品推荐

