Docker ELK 教程
1. 项目的目录结构及介绍
docker-elk-tutorial/
├── django-tutorial/
├── docker-elk/
│ ├── elasticsearch/
│ ├── kibana/
│ ├── logstash/
│ ├── docker-compose.yml
│ └── README.md
├── docker-logging/
├── python-logging/
├── .gitignore
├── LICENSE
└── README.md
django-tutorial/
: Django 项目的示例目录。docker-elk/
: 包含 ELK 堆栈的 Docker 配置文件和目录。elasticsearch/
: Elasticsearch 的配置和数据目录。kibana/
: Kibana 的配置目录。logstash/
: Logstash 的配置和管道目录。docker-compose.yml
: Docker Compose 文件,用于启动 ELK 堆栈。README.md
: 项目的说明文档。
docker-logging/
: Docker 日志配置示例目录。python-logging/
: Python 日志配置示例目录。.gitignore
: Git 忽略文件。LICENSE
: 项目许可证。README.md
: 项目的主说明文档。
2. 项目的启动文件介绍
docker-compose.yml
version: '3'
services:
elasticsearch:
image: elasticsearch:7.9.1
container_name: elasticsearch
ports:
- "9200:9200"
- "9300:9300"
environment:
- discovery.type=single-node
kibana:
image: kibana:7.9.1
container_name: kibana
ports:
- "5601:5601"
environment:
- ELASTICSEARCH_URL=http://elasticsearch:9200
logstash:
image: logstash:7.9.1
container_name: logstash
ports:
- "5000:5000"
- "12201:12201/udp"
volumes:
- ./logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml:ro
- ./logstash/pipeline:/usr/share/logstash/pipeline:ro
elasticsearch
: 使用 Elasticsearch 7.9.1 镜像,暴露端口 9200 和 9300。kibana
: 使用 Kibana 7.9.1 镜像,暴露端口 5601,并配置 Elasticsearch 的 URL。logstash
: 使用 Logstash 7.9.1 镜像,暴露端口 5000 和 12201/udp,并挂载配置文件和管道目录。
3. 项目的配置文件介绍
elasticsearch/config/elasticsearch.yml
cluster.name: "docker-cluster"
network.host: 0.0.0.0
discovery.type: single-node
cluster.name
: 集群名称。network.host
: 网络主机地址。discovery.type
: 发现类型,设置为单节点模式。
kibana/config/kibana.yml
server.name: kibana
server.host: "0.0.0.0"
elasticsearch.hosts: [ "http://elasticsearch:9200" ]
server.name
: Kibana 服务器名称。server.host
: 服务器主机地址。elasticsearch.hosts
: Elasticsearch 的 URL。
logstash/config/logstash.yml
http.host: "0.0.0.0"
path.config: "/usr/share/logstash/pipeline"
http.host
: HTTP 主机地址。path.config
: 配置文件路径。
logstash/pipeline/logstash.conf
input {
tcp {
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考