针对阿里云云上服务的监控和自动防护需求,APIcat 基于 Docker 提供一键运行模式。最新 APIcat 镜像完成了Docker Image 封装,已上传至 Docker Hub,可以一键获取安装。
获得docker image
docker push baijiafan/apicat
获得最新版本的APIcat
运行docker
docker命令模式
docker run baijiafan/apicat:latest watch
运行监控程序
docker run baijiafan/apicat:latest report
运行报告生成程序
所需各项运行参数可选择命令行输入,或采用挂载配置文件、指定环境变量等形式进行输入
docker-compose命令模式
APIcat在版本仓库/example/aliyun下提供docker-compose.yaml文件,是运行apicat的样例docker-compose配置文件,默认运行watch命令,可修改command修改,各项参数和环境变量,可通过文件修改。完成后通过docker-compose up
运行即可,运行监控命令可使用docker-compose up -d
后台运行。
初始配置
初始运行会抛出异常:
SDKError: StatusCode: 404 Code: InvalidAccessKeyId.NotFound Message: code: 404, Specified access key is not found. request id: 1C60495D-AF84-5A23-8628-145E6993A4C0 Data: {"Code":"InvalidAccessKeyId.NotFound","HostId":"slb.aliyuncs.com","Message":"Specified access key is not found.","Recommend":"https://next.api.aliyun.com/troubleshoot?q=InvalidAccessKeyId.NotFound\u0026product=Slb","RequestId":"1C60495D-AF84-5A23-8628-145E6993A4C0","statusCode":404}
初始配置可以拷贝example/aliyun下的apicat.yaml文件,修改以下参数:
AliyunAccesskeyId: xxxx
AliyunAccesskeySecret: xxxx
AliyunRegionId: cn-xxx
AliyunDest: acl-xxx
或者通过修改docker-compose.yaml文件中的环境变量修改,或通过docker命令的环境变量参数修改
environment: - APICAT_DEFINITION=./openapi.yaml - APICAT_ALIYUN_ACCESSKEY_ID=xxxx - APICAT_ALIYUN_ACCESSKEY_SECRET=xxxx - APICAT_ALIYUN_REGION_ID=xxxx - APICAT_ALIYUN_DEST=xxxx
运行效果
docker image中默认配置文件中配置为从阿里云负载均衡日志读取日志,并写入拦截规则到拦截列表。修改账户信息运行后,会扫描日志中的错误访问,并写入拦截规则。
如果想测试一下读取效果,可以通过配置文件配置dest: echo
来将写入目的改为本地回显。该模式会通过docker日志显示判定为非法的条目信息。
欢迎有需要的同学试用!
还没有评论,来说两句吧...