富森美身为LP,一周投三笔
06-18
简介 ELK=elasticsearch+logstash+kibana,常被用作大型分布式系统日志分析、采集和处理的解决方案 ElasticSearch是一个基于Lucene的搜索服务器。它提供了分布式多用户功能基于 RESTful Web 界面的全文搜索引擎。
Elasticsearch采用Java语言开发,是流行的企业级搜索引擎。 Logstash是一个日志收集、分析和过滤的工具。
客户端一般部署在用于收集日志的主机上,服务器端负责接收日志并进行过滤,然后转发到elasticsearch。 Kibana是一个用于汇总、分析和搜索日志的工具。
它可以为elasticsearch和logstash提供友好的日志分析Web界面。前提是腾讯云服务器或者其他类型的服务器。
安装Docker服务(点击查看详细安装步骤),在防火墙和安全组中打开,以及端口建立步骤。服务器配置 1. 在 vi?? /etc/security/limits.conf 中设置最大可打开文件数,添加以下内容。
代码语言:txt copy * soft nofile 6 * Hard nofile 6 2、设置es启动时线程池的最小容量 vi /etc/security/limits.d/20-nproc.conf,修改以下内容(如果是)注释掉了请放开,很重要!)代码语言:txt copy * soft nproc root soft nproc unlimited 3.设置一个进程可以拥有的VMA(虚拟内存区域)数量 vi /etc/sysctl.conf 添加以下内容代码语言:txt copy vm.max_map_count=60 使用命令使sysctl配置生效 sysctl -p 安装配置ELK镜像 1.Docker安装ELK镜像代码语言:txt copy docker pull sebp/elk:latest 注意:如何查看docker版本?只需进入Ddcoker Hub官网,搜索您需要下载的镜像(图1),在Tag页面找到您需要下载的版本(图2),图1 图22.运行elk镜像代码语言:txt copy docker run -d \-e ES_JAVA_OPTS="-Xmsm -Xmxm" \-p :-p :-p :-p :-it \--restart=always --name elk2 1fbb13d6 注意: 1. 根据您的情况分配合适的内存服务器内存大小,这里m内存分配一段时间(1核2G参考配置) 2. -p 用于映射需要使用的端口,在docker容器和服务器端口之间 3. --restart=always允许docker镜像生成的容器实例开机自动启动(只要docker服务启动) 4. 1fbb13d6指的是elk的镜像ID。可以通过docker images命令查看镜像ID3。
检查elk容器启动日志。如果没有错误,可以测试elasticsearch和kibana是否可以访问代码语言:txt Copy #查看日志 docker log -f -t elk #查看elasticsearch #查看kibana 修改logstash配置代码语言:txt Copy #进入容器docker exec -it elk /bin/bash# 编辑配置文件 vim /etc/logstash/conf.d/02-beats-input.conf。
修改配置文件指定端口为服务器端,输出到本地elasticsearch,并添加日志。 index(方便在kibana上找到对应的日志) 代码语言:txt copy input { tcp { port => codec => json_lines }}output{ elasticsearch {hosts => ["localhost:"] index => "rizhi-log- % {+YYYY.MM.dd}" }}5.退出容器并重新启动容器。
代码语言:txt copy # 退出容器 ctrl + p + q (按住ctrl的同时先按p再按q) # 重启容器 docker restart elk 再次测试elasticsearch和kibana是否可以接入项目集成 1.添加logstash插件 -在任何 Springboot 项目中以代码语言编写: txt copy
在 sspringboot启动类编写测试接口并启动项目。访问接口类 DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } Logger logger = LoggerFactory.getLogger("DemoApplication" ); @RequestMapping("/test/{name}") public String test1(@PathVariable String name){ logger.info("用户名注册成功 6、用户名:" +name); return name+"登录成功" ; }}localhost:/test/Test elk用户kibana查看日志 1、登录kibana,进入kiban中的管理页面,创建索引,用于接收指定格式日志名的日志。
在kiban管理页面创建日志索引 2、输入rizhi -log-*进行匹配(会匹配所有以rizhi-log-开头的日志),然后点击下一步,选择@timestamp创建日志索引过滤格式,选择@用于全局时间过滤的时间戳 3. 如果您需要将一些数据索引到 Elasticsearch 中,然后才能创建索引模式,或者输入灰显后下一步或出现没有与您的搜索条件匹配的结果。这是因为里面没有数据。
在命令行中输入虚假数据。代码语言:txt 复制curl -H "Content-Type: application/json" -XPOST ' -d '{"code":,"message":"Test";}'4.在 kibana Web 界面的 discovery 下查看生成的日志。
查看“发现”下的实时日志。
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
标签:
相关文章
06-18
06-17
06-18
06-17
06-18
最新文章
【玩转GPU】ControlNet初学者生存指南
【实战】获取小程序中用户的城市信息(附源码)
包雪雪简单介绍Vue.js:开学
Go进阶:使用Gin框架简单实现服务端渲染
线程池介绍及实际案例分享
JMeter 注释 18 - JMeter 常用配置组件介绍
基于Sentry的大数据权限解决方案
【云+社区年度征文集】GPE监控介绍及使用