1、ELK的架构和安装

ELK简介

elk:elasticsearch logstash kibana,统一日志收集系统。

elasticsearch:分布式的全文索引引擎的非关系数据库,json格式,在elk中存储所有的日志信息,架构有主和从,最少需要2台。

logstash:动态的从各种指定的数据源,获取数据,而且对数据进行过滤,分析。按照统一的格式发送到es。

kibana:把es的数据进行展示,进行客户端可以理解的操作,汇总、分析和搜索数据的平台。

ELK的架构

工作原理

  1. logstash收集日志数据
  2. 收集到的数据按照es的格式,发送到数据库
  3. 在图像界面展示--kibana
  4. 客户端访问kibana

数据库基本都是物理服务器

nginx可以微服务部署,redis也可以微服务部署;keep/lvs?docker可以部署,k8s不需要。

安装ELK

注意安装ELK内存不能少于4G,安装过程中要先检查下内存,不够的话清理下

echo 3 > /proc/sys/vm/drop_caches

实验架构如下

es1:zw4,192.168.254.14

es2:zw5,192.168.254.15

logstash、kibana:mysql1,192.168.254.31

安装elasticsearch

1、安装java依赖环境

2、提前准备好es包,并安装

3、两台es服务器修改es主配置文件 /etc/elasticsearch/elasticsearch.yml

配置es1,具体修改如下

配置es2,具体修改如下

两台es服务器共同操作

保存退出后,一键检查两台es配置有无问题

4、启动elasticsearch.service并检查是否启动成功

首先查看日志,显示已启动

再查看端口,显示端口已启

最后看浏览器能否正常访问

安装logstash和kibana

1、安装java依赖环境

2、安装logstash和kibana包

dpkg -i logstash-6.7.2.deb

dpkg -i kibana-6.7.2-amd64.deb

3、先开启logstash服务,再创建软连接

回到别的目录下,看logstash能否自动补齐

4、配置kibana配置文件/etc/kibana/kibana.yml,创建kibana日志文件

修改配置文件前先创建备份文件

具体修改如下

创建kibana日志文件并赋权

重启后发现kibana启动成功

收集日志

当我们进行索引管理时,发现没有记录,说明我们没有logstash还不能收集数据。

1、创建logstash的本地日志收集文件

  • conf.d:是logstash存放日志的目录
  • system.conf:创建日志收集文件,必须要以.conf

具体脚本内容和注释如下

2、开启日志收集

​​​​​​-f:file,从指定文件开始收集

--path.data /opt/test1:没启动一个logstash就会有一个数据文件,默认都在/var/log/logstash

最后显示logstash日志收集成功

3、登录kibana,显示日志收集成功

这时候,我们可以先启动nginx,再关闭nginx,可以发现日志收集更新也正常

filebeat

filebeat:是一款轻量级的日志收集工具,不依赖java环境。

用来替代在机器上没有java环境的情况下进行日志收集。

filebeat启动收集日志,只要10M左右的内存。、

elk+filebeat架构

elk+filebeat实操

在上面实现ELK的基础上,完成elk+filebeat实操。

实验架构如下

filebeat:mysql2,192.168.254.32

我们在192.168.254.32主机上,安装filebeat软件,然后模拟filebeat收集本机上nginx和mysql日

志。具体操作如下:

1、首先配置mysql主配置文件,打开mysql日志记录功能

2、安装filebeat包,filebeat包解压即用

3、配置filebeat主配置文件/usr/local/filebeat/filebeat.yml,添加内容和注释如下

  • #指定本机收集nginx和mysql日志,包括类型、收集日志的位置及索引名称等
  • #允许这个进程开启线程
  • #logstash的端口,不是说logstash一定是5044,理论上来说可以是任意端口,5044是logstash起始端口,如果被别的程序占用,可以从5044依次往后改。

4、创建logstash的nginx和mysql日志收集文件/etc/logstash/conf.d/test1.conf

5、先启动filebeat,再启动logstash的日志收集文件test1.conf

  • -e:输出的格式为标准输出
  • -c:指定配置文件

最后我们在启动filebeat程序运行中,可以看出filebeat的主机和logstash的主机连接成功

6、登录kibana,显示日志收集成功

相关推荐
陆鳐LuLu3 小时前
日志管理利器:基于 ELK 的日志收集、存储与可视化实战
运维·elk·jenkins
程序猿熊跃晖9 小时前
多环境日志管理:使用Logback与Logstash集成实现高效日志处理
spring boot·elk·logback
Swift社区13 小时前
【微服务优化】ELK日志聚合与查询性能提升实战指南
spring·elk·微服务·云原生·架构
日月星宿~5 天前
【ELK】【Elasticsearch 】DSL 和 DQL
elk
学Linux的语莫7 天前
ELK架构基础
linux·elk
运维老司机8 天前
Elasticsearch+Logstash+Kibana可视化集群部署
大数据·elk·elasticsearch·logstash·kibana的使用
艾文伯特17 天前
最新EFK(Elasticsearch+FileBeat+Kibana)日志收集
elk·elasticsearch·运维开发
huhy~18 天前
基于ansible部署elk集群
elk·ansible
S-X-S22 天前
ELK模块封装starter
elk
运维实战课程1 个月前
elk(都是6.2.4重点-版本2-收集nginx日志并分析绘图(单点es,redis缓存)-无filebeat
nginx·elk·缓存