Cartography项目快速安装与运行指南
2025-07-09 07:00:25作者:翟萌耘Ralph
概述
Cartography是一个强大的云基础设施资产图谱工具,能够将AWS、GCP等云服务商的资源关系可视化。本文将详细介绍三种不同的安装运行方式,帮助用户快速搭建测试环境。
方案一:使用docker-compose运行(推荐)
这是最快捷的启动方式,适合想要快速体验Cartography功能的用户。
准备工作
- 获取Cartography项目代码
- 确保本地已安装Docker和docker-compose
详细步骤
-
启动Neo4j图数据库容器
docker-compose up -d
此命令会在后台启动Neo4j服务,初次启动可能需要几分钟时间。
-
配置并运行Cartography
docker-compose run \ -e AWS_PROFILE=your_profile \ -e AWS_DEFAULT_REGION=your_region \ cartography --neo4j-uri bolt://cartography-neo4j-1:7687
关键参数说明:
- AWS_PROFILE:指定AWS配置文件中定义的身份凭证
- AWS_DEFAULT_REGION:必须指定的AWS区域
- neo4j-uri:Neo4j数据库连接地址
-
查看图谱数据 访问http://localhost:7474,使用Cypher查询语言探索数据关系。
注意事项
- 若出现连接错误,可能是Neo4j容器尚未完全启动,可稍等后重试
- 可通过
docker-compose run cartography --help
查看完整参数列表 - AWS凭证文件会自动从主机映射到容器内
方案二:手动运行两个容器
适合需要更灵活控制容器配置的场景。
实施步骤
-
创建专用网络
docker network create cartography-network
-
启动Neo4j容器
docker run \ --publish=7474:7474 \ --publish=7687:7687 \ --network cartography-network \ -v data:/data \ --name cartography-neo4j \ --env=NEO4J_AUTH=none \ neo4j:4.4-community
-
运行Cartography容器
docker run --rm \ --network cartography-network \ -v ~/.aws:/var/cartography/.aws/ \ -e AWS_PROFILE=your_profile \ -e AWS_DEFAULT_REGION=your_region \ cartography-cncf/cartography --neo4j-uri bolt://cartography-neo4j:7687
方案三:原生安装
适合需要在生产环境长期运行或进行二次开发的场景。
系统要求
- Python 3.10环境
- Neo4j 4.4或更高版本(不支持4.3及以下版本)
安装步骤
-
安装Neo4j
- 推荐使用Docker容器方式
- 如需原生安装,需先配置JDK 11+环境
-
安装Cartography
pip install cartography
-
运行Cartography
AWS_PROFILE=your_profile AWS_DEFAULT_REGION=your_region cartography --neo4j-uri bolt://localhost:7687
常见问题处理
-
ARM架构设备性能问题 在M1 Mac等ARM设备上,建议使用ARM架构的Neo4j镜像提升性能。
-
认证配置 生产环境建议启用Neo4j认证,可通过环境变量传递凭证:
export NEO4J_PASSWORD="your_password" cartography --neo4j-uri bolt://localhost:7687 --neo4j-user neo4j --neo4j-password-env-var NEO4J_PASSWORD
-
多AWS账户同步
AWS_CONFIG_FILE=/path/to/config cartography --neo4j-uri bolt://localhost:7687 --aws-sync-all-profiles
后续建议
成功运行Cartography后,您可以:
- 探索更多数据源模块
- 研究生产环境部署的最佳实践
- 学习Cypher查询语言深入分析图谱数据
- 考虑开发自定义模块扩展功能
通过本文介绍的任一方法,您都可以快速搭建Cartography测试环境,开始您的云基础设施可视化之旅。