前段时间搭建运行了一个windows版的elk,主要目的是为了研究elk的整个运行过程
https://blog.csdn.net/LUNG108/article/details/115968732
目录
2. 修改filebeat的启动方式 -- 自定义脚本命令行
写在前面
这次是在虚拟机搭建的elk,总共开了5台虚拟机:kibana、elasticsearch、logstash各一台,filebeat两台
1. 确保各个机器之间可以连通
kibana:192.168.0.13
elasticsearch:192.168.0.14
logstash:192.168.0.9
filebeat:192.168.0.12 和 192.168.0.17
2. 我在所有的虚拟机根目录都创建了 /apps目录,然后再在其中创建对应名称的目录, 比如:kibana机 是 /apps/kibana,elasticsearch机是 /apps/elasticsearch ...
安装方式:
kibana、elasticsearch 为docker
logstash、filebeat 为压缩包 (没用docker是因为在过程中需要读取文件,但是docker安装的话,路径什么都是docker容器内部的,还要挂载出来,比较麻烦;另外如果他们需要多台的话,直接复制压缩包就行了)
一、elasticsearch 安装
1. 拉取镜像
可以安装官网给的拉去方式:https://www.elastic.co/guide/en/elasticsearch/reference/7.6/docker.html
docker pull docker.elastic.co/elasticsearch/elasticsearch:7.6.2
2. 启动容器
docker run \
--name elasticsearch \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms128m -Xmx128m" \
-v /apps/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /apps/elasticsearch/config/jvm.options:/usr/share/elasticsearch/config/jvm.options \
-v /apps/elasticsearch/data:/usr/share/elasticsearch/data \
-v /apps/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
docker.elastic.co/elasticsearch/elasticsearch:7.6.2
# elasticsearch.yml
http.host: 0.0.0.0
挂载了三个文件及目录
启动后,本机 curl localhost:9200 和 其他机 访问 http://192.168.0.14:9200 确定成功启动
二、kibana 安装
1. 拉取镜像
可以安装官网给的拉去方式:https://www.elastic.co/guide/en/kibana/7.6/docker.html
docker pull docker.elastic.co/kibana/kibana:7.6.2
2. 启动容器
docker run \
--name kibana \
-p 5601:5601 \
-v /apps/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml \
docker.elastic.co/kibana/kibana:7.6.2
挂载一个文件
#kibana.yml
server.name: kibana
server.host: "0.0.0.0"
elasticsearch.hosts: [ "elasticsearch:9200" ]
# elasticsearch.username: 'kibana'
# elasticsearch.password: '123456'xpack.monitoring.ui.container.elasticsearch.enabled: true
i18n.locale: "zh-CN"
其中连接 elasticsearch的hosts,我用了域名映射--