成都网站建设设计

将想法与焦点和您一起共享

怎么用springboot设置ELK堆栈-创新互联

这篇文章的知识点包括:ELK堆栈的介绍、ELK堆栈的设置以及spring boot设置ELK堆栈的方法,阅读完整文相信大家对ELK堆栈的设置有了一定的认识。

10年积累的成都网站设计、成都做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有临泉免费网站建设让你可以放心的选择与我们合作。

什么是ELK?

ELK是Elasticsearch,Logstash和Kibana的首字母缩写。 它是Elastic拥有的开源软件。

Elasticsearch是基于Apache Lucene的搜索引擎,几乎可以实时搜索,存储和分析大量数据。 Elasticsearch可以在内部安装,也可以用作SaaS应用程序。
Logstash是日志聚合器,它具有一个管道来接收输入,过滤数据并发送输出。 Logstash可以使用不同的输入插件从各种来源获取日志,并以所需的方式发送输出。
Kibana是用于可视化Elasticsearch数据的软件。 它是Elasticsearch的插件。 Elasticsearch和Kibana可以部署为云服务,并寄托在AWS或GCP上。 Kibana也可以安装在内部基础结构中。 在本教程中,我们将使用ELK的Docker映像并将其在EC2中进行设置。

设计架构

在以上设计中,不同的微服务将吐出日志。 我们将拥有Syslog驱动程序,以将从不同的微服务生成的日志推送到Logstash,后者将过滤日志并将其推送到Elasticsearch。 所有汇总的日志将在Kibana中显示。

在EC2上设置ELK

我们将使用官方Docker镜像在EC2 Ubuntu计算机上设置ELK。 登录到EC2服务器,并在路径/ home / ubuntu /中创建一个名为“ elk”的目录。
请按照此处提到的步骤在EC2上安装Docker。

导航到elk目录并创建一个名为docker-compose.yml的文件

version: '2'
services:
   elasticsearch:
     image: docker.elastic.co/elasticsearch/elasticsearch:6.3.2
     ports:
       - '9200:9200'
       - '9300:9300'
   kibana:
     image: docker.elastic.co/kibana/kibana:6.3.2
     ports:
       - '5601:5601'
     depends_on:
       -  elasticsearch
   logstash:
     image: docker.elastic.co/logstash/logstash:6.3.2
     ports:
       - '25826:25826'
     volumes:
       - $PWD/elk-config:/elk-config
     command: logstash -f /elk-config/logstash.config
     depends_on:
       -  elasticsearch
       -

Elasticsearch默认使用mmapfs目录存储其索引。 默认的操作系统对mmap计数的限制可能太低,这可能会导致内存不足异常。
在Linux上,你可以通过以root用户身份运行以下命令来分配大内存来增加限制:
sudo sysctl -w vm.max_map_count=262144
运行docker-compose up来启动ELK的所有容器。

通过单击端口5601验证Kibana是否已启动。你应该看到以下页面:

在Kibana中设置索引模式。

运行telnet [logstash的IP] [logstash的端口]并输入任何文本(例如telnet 52.207.254.8 25826)
一旦你可以在Kibana中看到文本,则意味着已为ELK设置了连接性。
接下来,我们将看到如何将日志从微服务推送到ELK。

设置系统日志驱动程序

为了从EC2中寄托的微服务发送日志,我们可以使用syslog驱动程序将日志推送到Logstash。 我正在使用该项目作为日志。 我们将在EC2中运行此项目。
我们需要对Ubuntu计算机中存在的rsyslog.conf进行更改。
vi /etc/rsyslog.conf
取消注释以下行:

现在,在spring boot项目的logback.xml中添加以下行:


   {logstash host }
   { logstash port 25826 }
   LOCAL1
   [%thread] %logger %msg

上面的设置会将日志推送到Logstash。
如果项目是使用Docker构建的,那么我们需要使用docker run命令添加驱动程序:
–log-driver syslog –log-opt syslog-address = tcp:// {logstashhost}:{logstashport}
在启动服务器并点击API时,你可以在Kibana中看到日志。

看完上述内容,你们对用spring boot设置ELK堆栈的方法有进一步的了解吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章名称:怎么用springboot设置ELK堆栈-创新互联
新闻来源:http://chengdu.cdxwcx.cn/article/ecspd.html