ubuntu18 docker中部署ELK
ELK是ElasticSearch、Logstash、Kibana的简称,一般用于日志系统,从日志收集,日志转储,日志展示等入手,用以提供简洁高效的日志处理机制。
鉴于没有额外的机器,这里就用docker来简单模拟下一个简单ELK系统的部署和使用。
搭建ElasticSearch
新建elasticsearch目录,并再其下新建文件config/elasticsearch.yml,文件内容如下:
network.host: 0.0.0.0
xpack:
ml.enabled: false
monitoring.enabled: false
security.enabled: false
watcher.enabled: false
在ubuntu 主机配置vm.max_map_count参数(永久生效):
vi /etc/sysctl.conf
#修改vm.max_map_count =
sysctl -p
(一次生效):sysctl -w vm.max_map_count=262144
2.在elasticsearch 文件夹下执行
docker pull docker.elastic.co/elasticsearch/elasticsearch:6.4.
docker run --rm -it -p : -p : -v "$PWD"/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml docker.elastic.co/elasticsearch/elasticsearch:6.4.
同时其他配置文件也可以写在config文件下,同时映射进容器中;至此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,内容为(192.168.100.3 是我ubuntu的主机ip):
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 => ["192.168.100.3: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.htm
安装kibana
新建kibana文件夹,并在其下新建config/kibana.yml文件,内容如下:
server.host: "0.0.0.0"
elasticsearch.url: http://192.168.100.3: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.
运行结果:
当然安装也可以用 caas/docker-elk 一键搞定
参考文章 :
https://www.cnblogs.com/hackyo/p/9951684.html
https://www.jianshu.com/p/b81e1b7c0efb
http://chenzhijun.me/2017/12/27/elk-docker/
https://blog.csdn.net/Marksinoberg/article/details/87434155
ubuntu18 docker中部署ELK的更多相关文章
- 使用Docker快速部署ELK分析Nginx日志实践(二)
Kibana汉化使用中文界面实践 一.背景 笔者在上一篇文章使用Docker快速部署ELK分析Nginx日志实践当中有提到如何快速搭建ELK分析Nginx日志,但是这只是第一步,后面还有很多仪表盘需要 ...
- 使用Docker快速部署ELK分析Nginx日志实践
原文:使用Docker快速部署ELK分析Nginx日志实践 一.背景 笔者所在项目组的项目由多个子项目所组成,每一个子项目都存在一定的日志,有时候想排查一些问题,需要到各个地方去查看,极为不方便,此前 ...
- 在docker中部署centos7镜像
本篇文章参考自: https://www.cnblogs.com/linjj/p/5606911.html https://blog.csdn.net/u012767761/article/detai ...
- docker 中部署一个springBoot项目
docker 中部署一个springBoot项目 (1)介绍 springBoot项目 1.项目结构 2.pom.xml <?xml version="1.0" encodi ...
- 如果在docker中部署tomcat,并且部署java应用程序
1.先说如何在docker中部署tomcat 第一步:root用户登录在系统根目录下创建文件夹tomcat7,命令如:mkdir tomcat7,并且切换到该目录下:cd tomcat7: 第二步:创 ...
- 在Docker中部署GreatSQL并构建MGR集群
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 为了方面社区用户体验GreatSQL,我们同时还提供Docker镜像,本文详细介绍如何在Docker中部署GreatSQL ...
- Docker中部署Kubernetes
Kubernetes为Google开源的容器管理框架,提供了Docker容器的夸主机.集群管理.容器部署.高可用.弹性伸缩等一系列功能:Kubernetes的设计目标包括使容器集群任意时刻都处于用户期 ...
- docker中部署mongodb副本集
1.基本信息如下 服务器地址 192.168.73.129 副本集名称 rs 容器节点及端口映射 m0 37017:27017 m1 47017:27017 ...
- docker方式部署elk日志搜索平台
Docker部署ELKF操作文档 前提介绍 1.之前搭建elk+f+k使用原生系统软件安装方式,由于docker镜像日趋成熟,docker官网和elastic官网都有相关镜像和各自安装文档可供参考,各 ...
随机推荐
- Elasticsearch 在 7.X版本中去除type的概念
背景说明 Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎.无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进.性能最好的.功能最全的搜索引擎库. El ...
- The field file exceeds its maximum permitted size of 1048576 bytes.
问题原因:Spring Boot内置tomcat限制了请求文件的大小 下面是修改方法:根据自己的Spring Boot版本 2.0之后版本的修改方式 在主配置文件 application.proper ...
- elastic常用工具
elasticsearch 常用工具: elasticsearch-dump :备份 elasticsearch-head :数据展示.操作平台 elasticsearch-head github 地 ...
- 2019牛客国庆day3-G &CF1238E
牛客G: 给定大小为N的数组a[],给定M组关系,让你重排a[],使得sum{M队关系的绝对值之差}最小.首先将a排序,然后依次把a填入数组. 假设i在二进制下有x个1,用dp[i]更新dp[i|(1 ...
- HBaseAPI
环境准备 新建项目后在pom.xml中添加依赖: <dependency> <groupId>org.apache.hbase</groupId> <arti ...
- crystalreport使用方法
使用: 打开CrystalReport官网下载页 目前最新版本为13.0.4 选择“SAP Crystal Reports, version for Visual Studio 2010 - Stan ...
- Spring Cloud微服务安全实战_3-3_API安全之流控
这几篇将API安全的 流控.认证.审计.授权 简单的过一遍,对这些概念先有个初步印象.后边还会详细讲解. 本篇说API安全之流控~第一印象. 一.概念 流控,流量控制,只放系统能处理的请求的数量过去, ...
- proc介绍,free命令查看内存
proc介绍 https://www.cnblogs.com/dongzhuangdian/p/11366910.html https://blog.csdn.net/majianting/artic ...
- [RN] React Native 使用 阿里 ant-design
React Native 使用 阿里 ant-design 实例效果如图: 一.安装 npm install antd-mobile-rn --save npm install babel-plugi ...
- 如何更新GitHub上的代码?
更新github上的代码 一.克隆代码 1.先是把自己GitHub上的代码克隆到本地(下载到本地) 步骤1.随便创建一个新文件夹(用来存放下载下来的代码) 步骤2.在文件夹中打开cmd 输入下载指令下 ...