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,显示日志收集成功

相关推荐
诚丞成11 小时前
ELK日志分析:Elasticsearch索引、Logstash接入与Kibana可视化
elk·elasticsearch·jenkins
新鲜势力呀1 天前
PHP 日志系统实战:从排查线上故障困难到 ELK日志分析 + 链路追踪 + 实时监控完整架构方案
elk·架构·php
SelectDB技术团队9 天前
Agent Trace 数据底座建设:宽表建模、全文检索与成本聚合的配置与验证步骤
大数据·python·clickhouse·elk·elasticsearch·全文检索·复杂查询
谢亮_vipxieliang10 天前
容器日志收集与管理:从 stdout 规范到 ELK/Loki 落地
运维·网络·人工智能·elk·docker·容器
SelectDB技术团队10 天前
ELK 太占磁盘、ES 总报写入拒绝:从归因到可执行的优化清单
大数据·clickhouse·elk·elasticsearch·全文检索·复杂查询·实时更新
yunqiz24 天前
ELK Stack生产环境部署指南:Filebeat + Elasticsearch + Logstash + Kibana
elk·elasticsearch
LIXIUPING20141 个月前
微服务分布式日志环境完整搭建实战|从服务改造到 ELK 集群部署、全流程可落地
elk·elasticsearch·logstash·filebeat·分布式日志
LlmCraft|大模型工程实践1 个月前
12. Docker 日志管理与监控:ELK 日志收集 + Prometheus 性能监控
elk·docker·prometheus
2401_834636991 个月前
ELK 全栈深度实战|从集群部署到日志可视化完整落地
elk
飞火流星020271 个月前
ELK(Elasticsearch+Logstash+Kibana)传统日志采集架构与ELFKK(Elasticsearch+Logstash+Kibana+Filebeat+Kafka)对比
elk·elfkk·传统elk日志采集·elk增加filebeat·elk增加kafka