赞
踩
centOS7.8
docker pull docker.elastic.co/elasticsearch/elasticsearch:7.17.22
docker pull docker.elastic.co/kibana/kibana:7.17.22
Docker 安装 ELK(Elasticsearch、Logstash、Kibana)的过程可以分为几个主要步骤。以下是基于参考文章中的信息整理出的安装步骤,以清晰、分点的方式呈现:
操作系统要求:确保你的Linux系统内核版本在3.0以上,且运行内存不小于2G。如果低于2G,需要调整Elasticsearch的JVM设置。
Docker版本:注意Docker版本与操作系统的兼容性。某些较旧的操作系统版本可能无法安装最新版本的Docker。
JDK安装:在Linux系统上安装JDK并配置环境变量。
非root用户:不要使用root用户登录系统执行安装,使用其他用户。
Docker Compose 是一个容器编排工具,用于定义和管理多个容器的配置和连接。安装命令如下:
sudo curl -L "https://github.com/docker/compose/releases/download/v2.5.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
为ELK的组件创建挂载目录,例如:
mkdir -p /home/docker/elk/{elasticsearch/{data,plugins},logstash/{config,pipeline},kibana/config} chmod -R 777 /home/docker/elk/elasticsearch/ ├── docker-compose.yml ├── elasticsearch │ └── data ├── kibana │ └── config │ └── kibana.yml └── logstash ├── config │ └── logstash.yml └── pipeline └── # 这里应该包含你的Logstash配置文件,例如 logstash.conf # 拉取镜像 docker pull docker.elastic.co/elasticsearch/elasticsearch:7.17.22 docker pull docker.elastic.co/kibana/kibana:7.17.22 docker pull docker.elastic.co/logstash/logstash:7.17.22
创建一个名为 docker-compose.yml 的文件,并定义ELK的配置。例如:
version: '3' services: elasticsearch: image: elasticsearch:7.17.22 container_name: elk_elasticsearch restart: always environment: - "cluster.name=elasticsearch" - "discovery.type=single-node" - "ES_JAVA_OPTS=-Xms512m -Xmx1024m" volumes: - /home/docker/elk/elasticsearch/data:/usr/share/elasticsearch/data - /home/docker/elk/elasticsearch/plugins:/usr/share/elasticsearch/plugins ports: - "9200:9200" - "9300:9300" networks: - elk # ...(Logstash和Kibana的配置类似) networks: elk: driver: bridge
使用Docker Compose启动ELK容器:
docker-compose up -d
访问 http://<your_ip>:9200/ 来验证Elasticsearch是否运行正常。
使用Kibana的Web界面来查询和展示日志数据。
版本一致性:确保Elasticsearch、Logstash、Kibana和可能使用的其他组件(如Filebeat)的版本号一致。
权限问题:如果遇到权限错误,确保为ELK的挂载目录设置了正确的权限。
虚拟内存调整:如果Elasticsearch启动失败并提示 max virtual memory areas vm.max_map_count 错误,需要增加系统的虚拟内存限制。可以通过编辑 /etc/sysctl.conf 文件并添加 vm.max_map_count=262144 来实现。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。