使用Docker安装ELK

举报
kkxavier 发表于 2019/01/29 08:58:24 2019/01/29
【摘要】 root权限docker版本:1.13.1ELK版本:6.4.3项目中均关闭X-Pack一、安装Elasticsearch新建elasticsearch目录,并再其下新建文件config/elasticsearch.yml,文件内容如下:network.host: 0.0.0.0xpack: ml.enabled: false monitoring.enabled: false sec...

root权限

docker版本:1.13.1

ELK版本:6.4.3

项目中均关闭X-Pack

一、安装Elasticsearch

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

network.host: 0.0.0.0xpack:
  ml.enabled: false
  monitoring.enabled: false
  security.enabled: false
  watcher.enabled: false

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

docker pull docker.elastic.co/elasticsearch/elasticsearch:6.4.3docker 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参数(永久生效):

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

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

至此elasticsearch安装完成。

 

二、安装Logstash

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

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

logstash.yml:


config:
  reload:
    automatic: true
    interval: 3s
xpack:
  management.enabled: false
  monitoring.enabled: false


pipelines.yml:

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

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


input {    file {
        path => ["/usr/share/logstash/pipeline/logs/test.log"]
        start_position => "beginning"
    }
}

filter {
  mutate {
    gsub => ["message", "\r", ""]
  }
  dissect {
    mapping => {"message" => "%{date} %{+date} [%{task} %{+task}] [%{type}] %{class} - %{info}"}
  }
}

output {
    elasticsearch { hosts => ["127.0.0.1:9200"] }
    stdout { codec => rubydebug }
}


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

docker pull docker.elastic.co/logstash/logstash:6.4.3docker 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文件,内容如下:


server.host: "0.0.0.0"elasticsearch.url: http://127.0.0.1:9200xpack:
  apm.ui.enabled: false
  graph.enabled: false
  ml.enabled: false
  monitoring.enabled: false
  reporting.enabled: false
  security.enabled: false
  grokdebugger.enabled: false
  searchprofiler.enabled: false


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

docker pull docker.elastic.co/kibana/kibana:6.4.3docker 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

 完工


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。