经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Docker » 查看文章
使用Docker安装ELK系列(超简单)
来源:cnblogs  作者:hackyo  时间:2018/11/14 9:46:45  对本文有异议

root权限

docker版本:1.13.1

ELK版本:6.4.3

项目中均关闭X-Pack

一、安装Elasticsearch

新建elasticsearch目录,并再其下新建文件config/elasticsearch.yml,文件内容如下:

  1. network.host: 0.0.0.0
  2. xpack:
  3. ml.enabled: false
  4. monitoring.enabled: false
  5. security.enabled: false
  6. watcher.enabled: false

 用于配置elasticsearch。在elasticsearch目录下运行:

  1. docker pull docker.elastic.co/elasticsearch/elasticsearch:6.4.3
  2. docker run --rm -it -p 9200:9200 -p 9300:9300 -v "$PWD"/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml docker.elastic.co/elasticsearch/elasticsearch:6.4.3

同时其他配置文件也可以写在config文件下,同时映射进容器中。

在生产模式下配置vm.max_map_count参数(永久生效):

  1. vi /etc/sysctl.conf
  2. #修改vm.max_map_count = 262144
  3. sysctl -p

(一次生效):sysctl -w vm.max_map_count=262144

至此elasticsearch安装完成。

 

二、安装Logstash

新建logstash文件夹,并在其下新建config、pipeline两个文件夹

其中config文件夹下有文件logstash.yml、pipelines.yml。内容分别为:

logstash.yml:

  1. config:
  2. reload:
  3. automatic: true
  4. interval: 3s
  5. xpack:
  6. management.enabled: false
  7. monitoring.enabled: false

pipelines.yml:

  1. - pipeline.id: test
  2. path.config: "/usr/share/logstash/pipeline/logstash-test.conf"

然后pipeline文件夹下有文件logstash-test.conf,内容为:

  1. input {
  2. file {
  3. path => ["/usr/share/logstash/pipeline/logs/test.log"]
  4. start_position => "beginning"
  5. }
  6. }
  7. filter {
  8. mutate {
  9. gsub => ["message", "\r", ""]
  10. }
  11. dissect {
  12. mapping => {"message" => "%{date} %{+date} [%{task} %{+task}] [%{type}] %{class} - %{info}"}
  13. }
  14. }
  15. output {
  16. elasticsearch { hosts => ["127.0.0.1:9200"] }
  17. stdout { codec => rubydebug }
  18. }

最后在logstash文件夹下运行命令:

  1. docker pull docker.elastic.co/logstash/logstash:6.4.3
  2. docker run --rm -it -v "$PWD"/pipeline/:/usr/share/logstash/pipeline/ -v "$PWD"/config/:/usr/share/logstash/config/ docker.elastic.co/logstash/logstash:6.4.3

在输入中:输入的日志文件使用/usr/share/logstash/pipeline/logs/test.log,只需将日志文件放入pipeline/logs/下,或者手动映射进容器即可。另外输入文件路径支持模糊匹配。

在过滤器中定义了去掉消息中的换号符号,以及定义了消息格式。这里的消息格式自定义方法参阅:https://www.elastic.co/guide/en/logstash/6.4/filter-plugins.html

 

 三、安装kibana

新建kibana文件夹,并在其下新建config/kibana.yml文件,内容如下:

  1. server.host: "0.0.0.0"
  2. elasticsearch.url: http://127.0.0.1:9200
  3. xpack:
  4. apm.ui.enabled: false
  5. graph.enabled: false
  6. ml.enabled: false
  7. monitoring.enabled: false
  8. reporting.enabled: false
  9. security.enabled: false
  10. grokdebugger.enabled: false
  11. searchprofiler.enabled: false

最后在kibana文件夹下运行命令:

  1. docker pull docker.elastic.co/kibana/kibana:6.4.3
  2. docker run --rm -it -p 5601:5601 -v "$PWD"/config/kibana.yml:/usr/share/kibana/config/kibana.yml docker.elastic.co/kibana/kibana:6.4.3

 完工

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号