小白实操ELK环境部署+监控nginx日志_两台机器搭建elk+nginx

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

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

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

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

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

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

正文

简介:

本次部署应用的是filebeats(客户端),logstash+elasticsearch+kibana(服务端)架构

原理及组件介绍请看我其他文章:https://blog.csdn.net/weixin_39845407/article/details/81479729

业务请求到达nginx-server机器上的Nginx; Nginx响应请求,并在access.log文件中增加访问记录; FileBeat搜集新增的日志,通过LogStash的5044端口上传日志; LogStash将日志信息通过本机的9200端口传入到ElasticSerach; 搜索日志的用户通过浏览器访问Kibana,服务器端口是5601; Kibana通过9200端口访问ElasticSerach;

实验环境:

本次部署的是单点ELK这边只用了两台机器(centos-7.1)

ELK服务端:192.168.137.128

nginx客户端:192.168.137.131

准备:

关闭防火墙

systemctl stop firewalld

或者开放对应端口:https://blog.csdn.net/weixin_39845407/article/details/81510368

下载并解压到/usr/local/

mkdir /elk;cd /elk
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.3.tar.gz
wget https://artifacts.elastic.co/downloads/logstash/logstash-6.2.3.tar.gz
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.2.3-linux-x86_64.tar.gz
tar xf kibana-6.2.3-linux-x86_64.tar.gz -C /usr/local/
tar xf elasticsearch-6.2.3.tar.gz -C /usr/local
tar xf logstash-6.2.3.tar.gz -C /usr/local

安装java1.8

yum -y install java-1.8*

也可用源码安装看心情即可

配置elasticsearch

新建elasticsearch用户(elasticsearch用普通用户启动)并启动

useradd elasticsearch
chown -R elasticsearch.elasticsearch /usr/local/elasticsearch-6.2.3/
su - elasticsearch
cd /usr/local/elasticsearch-6.2.3/
./bin/elasticsearch -d

查看进程如果没有启动成功的话,可以查看日志/usr/local/elasticsearch-6.2.3/logs/elasticsearch.log

测试是否可以正常访问

也可以网页访问

配置logstash

收集nginx日志之使用grok过滤插件解析日志

grok作为一个logstash的过滤插件,支持根据模式解析文本日志行,拆成字段。

  • nginx日志的配置:

log_format main ‘$remote_addr - r e m o t e u s e r [ remote_user [ remoteuser[time_local] “$request” $status b o d y b y t e s s e n t " body_bytes_sent " bodybytessent"http_referer" “ h t t p u s e r a g e n t " " http_user_agent" " httpuseragent""http_x_forwarded_for”’;

  • logstash中grok的正则(添加在vendor/bundle/jruby/2.3.0/gems/logstash-patterns-core-4.1.2/patterns/grok-patterns文件中)为:

WZ ([^ ]*)
NGINXACCESS %{IP:remote_ip} - - [%{HTTPDATE:timestamp}] “%{WORD:method} %{WZ:request} HTTP/%{NUMBER:httpversion}” %{NUMBER:status} %{NUMBER:bytes} %{QS:referer} %{QS:agent} %{QS:xforward}

创建logstash配置文件

cat /usr/local/logstash-6.2.3/default.conf
input {
beats {
port => “5044”
}
}

数据过滤

filter {
grok {
match => { “message” => “%{NGINXACCESS}” }
}
geoip {

nginx客户端ip

source => “192.168.137.131”
}
}

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

output {
elasticsearch {
hosts => [“127.0.0.1:9200”]
}
}

1.后台启动logstash:nohup bin/logstash -f default.conf &

2.查看启动日志:tailf nohup.out

3.查看端口是否启动:netstat -napt|grep 5044

配置kibana

打开Kibana的配置文件/usr/local/kibana-6.2.3-linux-x86_64/config/kibana.yml,找到下面这行并修改:+

#server.host: “localhost”
修改为
server.host: “192.168.137.128”

这样其他电脑就能用浏览器访问Kibana的服务了;

  1. 进入Kibana的目录:cd /usr/local/kibana-6.2.3-linux-x86_64

  2. 执行启动命令:nohup bin/kibana &

  3. 查看启动日志:tail -f nohup.out

5.查看端口是否启动:netstat -napt|grep 5601

测试:

在浏览器访问192.168.137.128:5601

到此。ELK部署完成

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

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

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

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

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

  • 18
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值