es、logstash和kibana部署在同一台服务器(centos7)的docker上
部署版本为7.1.1 ,docker版本20.10.17
1. 部署es
# 其中的 /root/docker/test可自行修改
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -v /root/docker/test/elasticsearch/data:/usr/share/elasticsearch/data -v /root/docker/test/elasticsearch/logs:/usr/share/elasticsearch/logs -e TZ=Asia/Shanghai -e ES_JAVA_OPTS="-Xms1g -Xmx1g" -e discovery.type=single-node -e TAKE_FILE_OWNERSHIP=true --restart=always elasticsearch:7.1.1
2.部署kibana
# 其中的 /root/docker/test可自行修改,ELASTICSEARCH_HOSTS=http://192.168.xxx.xxx改成部署es的服务器地址
docker run -d --name kibana -e TZ=Asia/Shanghai --restart=always -e ELASTICSEARCH_HOSTS=http://192.168.xxx.xxx:9200 -p 5601:5601 -e discovery.type=single-node -v /root/docker/test/kibana/config/:/usr/share/kibana/config kibana:7.1.1
3.部署logstash
注意:
挂载的路径需要拥有所有用户都可以访问的权限
执行以下命名开放权限
chmod 777 /root/docker/test/logstash/config
chmod 777 /root/docker/test/logstash/data
chmod 777 /root/docker/test/logstash/pipeline
chmod 777 /root/docker/test/logstash/logs
# 其中的 /root/docker/test可自行修改
docker run -d --name logstash -e TZ=Asia/Shanghai --restart=always -p 5043:5043 -p 5044:5044 -v /root/docker/test/logstash/config/:/usr/share/logstash/config -v /root/docker/test/logstash/data:/usr/share/logstash/data -v /root/docker/test/logstash/pipeline:/usr/share/logstash/pipeline -v /root/docker/test/logstash/conf/:/usr/share/logstash/conf -v /root/docker/test/logstash/logs/:/var/log/messages -e TAKE_FILE_OWNERSHIP=true logstash:7.1.1
运行完以上命令后,使用docker ps -a
查看,发现kibana和logstash并不能成功启动,因为两者还需要配置文件
4.配置kibana
因为在步骤2中,指明了 ELASTICSEARCH_HOSTS=http://192.168.xxx.xxx:9200,所以kibana.yml中elasticsearch.hosts: [ “http://elasticsearch:9200” ]不配置也行。
将kibana.yml放到 /root/docker/test/kibana/config/路径下
kibana.yml
# 将http://elasticsearch:9200改为自己部署的elasticsearch的地址
# Default Kibana configuration for docker target
server.name: kibana
server.host: "0"
elasticsearch.hosts: [ "http://elasticsearch:9200" ]
xpack.monitoring.ui.container.elasticsearch.enabled: true
i18n.locale: "zh-CN"
5.配置logstash
去这里免费下载https://download.csdn.net/download/weixin_45753881/86263352
将以下文件放入服务器的/root/docker/test/logstash/config/路径中(/root/docker/test/logstash/config/是步骤3中配置的)
编辑logstash.yml,其中http://192.168.xxx.xxx:9200为es的地址
http.host: "0.0.0.0"
xpack.monitoring.elasticsearch.hosts: [ "http://192.168.xxx.xxx:9200" ]
path.config: /usr/share/logstash/conf/*.conf
path.logs: /usr/share/logstash/logs