CentOS 6(1),2024年最新软件测试面试吃透这一篇就没有拿不到的offer

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注软件测试)
img

正文

一.简介

ELK Stack是软件集合Elasticsearch、Logstash、Kibana的简称,由这三个软件及其相关的组件可以打造大规模日志实时处理系统。

其中,Elasticsearch 是一个基于 Lucene 的、支持全文索引的分布式存储和索引引擎,主要负责将日志索引并存储起来,方便业务方检索查询。

Logstash是一个日志收集、过滤、转发的中间件,主要负责将各条业务线的各类日志统一收集、过滤后,转发给 Elasticsearch 进行下一步处理。

Kibana是一个可视化工具,主要负责查询 Elasticsearch 的数据并以可视化的方式展现给业务方,比如各类饼图、直方图、区域图等。

所谓“大规模”,指的是 ELK Stack 组成的系统以一种水平扩展的方式支持每天收集、过滤、索引和存储 TB 规模以上的各类日志。

通常,各类文本形式的日志都在处理范围,包括但不限于 Web 访问日志,如 Nginx/Apache Access Log 。

基于对日志的实时分析,可以随时掌握服务的运行状况、统计 PV/UV、发现异常流量、分析用户行为、查看热门站内搜索关键词等。
在这里插入图片描述
上图是ELK Stack实际应用中典型的一种架构,其中:

1)filebeat:部署在具体的业务机器上,通过定时监控的方式获取增量的日志,并转发到Kafka消息系统暂存。

2)Kafka:以高吞吐量的特征,作为一个消息系统的角色,接收从filebeat收集转发过来的日志,通常以集群的形式提供服务。

3)logstash:然后,Logstash从Kafka中获取日志,并通过Input-Filter-Output三个阶段的处理,更改或过滤日志,最终输出我们感兴趣的数据。通常,根据Kafka集群上分区(Partition)的数量,1:1确定Logstash实例的数量,组成Consumer Group进行日志消费。

4)elasticsearch:最后,Elasticsearch存储并索引Logstash转发过来的数据,并通过Kibana查询和可视化展示,达到实时分析日志的目的。

Elasticsearch/Kibana还可以通过安装x-pack插件实现扩展功能,比如监控Elasticsearch集群状态、数据访问授权等。

我们一步步安装部署Elastic Stack系统的各个组件,然后以网站访问日志为例进行数据实时分析。

首先,到ELK 官网下载需要用到的Filebeat/Logstash/Elasticsearch/Kibana软件安装包。(推荐下载编译好的二进制可执行文件,直接解压执行就可以部署)

二.环境准备:

System: Centos release 6.8

ElasticSearch: 5.4.1

Logstash: 5.4.1

Kibana: 5.4.1

Java: openjdk version “1.8.0_161”

redis:3.05

Nginx: 1.10.1

1…下载软件包:

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.4.1.tar.gz

wget https://artifacts.elastic.co/downloads/kibana/kibana-5.4.1-linux-x86_64.tar.gz

wget https://artifacts.elastic.co/downloads/logstash/logstash-5.4.1.tar.gz

wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.4.1-linux-x86_64.tar.gz

wget http://download.redis.io/releases/redis-3.0.5.tar.gz

yum install java-1.8.0-openjdk

2.准备
1)下面的命令实现永久关闭SELinux

[root@elk ~]# sed -i ‘s/SELINUX=.*/#&/;s/SELINUXTYPE=.*/#&/;/SELINUX=.*/a SELINUX=disabled’ /etc/sysconfig/selinux

#永久修改下主机名,需要重启系统之后生效

#下面的命令实现临时关闭SELinux

[root@elk ~]# setenforce 0

setenforce: SELinux is disabled

2) 修改主机名

#临时修改

[root@elk ~]#hostname elk.server.com

#永久修改

[root@elk ~]# vi /etc/sysconfig/network

localhost.localdomain ------》把这行修改成下面的

