docker搭建elk+cerebro环境
ELK的帮助手册
Docker Hub官网:https://hub.docker.com/r/sebp/elk/
Docker ELK使用文档:http://elk-docker.readthedocs.io/
1.基础知识介绍
首先我们必须明白什么是elk,E --> elasticsearch L --> logstash k --> kibana
(1)elasticsearch 是一个开源分布式搜索引擎 ,其特点为分布式,零配置,索引自动分片等
(2)logstash 是一个完全开源的工具,可以对你的日志进行收集,分析,储存
(3)kibana 是一个开源免费的工具,为我们提供web界面
2.开始安装
(1)安装条件
(1)Docker至少得分配3GB的内存;
(2)Elasticsearch至少需要单独2G的内存;
(3)vm.max_map_count至少需要262144,sysctl -p 查看
在/etc/sysctl.conf下可修改
(2)开始安装
docker pull sebp/elk
下载镜像
docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -e ES_MIN_MEM=128m -e ES_MAX_MEM=1024m -it --name elk sebp/elk
运行镜像,打开5601端口查看是否安装完成
(3)配置
1、使用命令:docker exec -it <container-name> /bin/bash 进入容器内
2、执行命令:
/opt/logstash/bin/logstash -e 'input { stdin { } } output { elasticsearch { hosts => ["localhost"] } }'
注意:如果看到这样的报错信息 Logstash could not be started because there is already another instance using the configured data directory. If you wish to run multiple instances, you must change the "path.data" setting. 请执行命令:service logstash stop 然后在执行就可以了。
3、当命令成功被执行后,看到:Successfully started Logstash API endpoint {:port=>9600} 信息后,输入:this is a dummy entry
然后回车,模拟一条日志进行测试。
4、打开浏览器,输入:http://<your-host>:9200/_search?pretty 如图,就会看到我们刚刚输入的日志内容
3.安装cerebro
docker search cerebro docker pull yannart/cerebro docker run -d --name cerebro -p 9000:9000 yannart/cerebro
4. 网页进入 ip:9000 连接es 注意 连接时是 http://ip:9200