# 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 ![architecture diagram](imgs/Earthling-architecture.png) ## 硬件配置: ### 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 部署在同一机器**