elk.server.com #修改成你自己的主机名

#添加域名

[root@elk ~]#cat /etc/hosts

192.168.10.243 elk.server.com

3)关闭防火墙

#临时关闭

[root@elk ~]# iptables -F

或者

[root@elk ~]# service iptables stop

  1. 同步时间

ntpdate -u ntp.api.bz

三.安装redis

#创建安装目录

[root@elk yum.repos.d]#mkdir -pv /data/application/

#编译并进行安装

[root@elk ~]# tar zxf redis-3.0.5.tar.gz && cd redis-3.0.5

[root@elk redis-3.0.5]# make PREFIX=/data/application/redis-3.0.5 install

#创建配置文件目录

[root@elk redis-3.0.5]#mkdir /data/application/redis-3.0.5/{etc,run,log}

#修改redis.conf

[root@elk redis-3.0.5]#cp /data/application/redis-3.0.5/redis.conf etc/

[root@elk redis-3.0.5]#vi /data/application/redis-3.0.5/redis.conf

修改以下几项:

daemonize yes #后台模式运行

pidfile /data/application/redis-3.0.5/run/redis.pid #redis的pid

bind 0.0.0.0 #这里根据自己的ip填写

port 6379#端口

logfile “/data/application/redis-3.0.5/log/redis.log” #log存放位置

dir /data/application/redis-3.0.5

#启动redis

执行下面的命令

[root@elk~]#/ data/application/redis-3.0.5/bin/redis-server /data/application/redis-3.0.5/etc/redis.conf

#查看是否启动成功

[root@elk ~]# lsof -i:6379

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

redis-ser 2736 root 4u IPv4 26198 0t0 TCP 192.168.10.243:6379 (LISTEN)

#测试redis

[root@localhost ~]# /data/application/redis-3.0.5/bin/redis-cli -h 192.168.10.243

192.168.10.243:6379> ping

PONG

#出现PONG,证明可以使用

四. 安装elasticsearch

注意:

es(elasticsearch)版本2.x以上需要JDK 1.8以上

运行es不能使用root用来来运行

es目录必须指定一个普通用户和组(授权)

es对内存和CPU的消耗比较高

es使用的端口看开放iptables:9200,9300等

es配置其他插件实现资源等可视化监控

es的版本和插件之间版本要匹配

es集群配置,第一节点配置好scp到其他节点即可(修改配置文件)

#创建elk用户

[root@localhost application]# adduser -s /bin/bash -c ‘elk’ -m -d /home/elk elk

注:

从2.0开始不能用root用户启动需要elk用户启动

#解压

[root@elk elk_pack]# tar zxvf elasticsearch-6.01.tar.gz -C /data/application/

注:

Elasticsearch是不需要编译的,解压就可以使用

备份配置文件

[root@elk ~]# cp /data/application/elasticsearch-6.01/config/elasticsearch.yml{,.ori}

#找到以下几行修改

[root@elk config]# vi elasticsearch.yml

path.data: /data/shuju ----》存放数据路径

path.logs: /data/logs -----》日志路径

network.host: 0.0.0.0 -----》根据自己的ip修改

http.port: 9200

bootstrap.memory_lock: false

bootstrap.system_call_filter: false

#创建los,shuju

[root@elk config]#mkdir /data/{shuju,logs}

#修改elasticsearch权限

[root@elk ~]#chown -R elk.elk /data/application/elasticsearch-6.0.1./

[root@elk ~]#chown -R elk.elk /data/{shuju,logs}

[root@elk ~]# su – elk

#在前台显示下效果

[elk@elk ~]$/data/application/elasticsearch-6.0.1/bin/elasticsearch

#测试是否成功

[root@elk ~]# curl 192.168.10.243:9200

