当前位置: 首页 > news >正文

Linux学习14-logstash插件,日志采集及可视化,ES数据备份与集群监控

logstash插件

file输入插件

从本地文件系统中读取日志内容,类似于 tail -f 命令,持续监控文件新增内容并采集

编辑之前的conf.d文件

指定读取本机系统日志文件,指定从头开始读取,创建syslog

启动 Logstash 进程,将服务器上的 /var/log/messages 历史日志全部抓取出来,在屏幕上显示的同时发送到远程的 Elasticsearch 集群中存储

浏览器访问elastic search-head192.168.154.170:9100,出现syslog

sincedb文件一共6个字段
1.inode编号
2.文件系统的主要设备号
3.文件系统的次要设备号
4.文件中的当前字节偏移量
5.最后一个活动时间戳(浮点数)
6.与此记录匹配的最后一个已知路径
.sincedb文件保存文件读取进度,避免数据冗余读取

这里删除.sincedb文件使其强制从头读取,若之前配置文件出错且读取,也需删除该文件

syslog 插件

通过网络协议(TCP/UDP)接收远程设备发送的 syslog 日志,监听指定端口,以实现采集多个 主机的日志

再次修改es.conf

其他三个sever上修改rsyslog服务的配置文件

去掉以下行的注释,开启udp服务,监听514端口

将这里IP改为sever5IP

重启服务

sever5上出现提示

浏览器上已经可以看到来自sever1(167)的日志信息,其他两个sever相同

多行过滤插件

将属于同一条日志的多行内容合并为一行,避免一条日志被拆分成多条事件

从sever1将被采集的日志文件放到 Logstash 能读取到的位置

新建文件

