使用Docker安装ELK系列(超简单)
root权限
docker版本:1.13.1
ELK版本:6.4.3
项目中均关闭X-Pack
一、安装Elasticsearch
新建elasticsearch目录,并再其下新建文件config/elasticsearch.yml,文件内容如下:
network.host: 0.0.0.0
xpack:
ml.enabled: false
monitoring.enabled: false
security.enabled: false
watcher.enabled: false
用于配置elasticsearch。在elasticsearch目录下运行:
docker pull docker.elastic.co/elasticsearch/elasticsearch:6.4.
docker run --rm -it -p 9200: -p 9300: -v "$PWD"/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml docker.elastic.co/elasticsearch/elasticsearch:6.4.
同时其他配置文件也可以写在config文件下,同时映射进容器中。
在生产模式下配置vm.max_map_count参数(永久生效):
vi /etc/sysctl.conf
#修改vm.max_map_count =
sysctl -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.
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.
在输入中:输入的日志文件使用/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:9200
xpack:
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.
docker run --rm -it -p : -v "$PWD"/config/kibana.yml:/usr/share/kibana/config/kibana.yml docker.elastic.co/kibana/kibana:6.4.
完工
使用Docker安装ELK系列(超简单)的更多相关文章
- Docker安装ELK并实现JSON格式日志分析
ELK是什么 ELK是elastic公司提供的一套完整的日志收集以及前端展示的解决方案,是三个产品的首字母缩写,分别是ElasticSearch.Logstash和Kibana. 其中Logstash ...
- Docker 安装ELK之 zz
Docker 安装ELK之(2) 加新 2018-10-24 16:23:08 浏览2006 docker LOG js Image service 先安装Docker [root@jiaxi ...
- Docker安装教程(超详细)
Docker安装教程(超详细) 欢迎关注博主公众号「Java大师」, 专注于分享Java领域干货文章, 关注回复「资源」, 免费领取全网最热的Java架构师学习PDF, 转载请注明出处 http:// ...
- [转]docker安装elk
来源 https://www.jianshu.com/p/f549017c4b60 问题:virtual memory areas vm.max_map_count [65530] likely ...
- Docker安装ELK
1.下载elk docker pull sebp/elk 2.启动elk //Elasticsearch至少需要单独2G的内存 //增加了一个volume绑定,以免重启container以后ES的数据 ...
- Docker 安装 ELK
安装 首先安装 Docker 与 Docker-Compose 相关的组件,我们这里直接使用准备好的 ELK 镜像,执行以下命令从 Dockerhub 上拉取指定版本的镜像,在本例当中我使用的是 7. ...
- 【Docker】:docker安装ELK(logstash,elasticsearch,kibana)
一:安装logstash 1.拉取镜像 docker pull logstash:5.6.11 2.创建目录 mkdir /docker/logstash cd /docker/logstash 3. ...
- docker 安装elk
https://www.cnblogs.com/fbtop/p/11005469.html
- docker安装caffe
[最近一直想要学习caffe,但是苦苦纠结于环境安装不上,真的是第一步都迈不出去,还好有docker的存在!下面,对本人如何利用docker安装caffe做以简单叙述,不属于教程,只是记录自己都做了什 ...
随机推荐
- 关于LeetCode上链表题目的一些trick
最近在刷leetcode上关于链表的一些高频题,在写代码的过程中总结了链表的一些解题技巧和常见题型. 结点的删除 指定链表中的某个结点,将其从链表中删除. 由于在链表中删除某个结点需要找到该结点的前一 ...
- zoomeye搜索+用selenium实现对佳能打印机的爬虫
本文仅用于学习参考.要遵纪守法哦! 目的:找出一台佳能打印机,得到它的日志文件,并利用其远程打印. 1.先用zoomeye找一个打印机出来,搜索语句:printer +country:"CN ...
- Python的应用小案例
1.python统计文本中每个单词出现的次数: #coding=utf-8__author__ = 'zcg' import collectionsimport os with open('abc.t ...
- LeetCode算法题-Largest Number At Least Twice of Others(Java实现)
这是悦乐书的第308次更新,第328篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第177题(顺位题号是747).在给定的整数数组中,总有一个最大的元素.查找数组中的最大 ...
- python崩溃到现在居然还没有放弃的Day07
今天新入一个全新的知识面,叫做深浅拷贝,拷贝英文名copy,俗称复制,作为一个火影迷就会想到拷贝忍者旗木卡卡西,跑题了,在所有的数据存储时,都会有内存地址和存储地址,浅拷贝只拷贝第一层的内存地址,深拷 ...
- MySQL存储引擎InnoDB与MyISAM的区别
一.比较 事务:InnoDB是事务型的,可以使用Commit和Rollback语句. 并发:MyISAM只支持表级锁,InnoDB还支持行级锁. 外键:InnoDB支持外键. 备份:InnoDB支持在 ...
- python学习——读取染色体长度(四:获取最长染色体的编号)
# 读取fasta # 解析每条序列的长度 chr_len = {'chr1':10,'chr2':20,'chr3':30,'chr4':40,'chr5':15} # 求和 total_len = ...
- 《JAVA程序设计》_第七周学习总结
一.学习内容 1.String类--8,1知识 Java专门提供了用来处理字符序列的String类.String类在java.lang包中,由于java.lang包中的类被默认引入,因此程序可以直接使 ...
- linq中如何在join中指定多个条件
public ActionResult Edit(int id) { using (DataContext db = new DataContext(ConfigurationManager.Conn ...
- node-portfinder
nstallation $ [sudo] npm install portfinder Usage var portfinder = require('portfinder'); portfi ...