- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Spring Boot 搭建 ELK正确看日志的配置流程由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
ELK实际上是三个工具,Elastricsearch + Logstash + Kibana,通过ELK,用来收集日志还有进行日志分析,最后通过可视化UI进行展示。一开始业务量比较小的时候,通过简单的SLF4J+Logger在服务器打印日志,通过grep进行简单查询,但是随着业务量增加,数据量也会不断增加,所以使用ELK可以进行大数量的日志收集和分析 。
简单画了一下架构图 。
在环境配置中,主要介绍Mac和Linux配置,Windows系统大致相同,当然,前提是大家都安装了JDK 1.8及以上版本~ 。
注意:高版本的ELK同样需要高版本的JDK支持,本文配置的ELK版本是6.0+,所以需要的JDK版本不小于1.8 。
Elasticsearch是一个分布式的RESTful风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。作为Elastic Stack的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况.
Mac安装和运行:
Linux:从Elasticsearch官方地址下载(也可以下载完,通过ftp之类的工具传上去),gz文件的话通过tar进行解压缩,然后进入bin目录下运行软件.
注意:在Linux机器上,运行Elasticsearch需要一个新的用户组,文章最后有Elastic在Linux安装的踩坑记录.
Logstash是开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中。(我们的存储库当然是Elasticsearch。)——官方卖萌 。
Mac安装:
Linux安装:
修改配置文件 。
conf文件,指定要使用的插件,和配置对应的elasticsearch的hosts.
运行 。
访问 http://localhost:9600/ 。
在Elasticsearch日志中,也能看到Logstash正常加入的日志.
[2018-08-16T14:08:36,436][INFO ][o.e.c.m.MetaDataIndexTemplateService] [f2s1SD8] adding template [logstash] for index patterns [logstash-*] 。
看到这种返回值,表示已经成功安装和启动.
踩坑 。
在运行的那一步,有可能遇到内存分配错误:
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c5330000, 986513408, 0) failed; error='Cannot allocate memory' (errno=12) 。
这个错误很明显就是内存不足,由于个人购买的是腾讯云1G内存的服务器(如果是壕,请随意购买更高的配置=-=),已经运行了Elasticsearch,导致Logstash分配不到足够的内存,所以最后要修改一下JVM配置.
将-Xms1g -Xmx1g修改为:
-Xms256m 。
-Xmx256m 。
然后就能正常启动了~~ 。
Kibana 。
软件安装 。
Kibana让您能够可视化Elasticsearch中的数据并操作Elastic Stack,因此您可以在这里解开任何疑问:例如,为何会在凌晨2:00被传呼,雨水会对季度数据造成怎样的影响。(而且展示的图标十分酷炫) 。
Mac安装:
Linux安装,官方下载地址: https://www.elastic.co/downloads/kibana 。
在这一步,有可能下载速度奇慢,所以我本地下载好之后,通过rz命令传输到服务器.
修改config/kibana.yml配置文件,设置elasticsearch.url指向Elasticsearch实例.
如果跟我一样使用默认的配置,可以不需要修改该文件.
启动 。
访问 http://localhost:5601/app/kibana#/home?_g= () 。
界面显示了这么多功能,下面通过整合SLF4J+LogBack.
整合Spring+Logstash 。
修改logstash.conf后,重新启动Logstash 。
在Java应用中引用依赖 。
在logback.xml中配置日志输出 。
由于我在第一步骤中,没有指定对应的index,所以在服务启动的时候,日志采集器Logstash帮我自动创建了logstash-timestamp的index.
在Kibana中添加index索引 。
在左边discover中查看索引信息 。
添加可视化图表Visualize 。
还有更多功能还在探索中,首先环境搭起来才会用动力继续去学习~ 。
踩坑记录 启动报错 。
uncaught exception in thread [main] org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root 。
原因: 不能使用Root权限登录 。
解决方案: 切换用户 。
错误原因:使用非 root用户启动ES,而该用户的文件权限不足而被拒绝执行.
解决方法: chown -R用户名:用户名 文件(目录)名 。
例如: chown -R abc:abc searchengine,再启动ES就正常了 。
Elasticsearch启动后报Killed 。
[2018-07-13T10:19:44,775][INFO ][o.e.p.PluginsService ] [f2s1SD8] loaded module [aggs-matrix-stats] 。
[2018-07-13T10:19:44,779][INFO ][o.e.p.PluginsService ] [f2s1SD8] loaded module [analysis-common] 。
[2018-07-13T10:19:44,780][INFO ][o.e.p.PluginsService ] [f2s1SD8] loaded module [ingest-common] 。
[2018-07-13T10:19:44,780][INFO ][o.e.p.PluginsService ] [f2s1SD8] loaded module [lang-expression] 。
[2018-07-13T10:19:44,780][INFO ][o.e.p.PluginsService ] [f2s1SD8] loaded module [lang-mustache] 。
[2018-07-13T10:19:44,780][INFO ][o.e.p.PluginsService ] [f2s1SD8] loaded module [lang-painless] 。
[2018-07-13T10:19:44,780][INFO ][o.e.p.PluginsService ] [f2s1SD8] loaded module [mapper-extras] 。
[2018-07-13T10:19:44,780][INFO ][o.e.p.PluginsService ] [f2s1SD8] loaded module [parent-join] 。
[2018-07-13T10:19:44,780][INFO ][o.e.p.PluginsService ] [f2s1SD8] loaded module [percolator] 。
[2018-07-13T10:19:44,780][INFO ][o.e.p.PluginsService ] [f2s1SD8] loaded module [rank-eval] 。
[2018-07-13T10:19:44,781][INFO ][o.e.p.PluginsService ] [f2s1SD8] loaded module [reindex] 。
[2018-07-13T10:19:44,781][INFO ][o.e.p.PluginsService ] [f2s1SD8] loaded module [repository-url] 。
[2018-07-13T10:19:44,781][INFO ][o.e.p.PluginsService ] [f2s1SD8] loaded module [transport-netty4] 。
[2018-07-13T10:19:44,781][INFO ][o.e.p.PluginsService ] [f2s1SD8] loaded module [tribe] 。
[2018-07-13T10:19:44,781][INFO ][o.e.p.PluginsService ] [f2s1SD8] loaded module [x-pack-core] 。
[2018-07-13T10:19:44,781][INFO ][o.e.p.PluginsService ] [f2s1SD8] loaded module [x-pack-deprecation] 。
[2018-07-13T10:19:44,781][INFO ][o.e.p.PluginsService ] [f2s1SD8] loaded module [x-pack-graph] 。
[2018-07-13T10:19:44,781][INFO ][o.e.p.PluginsService ] [f2s1SD8] loaded module [x-pack-logstash] 。
[2018-07-13T10:19:44,782][INFO ][o.e.p.PluginsService ] [f2s1SD8] loaded module [x-pack-ml] 。
[2018-07-13T10:19:44,782][INFO ][o.e.p.PluginsService ] [f2s1SD8] loaded module [x-pack-monitoring] 。
[2018-07-13T10:19:44,782][INFO ][o.e.p.PluginsService ] [f2s1SD8] loaded module [x-pack-rollup] 。
[2018-07-13T10:19:44,782][INFO ][o.e.p.PluginsService ] [f2s1SD8] loaded module [x-pack-security] 。
[2018-07-13T10:19:44,782][INFO ][o.e.p.PluginsService ] [f2s1SD8] loaded module [x-pack-sql] 。
[2018-07-13T10:19:44,782][INFO ][o.e.p.PluginsService ] [f2s1SD8] loaded module [x-pack-upgrade] 。
[2018-07-13T10:19:44,782][INFO ][o.e.p.PluginsService ] [f2s1SD8] loaded module [x-pack-watcher] 。
[2018-07-13T10:19:44,783][INFO ][o.e.p.PluginsService ] [f2s1SD8] no plugins loaded 。
Killed 。
修改config目录下的jvm.options,将堆的大小设置小一点.
虚拟内存不足 。
需要修改虚拟内存的大小(在root权限下) 。
[2018-07-13T14:02:06,749][DEBUG][o.e.a.ActionModule ] Using REST wrapper from plugin org.elasticsearch.xpack.security.Security 。
[2018-07-13T14:02:07,249][INFO ][o.e.d.DiscoveryModule ] [f2s1SD8] using discovery type [zen] 。
[2018-07-13T14:02:09,173][INFO ][o.e.n.Node ] [f2s1SD8] initialized 。
[2018-07-13T14:02:09,174][INFO ][o.e.n.Node ] [f2s1SD8] starting ... 。
[2018-07-13T14:02:09,539][INFO ][o.e.t.TransportService ] [f2s1SD8] publish_address {10.105.234.23:9300}, bound_addresses {0.0.0.0:9300} 。
[2018-07-13T14:02:09,575][INFO ][o.e.b.BootstrapChecks ] [f2s1SD8] bound or publishing to a non-loopback address, enforcing bootstrap checks 。
ERROR: [1] bootstrap checks failed 。
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] 。
[2018-07-13T14:02:09,621][INFO ][o.e.n.Node ] [f2s1SD8] stopping ... 。
[2018-07-13T14:02:09,726][INFO ][o.e.n.Node ] [f2s1SD8] stopped 。
[2018-07-13T14:02:09,726][INFO ][o.e.n.Node ] [f2s1SD8] closing ... 。
[2018-07-13T14:02:09,744][INFO ][o.e.n.Node ] [f2s1SD8] closed 。
到此这篇关于Spring Boot 搭建 ELK正确看日志的配置流程的文章就介绍到这了,更多相关Spring Boot 搭建 ELK内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。
原文链接:http://dockone.io/article/1904921 。
最后此篇关于Spring Boot 搭建 ELK正确看日志的配置流程的文章就讲到这里了,如果你想了解更多关于Spring Boot 搭建 ELK正确看日志的配置流程的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我正在尝试代理运行 ELK 的后端服务器。这是我的环境信息: root@proxy:~# root@proxy:~# cat /etc/*release DISTRIB_ID=Ubuntu DISTR
我正在尝试为 Elasticsearch 设置 Shield,但遇到了一些问题 当我尝试像这样启动 Elasticsearch 时: /usr/share/elasticsearch/bin/elas
我知道有很多解决方案,但我找不到最佳解决方案。 我正在使用ELK ** 5.x,**我正在尝试将Kibana配置为依赖于日志文件中的时间戳而不是插入时间戳中的时间戳 这是来自日志文件的示例: {"@t
我们在 K8S pod 中部署了应用程序,并且所有日志都在 ELK 堆栈中进行监控。现在我们有一个使用外部 *.jar 的应用程序,它正在将日志写入容器路径本地的一个文件中。我如何将此日志发送到 ku
我正在使用ELK watcher进行2.2版警报,我的查询输出是这样的 { "took": 549, "timed_out": false, "_shards": {
我有一个使用 Lumen 5.8 制作的微服务,我需要将所有日志发送到 Logstash,以便将它们保存在 ElasticSearch 中。 我需要尝试配置流明日志,但没有任何效果。 我在 loggi
我的系统记录请求。 如果以及何时到达响应,我希望将其与请求对象一起记录。 意思是,当我查询ElasticSearch的 Activity 时,我将为每个请求获得一行,其中要么包含响应,要么不包含响应。
我正在尝试在Kibana上创建带有GEO定位点的Tile map 。 由于某些原因,当我尝试创建 map 时,我在Kibana上收到以下消息: No Compatible Fields: The "l
我的集群中索引很少 索引_2019-01-01 index_2019-01-02 索引_2019-01-03 索引_2019-01-04 索引_2019-01-05 索引_2019-01-06 有两个
重新编制 flex 搜索索引的最佳实践是什么? This帖子有几个步骤,涉及在重新索引索引之前停止logstash索引器,但是作为生产服务器,这不是我的选择。 我有一个问题,因为缺少默认的映射模板,索
在遵循此tuto(https://www.bmc.com/blogs/elasticsearch-logs-beats-logstash/)以使用logstash分析某些日志文件之后,我的索引在第一次
我已经设置了本地ELK。一切正常,但是在尝试编写自己的GROK模式之前,我想知道Winston风格的日志已经存在了吗? 这对于Apache样式日志非常有用。 我需要一些适合Winston风格的东西。我
或者是我搜索能力真的很差,或者App Insights和ELK stack之间没有详细的比较? 所有监控都将用于简单的 Web API,将有大量端点,但用户流量不应太高。 所以我的问题.. 在 ELK
已关闭。此问题旨在寻求有关书籍、工具、软件库等的建议。不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以
我正在尝试用ELK搭建一个日志分析系统。我看到很多以不同方式使用 ELK 的架构。其中之一是 Logstash->Redis->Logstash->Elasticseach->Kibana 第一个Lo
将 NLog 与 Elasticsearch target 一起使用将日志转发到 AWS Elasticsearch as a Service Kibana 中的可视化集群。 这工作正常,但由于 ES
根据logstash-logs,我正在使用https://hub.docker.com/r/sebp/elk/的Docker ELK容器,一切正常且正在运行。 现在,我尝试从Kafka接收数据并使用以
关于轮询/存储日志文件,我有两难选择。 情况是,我们需要监视Cloudhub中的日志,将它们与Logstash聚合并存储(可能与ElasticSearch一起存储)。 Anypoint Runtime
我正在尝试寻找一种在kibana 5.3上解析UserAgent的方法,以便获得以下响应: "aws-sdk-java/1.11.76 Mac_OS_X/10.12.5" "aws-sdk-java/
我已经使用ELK套件处理了日志文件,现在可以在Kibana上查看我的日志了。 我已经在Internet上搜索过,似乎找不到从几个月前在Kibana中可见的所有旧日志删除的方法。 (我的解释很好)。我只
我是一名优秀的程序员,十分优秀!