# Earthling
**Repository Path**: atompi/Earthling
## Basic Information
- **Project Name**: Earthling
- **Description**: 基于 Elastic Stack 的日志分析系统 Earthling
- **Primary Language**: Docker
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 2
- **Created**: 2018-10-11
- **Last Updated**: 2021-07-23
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Earthling
docker-compose 部署日志分析系统 Earthling

## 硬件配置:
### Elasticsearch 2 台:
CPU |
E5-2620 v2 * 2 |
内存 |
64GB |
硬盘 |
1TB * 8 组RAID5 |
磁盘分区 |
/ |
200G |
/data |
800GB |
/data1 |
3TB |
/data2 |
3TB |
### Logstash + Kafka 一台:
CPU |
E5-2620 v4 * 2 |
内存 |
64GB |
硬盘 |
600GB * 4 组RAID5 |
磁盘分区 |
/ |
200G |
/data |
1.6TB |
### Kibana + Nginx 一台:
CPU |
E5-2407 v2 * 1 |
内存 |
32GB |
硬盘 |
600GB * 4 组RAID5 |
磁盘分区 |
/ |
200G |
/data |
1.5TB |
## 软件要求:
CentOS 7.5
Docker CE 18.x
## 基础设施部署
### 基于 consul 和 overlay 实现 Docker 容器跨主机通信
#### 启动 key-value 数据库 Consul ( ES 集群外某一个节点启动即可)
```
docker run -d -p 8500:8500 -h consul --name consul --restart always consul:1.3.0 agent -server -client=0.0.0.0 -ui -bootstrap-expect 1
```
#### 修改 `docker.service` 配置( ES 集群所有节点都需要修改)
在 `ExecStart` 行最后添加:
```
--cluster-store=consul://:8500 --cluster-advertise=ens33:2376
```
格式如下:
```
ExecStart=/usr/bin/dockerd --cluster-store=consul://192.168.2.2:8500 --cluster-advertise=ens33:2376
```
**其中: `ens33` 为当前宿主机与 `` 同网段的网卡名; `192.168.2.2` 为 ``**
#### 重载 docker.service 并重启 docker.service
```
systemctl daemon-reload
systemctl restart docker
```
#### 创建 overlay network
```
docker network create -d overlay ov_net1
```
`docker network ls` 查看结果如下:
```
~ docker network ls
NETWORK ID NAME DRIVER SCOPE
fec6ac65fff7 bridge bridge local
841f26dc5ce6 docker_gwbridge bridge local
666246ca98ac host host local
47bef3b786a3 none null local
57918bacb25f ov_net1 overlay global
```
此时在宿主机中创建容器时指定 `network` 参数为创建的 `overlay network: ov_net1` 即可跨宿主机通信,默认容器 IP 段为: `10.0.0.0/24`
如:
```
docker run -it --rm --network ov_net1 alpine:3.8
```
## 组件部署
[Elasticsearch](Elasticsearch/README.md)
[Logstash+Kafka](LogstashKafka/README.md)
[Kibana](Kibana/README.md)
[Filebeat](Filebeat/README.md)
[Kafka-Eagle](Kafka-Eagle/README.md) **Kafka Monitor 工具,建议与 Kafka 部署在同一机器**