{

“name” : “z8htm2J”,

“cluster_name” : “elasticsearch”,

“cluster_uuid” : “wEbF7BwgSe-0vFyHb1titQ”,

“version” : {

“number” : “6.0.1”,

“build_hash” : “3adb13b”,

“build_date” : “2017-03-23T03:31:50.652Z”,

“build_snapshot” : false,

“lucene_version” : “6.4.1”

},

“tagline” : “You Know, for Search”

}

启动elasticsearch出现如下错误

1.问题:最大线程数,打开的太低,需要增加线程数

max number of threads [1024] for user [elasticsearch] likely toolow, increase to at least [2048]

解决:

vi /etc/security/limits.d/90-nproc.conf

* soft nproc 2048

2.问题:打开虚拟内存的个数太少需要增加

max virtual memory areas vm.max_map_count [65530] likely toolow, increase to at least [262144]

解决:

[root@elk ~]#vi /etc/sysctl.conf

vm.max_map_count=655360

[root@elk ~]#sysctl -p

注:

vm.max_map_count文件允许max_map_count限制虚拟内存的数量

3.max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

#临时修改

[root@elk ~]# ulimit -SHn 65536

注:

-S 设置软件资源限制

-H 设置硬件资源限制

-n 设置内核可以同时可以打开文件描述符

[root@elk ~]# ulimit -n

65536

注:

修改这个原因,启动elasticsearch 会出现这个情况too many open files,导致启动失败

#永久修改

#在文件最后添加

[root@elk ~]# vi /etc/security/limits.conf

* soft nofile 65536

* hard nofile 131072

* soft nproc 2048

* hard nproc 4096

注:

文件格式:username|@groupname type resource limit

分为3中类型type(有 soft,hard 和 -)

soft是指当前系统生效的设置值

hard 系统设置的最大值

[if !supportLists]- [endif]同时设置了soft和hard的值

nofile - 打开文件的最大数目

noproc - 进程的最大数目

soft<=hard soft的限制不能比hard限制高

#需要重启系统才会生效

五.安装logstash

#解压

[root@elk elk_pack]# tar zxvf logstash-6.0.1tar.gz -C /data/application/

注:

Logstash是不需要编译的,解压就可以使用

#测试能否使用

[root@elk ~]# /data/application/logstash-6.0.1/bin/logstash -e ‘input { stdin { } } output {stdout {} }’

Sending Logstash’s logs to /data/application/logstash-5.2.0/logs which is now configured via log4j2.properties

The stdin plugin is now waiting for input:

[2017-04-12T11:54:10,457][INFO ][logstash.pipeline ] Starting pipeline {“id”=>“main”, “pipeline.workers”=>1, “pipeline.batch.size”=>125, “pipeline.batch.delay”=>5, “pipeline.max_inflight”=>125}

[2017-04-12T11:54:10,481][INFO ][logstash.pipeline ] Pipeline main started

[2017-04-12T11:54:10,563][INFO ][logstash.agent ] Successfully started Logstash API endpoint {:port=>9600}

hello world ---->输入hell world,随便输入什么,能输出就证明可以使用

2017-04-12T03:54:40.278Z localhost.localdomain hello world ---->输出hello world

/data/application/logstash-5.2.0/vendor/bundle/jruby/1.9/gems/logstash-patterns-core-4.0.2/patterns

六、安装Kibana

#解压

[root@elk elk_pack]# tar zxvf kibana-6.0.1-linux-x86_64.tar.gz -C /data/application/

注:

Kibana是不需要编译的,解压就可以使用

#修改配置kibana.yml文件

#cd kibana这个目录

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
le/jruby/1.9/gems/logstash-patterns-core-4.0.2/patterns

六、安装Kibana

#解压

[root@elk elk_pack]# tar zxvf kibana-6.0.1-linux-x86_64.tar.gz -C /data/application/

注:

Kibana是不需要编译的,解压就可以使用

#修改配置kibana.yml文件

#cd kibana这个目录

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
[外链图片转存中…(img-x0EgFGLq-1713289220797)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值