input { file { ... } }:指定 Logstash 去读取 /var/log/my-es.log 这个文件,并且从文件开头开始读取
codec => multiline:Elasticsearch 的日志通常包含多行报错信,如果一行不是以 [ 开头(negate => true),就把它合并到上一行去,保证一条完整的报错日志不会被拆散
output { elasticsearch { ... } }:指定 Logstash 把处理好的数据发送到 IP 为 192.168.154.167 (sever1)的 Elasticsearch 服务器,并按天建立索引

开始读取

来到浏览器界面,已经出现myeslog,查看中间的数据列表,可以看到原始日志的长度,包含很多换行和报错堆栈,但在列表中只显示为一条记录

grok过滤插件

将非结构化的纯文本日志解析为结构化的字段(key-value),方便后续在 Elasticsearch 中搜索和聚合

sever5下载httpd服务,设置开机自启

写入测试页

模拟请求,访问此站点生成日志信息

‘新建文件

编辑文件

输入(Input):配置 file 插件读取 /var/log/httpd/access_log,是 Apache 服务器记录用户访问请求的标准日志文件,start_position => "beginning" 表示从文件头开始读取历史数据
过滤(Filter):使用了 Grok 插件。利用预定义的正则表达式模式 %{HTTPD_COMBINEDLOG},将一行杂乱的文本日志自动拆解为结构化字段(如 IP、时间、请求路径、状态码等)
输出(Output):将处理好的数据发送到sever1的9200端口的 Elasticsearch 集群,并按天创建索引

运行logstash,开始读取文件

浏览器查看新出现的apachelog,发现原本是一整行文本的日志(message 字段),现在被拆分成了独立的字段

filebeat日志采集

Filebeat 是一个 Elastic Beat组件;一款轻量级的日志数据转发器,用于转发和集中日志数据。Filebeat 作为代理安装在指定的服务器上,会监控指定的日志文件或位置,收集日志事件,并将其转发到Elasticsearch或 Logstash进行索引
Filebeat 的工作原理:启动 Filebeat 时,它会启动一个或多个输入,用于查找指定的日志数据位置。对于 Filebeat 找到的每个日志,Filebeat 都会启动一个 Harvester(收割机)。每个 Harvester(收割机) 会读取单个日志以查找新内容,并将新的日志数据发送到 libbeat,libbeat 会聚合事件,并将聚合数据发送到 Filebeat 配置的输出

filebeat采集web服务日志

官网

https://www.elastic.co/guide/en/beats/filebeat/7.6/filebeat-module-apache.html

下载文件

安装,激活apache模块

编辑apache配置文件

加入正确日志和错误日志的路径

输出到ES:

修改filebeat的配置文件

主机改为sever1

检查配置文件的语法和与ES的连接

启动服务,设置开机自启

输出到logstash

sever5新建文件

监听5044端口

以自动重载模式启动 Logstash,并加载beats.conf

浏览器访问,查看apache

修改filebeat输出

把 Filebeat 发送数据的目标从Elasticsearch改成了 Logstash

成功

kibana数据可视化

Kibana 是 ELK 架构中的可视化展示层,Elasticsearch 负责存数据,Logstash 负责处理数据,Kibana 负责看数据

部署

下载软件包

安装

切目录,修改配置文件

主机为本机

ES节点ip

设置中文

启动服务,设置开机自启

查看端口情况

浏览器访问

定制数据可视化

最下方齿轮标志

索引模式

创建索引模式

搜索apache-*

默认参数

网站访问量

左边菜单第二个

进行压力测试,此时保证sever5上beat.conf处于运行状态(ES按天结算,每天需写入新数据才能有记录)

、保存

访问量排行榜

选择创建的

设置X轴为客户端

因为笔者只用到了sever5做压力测试,所以图看起来是一整块,但从x轴可以看出已经设置成功

保存

创建dashboard

左侧菜单第三个

创建新仪表盘

点击添加

将刚才的两个指标加入

新建

出现仪表盘,保存

ES数据备份与恢复

Elasticsearch(ES)的数据备份与恢复主要通过 快照(Snapshot) 和 恢复(Restore) 机制实现,依赖于共享存储仓库(如本地文件系统、S3、HDFS 等)

配置快照仓库

sever4下载nfs服务端

创建新目录,提升权限

创建新目录,后续 ES 的快照数据都会存放在这个共享目录

内容如图

启动nfs

所有ES节点进行配置

创建新目录

挂载

更新ES节点配置

修改配置文件

修改路径

重启服务

左侧扳手标志打开开发工具(输入命令时其中不能出现中文)

临时禁止副本分片的自动分配,只保留主分片分配能力

ES集群重启之后恢复默认值

通过 API 创建仓库

继续在kibana的开发工具

如果上一步报错的话,回到所有ES节点提升权限,记得检测是否挂载

成功输出

验证仓库是否创建成功

创建快照

备份所有索引,名称自定义(笔者使用了日期)

备份指定索引

成功

查看快照状态

列出仓库中所有快照

查看单个快照详情

监控快照进度

恢复整个快照

将快照中的所有索引恢复到集群(若索引已存在,默认不覆盖,需指定rename_pattern重命名)

笔者这里索引存在,所以报错

避免报错的方法

删除快照

ES集群监控

启用xpack认证

sever1生成证书,生成ES集群通信SSL加密证书,实现xpack.security传输加密,集群节点之间走TLS加密通信

生成 CA 根证书文件 elastic‑stack‑ca.p12,两个选项默认回车

使用刚才的CA根证书,签发集群节点证书,依旧默认回车

把节点证书复制到 ES 配置目录,修改文件所有者为elasticsearch用户

修改配置文件

添加ES 安全加固 ,快照仓库,跨域支持配置

之后重启服务

若重启失败且报错原因为超时,可以按照以下方式防止触发systemd的启动超时机制,以免被系统强制终止

重新加载缓存后再启动服务

拷贝证书到其它集群节点

sever2,3配置

写入

重启服务

等待所有集群节点重启成功后,设置认证账户密码

ES启用xpack之后,其它服务都需要配置认证

head插件:

正常访问无法连接

在url中带上用户名和密码后成功连接

也可以先去访问ES节点,出现登录界面

cerebro访问:

启动

登录

url中加用户名和密码

使用新的密码和用户名

成功

logstash访问:

修改文件

加入用户名和密码

查看是否启动成功

成功

kibana访问:

修改文件

加入用户名和密码

重启服务

查看端口

浏览器访问

使用新密码和用户名

成功

metricbeat监控

首先使用内部检测,然后进入设置模式

倒数第二个

三个ES节点都需要设置

下载软件包

安装,启动xpack认证模块,修改配置文件

修改用户名和密码(图中注释记得去掉)

切目录,修改配置文件

修改IP和用户名,密码

启动服务,设置开机自启

点击“使用Metricbeat监测”,按照指引进行

成功,最后退出设置模式

ES日志采集

sever1安装filebeat,修改elasticsearch的模块配置

写入日志路径

再修改filebeat的配置文件

修改ES的IP和用户名,密码,注意这里冒号后要有空格

启动服务

将文件复制到sever2,3,确保剩余节点也安装filebeat,注意启动模块

浏览器访问,堆栈监测界面点击概览,查看日志

http://www.jsqmd.com/news/1392510/

相关文章:

  • RabbitMQ异步下单架构设计
  • 2026年不锈钢飘带雕塑厂家选型及行业全景分析 - 曲阳嘉华园林
  • 2026年工程直供文旅演出音响推荐:原厂直供文旅演出音响品牌选择指南 - 汇聚至此
  • 2026小程序商城做的比较好的品牌,商城系统品牌怎么判断
  • 江苏南通灌浆料怎么选?3家本地品牌实力对比解析 - 兔兔不是荼荼
  • Win11Debloat 使用指南:3分钟如何免费清理 Windows 11 预装软件与系统臃肿
  • 2026年注塑工艺头盔安全插扣源头厂家推荐:精密成型供应商选择指南 - 汇聚至此
  • Linux-----进程管理面试题
  • 2026上海科创园区GEO服务商适配度榜单报告
  • 2026年8月怀化屋顶漏水维修哪家好?正规防水修缮科普指南 - 聪居到家
  • KMS_VL_ALL_AIO使用指南:一个开源脚本解决Windows与Office激活的7个关键疑问
  • 餐饮供应链行业企业获客软件精准拓客方法论:基于客户类型的多维筛选策略
  • 面向对象-接口
  • 2026云南电大中专**报名入口!报考流程+专业解析 - 小张zc
  • 2026成都钻石钻戒回收诚信商家一览:无损鉴定当场结算指南 - 资讯快报员
  • 普通人要Codex有什么用?
  • Dism++ 完整上手指南:免费开源系统优化工具,10 分钟跑通清理、更新与备份全流程
  • 从卸载官方软件到彻底掌控:这台ROG笔记本经历了什么?
  • RIP + GRE 配置笔记
  • TLT153 开发实操二:EPC-TLT153 工控虚拟机与串口调试配置
  • 多工具研发链路,如何评估国产化平台的投入产出比?
  • 把照片变成能摸到的立体摆件,这个免费开源的 ImageToSTL 工具怎么用?
  • CRMEB 首届主题设计大赛奖金2万元~
  • Android 定制限制安装功能
  • AI的「寂灭」-龍德明宇
  • 如何用Pixelle-Video开启AI全自动短视频创作:新手一键生成视频的完整指南
  • Python循环关键字break和continue的使用
  • 代码之外09:团队离不开我,晋升名单却没有我
  • 信息发布系统定制速看:2026商业统一信息发布系统开发商推荐 - 选型|行业|价格|案例
  • 2026广东中小建企资质增项测评:6大机构实力对比,批量多资质申报认准专业服务商 - 优质品牌中立测评推荐