API 日志管理
API7 企业版支持收集 API 的访问信息并记录为日志,如主机、客户端 IP 地址、请求时间戳等。这些信息有助于解决问题。API7 企业版提供了灵活的插件扩展系统和日志记录插件。例如:
- 推送到 HTTP/TCP/UDP 日志服务器
- SkyWalking
- Kafka
- RocketMQ
- Clickhouse
- Syslog
- 阿里云 SLS
- 谷歌云日志服务
- Splunk HTTP Event Collector (HEC)
- 磁盘上的特定文件
- Elasticsearch
- 腾讯云 CLS
- Grafana Loki
前提条件
- 安装 API7 企业版。
- 在网关组上有一个运行的 API。
- 获取自己的 ClickHouse 数据库的主机地址。
配置 ClickHouse
-
在 Docker 中启动一个名为
quickstart-clickhouse-server的 ClickHouse 实例,并使用默认数据库quickstart_db、默认用户quickstart-user和密码quickstart-pass:docker network create apisix-quickstart-net
docker run -d \
--name quickstart-clickhouse-server \
--network=apisix-quickstart-net \
-e CLICKHOUSE_DB=quickstart_db \
-e CLICKHOUSE_USER=quickstart-user \
-e CLICKHOUSE_PASSWORD=quickstart-pass \
-e CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT=1 \
--ulimit nofile=262144:262144 \
clickhouse/clickhouse-server -
使用 Docker 中的命令行工具
clickhouse-client连接到 ClickHouse 实例:docker exec -it quickstart-clickhouse-server clickhouse-client -
在数据库
quickstart_db中创建一个表test,字段为String类型的host、client_ip、route_id、@timestamp:CREATE TABLE quickstart_db.test (
`host` String,
`client_ip` String,
`route_id` String,
`@timestamp` String,
PRIMARY KEY(`@timestamp`)
) ENGINE = MergeTree()如果成功,你应该在输出中看到
Ok。 -
输入
exit