Anteon Self Hosted 自托管部署与使用指南
2025-07-07 01:24:22作者:裴麒琰
项目概述
Anteon Self Hosted(原Ddosify)是一款专为Kubernetes环境设计的性能监控与测试工具。它通过创新的eBPF技术实现对K8s集群的深度监控,能够自动生成服务拓扑图,并帮助用户快速定位高延迟的服务调用问题。
核心特性
- 多架构支持:全面兼容Arm64和Amd64架构,支持Linux和MacOS系统
- 容器化部署:提供Docker Compose和Helm Chart两种部署方式
- K8s监控能力:集成eBPF Agent(Alaz)实现集群深度监控
- 分布式测试:支持横向扩展测试引擎,满足大规模测试需求
- 全栈监控:从基础设施到应用层的全方位性能指标采集
系统要求
基础要求
- Git版本控制系统
- Docker引擎(版本20.10.0+)
- Docker Compose(版本1.29.0+)
推荐配置
- 操作系统:macOS 10.15+或Linux(Ubuntu 20.04+/Debian 10+/CentOS 8+)
- 处理器:四核2.5GHz或更高(支持Apple M1/M2等ARM架构)
- 内存:8GB或更大
- 存储:5GB以上SSD空间
注意:目前不支持Windows系统
部署方案
方案一:Docker Compose快速部署(开发/测试环境)
执行以下命令即可完成一键部署:
curl -sSL https://raw.githubusercontent.com/getanteon/anteon/master/selfhosted/install.sh | bash
部署完成后,可通过 http://localhost:8014 访问控制面板。
方案二:Kubernetes部署(生产环境推荐)
建议使用官方提供的Helm Chart进行K8s集群部署,这种方式支持:
- 服务高可用
- 自动扩缩容
- 资源隔离
- 更完善的监控体系
核心组件详解
组件名称 | 功能描述 |
---|---|
Hammer引擎 | 负载生成引擎,可水平扩展 |
Hammer Manager | 引擎管理服务,负责任务调度和资源分配 |
后端服务 | 处理性能测试和K8s监控的核心逻辑 |
Alaz后端 | 处理eBPF Agent采集的指标、追踪和日志数据 |
InfluxDB | 存储性能指标的时间序列数据库 |
PostgreSQL | 存储测试结果的关联型数据库 |
RabbitMQ | 消息队列,实现各组件间通信 |
分布式对象存储 | 存储测试数据文件(如CSV) |
Nginx | 反向代理,提供统一的API入口 |
Prometheus | 采集和存储K8s监控指标 |
高级配置指南
1. 分布式测试引擎扩展
在生产环境中,可以通过添加多个Hammer引擎来提升测试能力:
# 在同主机添加引擎
NAME=anteon_hammer_1
docker run --name $NAME -dit \
--network anteon \
--restart always \
ddosify/selfhosted_hammer:1.4.3
# 在不同主机添加引擎
SERVICE_ADDRESS=主节点IP
IP_ADDRESS=引擎节点IP
NAME=anteon_hammer_1
docker run --name $NAME -dit \
--env SERVICE_ADDRESS=$SERVICE_ADDRESS \
--env IP_ADDRESS=$IP_ADDRESS \
--restart always \
ddosify/selfhosted_hammer:1.4.3
2. K8s监控配置
要启用K8s集群监控功能,需要在每个节点部署Alaz DaemonSet。该组件基于eBPF技术实现,能够:
- 自动发现服务拓扑
- 监控网络流量
- 采集系统调用数据
- 提供细粒度的性能指标
3. 数据持久化配置
默认情况下,所有数据存储在Docker卷中。如需自定义存储位置,可以:
- 修改docker-compose.yml中的volumes配置
- 为InfluxDB和PostgreSQL指定外部存储卷
- 配置定期备份策略
运维管理
服务启停
# 停止服务
cd $HOME/.anteon/selfhosted
docker compose down
# 彻底删除(包括数据)
docker compose down --volumes
日志查看
docker-compose logs -f
性能调优建议
- 为InfluxDB分配足够的内存(建议4GB+)
- 对高频测试场景,增加RabbitMQ的资源配额
- 分布式部署时,确保网络延迟低于50ms
数据收集说明
Anteon默认会收集匿名使用数据以改进产品,包含:
- 集群基本信息(不包含敏感数据)
- 资源使用情况
- 组件运行状态
如需禁用,可在docker-compose.yml中设置:
backend:
environment:
- ANONYMOUS_TELEMETRY_ENABLED: "False"
最佳实践
-
生产环境部署:
- 使用K8s Helm部署
- 配置资源限制和请求
- 启用持久化存储
- 设置定期备份
-
性能测试建议:
- 先进行小规模测试验证
- 逐步增加负载
- 关注系统资源使用情况
- 结合K8s监控数据综合分析
-
问题排查:
- 检查各组件日志
- 验证网络连通性
- 监控系统资源使用
- 查看服务拓扑图定位瓶颈
总结
Anteon Self Hosted为Kubernetes环境提供了一套完整的性能监控和测试解决方案。通过本文介绍的部署方法和使用技巧,您可以快速搭建起自己的性能监控平台,有效提升系统可靠性和性能表现。无论是开发测试还是生产环境,Anteon都能提供有价值的性能洞察。