• 测试开发技能实践搭建ELK日志管理系统


    每天进步一点点,关注我们哦,每天分享测试技术文章

    本文章出自【码同学软件测试】

    码同学公众号:自动化软件测试,领取资料可加:magetest

    码同学抖音号:小码哥聊软件测试


    前言

    随着测试人员代码能力的不断增强,现在越来越多的测试工程师转向了测试开发岗位,用代码来解决测试中的效率问题。可以看到几乎现在所有的测试部门都在搞平台化,接口测试平台、性能测试平台等等。

    当你开发一个测试平台的时候,日志是其中很重要的一个组成部分,通常来说,日志都是写到日志文件中的。但是很多时候,当项目出现一些问题时,你就需要去日志中查找一些关键信息,这个时候,你可能面临这些问题:

    • 不确定日志是哪一天记录的,找不到对应的日志文件

    • 日志文件内容过多,无法快速搜索出指定的日志信息

    • 在集群环境下,不确定日志记录在哪一台服务器上

    因此,传统形式的日志存储和搜索就会面临越来越多的效率问题。可不可以有一套日志管理系统,集成了日志收集、存储、展示功能,来解决目前存在的日志查看效率低下、缺少可视化界面等问题,ELK就是在这种场景下诞生了。

    01ELK简介

    ELK:ElasticSerach、Logstash、Kibana三款产品名称的首字母集合,用于日志的搜集和搜索。简单地理解为我们可以把服务端的日志(如nginx、tomcat等)直接web化展示查看,十分方便。

    以下就以Tomcat为例,将tomcat的catalina.out中的日志展示在ELK平台中。

    1.1 ELK部署架构

    1.2 ELK工作流程

    1. 业务请求到达tomcat,并记录日志到catalina.out文件中;
    2. FileBeat搜集catalina.out中新增的日志,通过LogStash的5044端口上传日志;
    3. LogStash将日志信息通过本机的9200端口传入到ElasticSerach;
    4. Kibana通过9200端口访问ElasticSerach;
    5. 用户通过浏览器访问Kibana,进行日志搜索

    1.3下载ELK全套安装包

    官网下载:https://www.elastic.co/cn/start

    02ELK环境搭建

    2.1 java环境配置

    因为ElasticSerach运行需要java环境支持,所以首先要配置java环境,比较简单,具体方法可以自行百度。

    2.2 修改系统最大链接数

    1、修改Linux系统允许创建最大的连接数

    vi /etc/security/limits.conf

    在最后一行添加:

    * soft nofile 1000000

    * hard nofile 1000000

    2、保存文件,退出当前会话,重新登录系统。

    3、执行ulimit -n查看是否生效,如果显示1000000则代表修改成功。

    2.3 安装elasticsearch

    1、将elasticsearch的安装包解压

    2、因为elasticsearch不允许用root用户启动,所以先创建非root用户

    创建es用户组:group add es
    创建es用户:user add es -g es
    修改elasticsearch目录为es用户:chown -R es:es elasticsearch-6.6.0

    3、进入到elasticsearch的bin目录下,执行启动命令:

    ./elasticsearch -d

    4、执行命令,检查es是否启动成功

    curl http://localhost:9200

    免费领取码同学软件测试课程笔记+超多学习资料+完整视频+面试题,可加微信:magetest

    有如下信息,代表启动成功

    5、安装完毕后,切换回root用户

    su root

    2.4 安装logstash

    1、解压logstash

    2、配置logstash

    logstash的config目录下,创建default.conf,配置好输入和输出信息,内容如下:

    # 监听5044端口作为输入

    input {

      beats {

        port => "5044"

        client_inactivity_timeout => 36000

      }

    }

    # 数据过滤

    filter {}

    # 输出配置为本机的9200端口,这是ElasticSerach服务的监听端口

    output {

      elasticsearch {

        hosts => ["127.0.0.1:9200"]

      }

    }

    3、在bin目录下启动logstash

    nohup ./logstash -f ../config/default.conf &

    2.5 安装Kibana

    1、解压kibana

    2、修改config目录下的kibana.yml

    打开server.host的注释,修改ip为0.0.0.0

    3、启动kibana

    在kibana的bin目录下,执行命令启动

    nohup ./kibana &

    4、访问kibana

    在浏览器中输入http://{ip}:5601,如果能看到kibana页面,代表部署成功

    2.6 安装Filebeat

    1、解压filebeat

    2、修改配置文件filebeat.yml

    enabled设置为true
    paths下设置为监控的日志文件

    hosts:logstash的部署ip和端口号

    3、启动filebeat

    nohup ./filebeat -e -c filebeat.yml &

    03使用kibana查看日志

    1、浏览器打开http://{kibana部署ip}:5601

    2、调用Tomcat中的web项目,产生业务日志

    3、点击kibana中的"Discover",就可以看到es中保存的业务日志数据

    免费领取码同学软件测试课程笔记+超多学习资料+学习完整视频 ☞ 可加:magetest/关注码同学公众号:自动化软件测试

    本文著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

  • 相关阅读:
    jQuery表单选择器 安静点
    设计模式建造者模式
    设计模式组合模式
    设计模式单例模式
    简述ASP.NET网站开发步骤
    设计模式适配器模式
    设计模式工厂方法模式
    设计模式桥接模式
    设计模式装饰模式
    设计模式抽象工厂方法模式
  • 原文地址:https://www.cnblogs.com/testfan2019/p/16590506.html
Copyright © 2020-2023  润新知