Simian Army 项目教程
1. 项目的目录结构及介绍
Simian Army 项目的目录结构如下:
SimianArmy/
├── build.gradle
├── gradle
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── README.md
├── settings.gradle
└── src
├── main
│ ├── java
│ │ └── com
│ │ └── netflix
│ │ └── simianarmy
│ │ ├── basic
│ │ ├── client
│ │ ├── chaos
│ │ ├── cloudcfg
│ │ ├── compliance
│ │ ├── janitor
│ │ ├── resources
│ │ └── volume
│ └── resources
│ ├── application.properties
│ └── log4j.properties
└── test
└── java
└── com
└── netflix
└── simianarmy
└── ...
目录结构介绍
build.gradle
和settings.gradle
:Gradle 构建脚本。gradle
目录:包含 Gradle 包装器文件,用于确保项目使用特定版本的 Gradle。src
目录:包含项目的源代码和资源文件。main/java
:主要的 Java 源代码目录。main/resources
:主要的资源文件目录,包括配置文件application.properties
和日志配置文件log4j.properties
。test/java
:测试代码目录。
2. 项目的启动文件介绍
Simian Army 项目的启动文件主要是通过 Gradle 构建和运行。以下是启动项目的步骤:
-
克隆项目仓库:
git clone https://github.com/Netflix/SimianArmy.git
-
进入项目目录:
cd SimianArmy
-
使用 Gradle 构建项目:
./gradlew build
-
运行项目:
./gradlew run
启动文件介绍
gradlew
和gradlew.bat
:Gradle 包装器脚本,用于在不同平台上运行 Gradle 任务。build.gradle
:主要的 Gradle 构建脚本,定义了项目的依赖、任务和配置。
3. 项目的配置文件介绍
Simian Army 项目的主要配置文件位于 src/main/resources
目录下:
application.properties
:主要的配置文件,包含了项目的各种配置参数,如 AWS 凭证、日志级别、Monkey 行为等。log4j.properties
:日志配置文件,定义了日志的输出格式、级别和目标。
配置文件示例
application.properties:
simianarmy.client.aws.accountKey=YOUR_AWS_ACCESS_KEY
simianarmy.client.aws.accountSecret=YOUR_AWS_SECRET_KEY
simianarmy.client.aws.region=us-west-2
simianarmy.calendar.isMonkeyTime=true
simianarmy.chaos.enabled=true
simianarmy.chaos.ASG.enabled=true
log4j.properties:
log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %-5p [%c] %m%n
通过这些配置文件,可以灵活地调整 Simian Army 的行为和日志输出。