在宿主机上运行:
cd scripts/
./ek.sh
在宿主机上运行:
curl http://0.0.0.0:9200
curl http://0.0.0.0:5601
或者在浏览器上打开它们.
./metricbeat.sh
docker ps
可以看到metricbeat_test
容器正在运行,如果没有,就等一会儿再次运行它,可能因为ElasticSearch和Kibana的启动需要一定的时间,而这时候启动MetricBeat将导致失败。
浏览器访问http://hostIP:5601
,点击左侧的Dashboard.
你将看到metricbeat-*
相关的Tab,如果没有看到图表,或者图表为空,可能是选择的时间段有错。系统默认选择的是Last 15 minutes
,但是可能因为虚拟机(特别是Windows的HyperV+Linux)中的时间不对。(可以参考这里)
./resetall.sh
./filebeat.sh
docker ps
docker pull elasticsearch
docker pull kibana
docker pull docker.elastic.co/beats/metricbeat:6.3.0
docker pull docker.elastic.co/beats/filebeat:6.3.0
https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-module-system.html
因为docker中使用了用户1000来运行beat,但是启动docker的时候,默认是root,所以在读取/修改--volume 卷
里的配置文件的时候,会遇到权限不足的问题。
方法1:
在宿主机上将对应目录/文件修改Owner即可。假设执行下面的语句会遭遇权限问题:
docker run -d -v "$PWD/logs/":/usr/share/filebeat/logs/ docker.elastic.co/beats/filebeat:6.3.0
在此之前在宿主机上需要运行:
chown -R 1000 $PWD/logs/
并且调整docker运行语句为:(注意有个 :z )
docker run -d -v "$PWD/logs/":/usr/share/filebeat/logs/:z docker.elastic.co/beats/filebeat:6.3.0
方法2:
和方法1类似,只是将这个过程放到Dockerfile中,建立自定义的Dockerfile。