针对阿里云云上服务的监控和自动防护需求,开源项目APIcat基于Docker提供一键运行模式。最新APIcat镜像完成了Docker Image封装,可以一键获取安装。

获得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":"阿里云 OpenAPI 开发者门户\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日志显示判定为非法的条目信息。

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