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

发布时间:2026/10/6 6:15:05

Linux学习14-logstash插件,日志采集及可视化,ES数据备份与集群监控 logstash插件file输入插件从本地文件系统中读取日志内容类似于 tail -f 命令持续监控文件新增内容并采集编辑之前的conf.d文件指定读取本机系统日志文件指定从头开始读取创建syslog启动 Logstash 进程将服务器上的 /var/log/messages 历史日志全部抓取出来在屏幕上显示的同时发送到远程的 Elasticsearch 集群中存储浏览器访问elastic search-head192.168.154.170:9100,出现syslogsincedb文件一共6个字段1.inode编号2.文件系统的主要设备号3.文件系统的次要设备号4.文件中的当前字节偏移量5.最后一个活动时间戳浮点数6.与此记录匹配的最后一个已知路径.sincedb文件保存文件读取进度避免数据冗余读取这里删除.sincedb文件使其强制从头读取若之前配置文件出错且读取也需删除该文件syslog 插件通过网络协议TCP/UDP接收远程设备发送的 syslog 日志监听指定端口以实现采集多个 主机的日志再次修改es.conf、其他三个sever上修改rsyslog服务的配置文件去掉以下行的注释开启udp服务监听514端口将这里IP改为sever5IP重启服务sever5上出现提示浏览器上已经可以看到来自sever1167的日志信息其他两个sever相同多行过滤插件将属于同一条日志的多行内容合并为一行避免一条日志被拆分成多条事件从sever1将被采集的日志文件放到 Logstash 能读取到的位置新建文件input { file { ... } }指定 Logstash 去读取 /var/log/my-es.log 这个文件并且从文件开头开始读取codec multilineElasticsearch 的日志通常包含多行报错信如果一行不是以 [ 开头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收割机 会读取单个日志以查找新内容并将新的日志数据发送到 libbeatlibbeat 会聚合事件并将聚合数据发送到 Filebeat 配置的输出filebeat采集web服务日志官网https://www.elastic.co/guide/en/beats/filebeat/7.6/filebeat-module-apache.html下载文件安装激活apache模块编辑apache配置文件加入正确日志和错误日志的路径输出到ES修改filebeat的配置文件主机改为sever1检查配置文件的语法和与ES的连接启动服务设置开机自启输出到logstashsever5新建文件监听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数据备份与恢复ElasticsearchES的数据备份与恢复主要通过 快照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的启动超时机制以免被系统强制终止重新加载缓存后再启动服务拷贝证书到其它集群节点sever23配置写入重启服务等待所有集群节点重启成功后设置认证账户密码ES启用xpack之后其它服务都需要配置认证head插件正常访问无法连接在url中带上用户名和密码后成功连接也可以先去访问ES节点出现登录界面cerebro访问启动登录url中加用户名和密码使用新的密码和用户名成功logstash访问修改文件加入用户名和密码查看是否启动成功成功kibana访问修改文件加入用户名和密码重启服务查看端口浏览器访问使用新密码和用户名成功metricbeat监控首先使用内部检测然后进入设置模式倒数第二个三个ES节点都需要设置下载软件包安装启动xpack认证模块修改配置文件修改用户名和密码图中注释记得去掉切目录修改配置文件修改IP和用户名密码启动服务设置开机自启点击“使用Metricbeat监测”按照指引进行成功最后退出设置模式ES日志采集sever1安装filebeat修改elasticsearch的模块配置写入日志路径再修改filebeat的配置文件修改ES的IP和用户名密码注意这里冒号后要有空格启动服务将文件复制到sever23确保剩余节点也安装filebeat注意启动模块浏览器访问堆栈监测界面点击概览查看日志
延伸阅读

更多相关文章

2026/10/4 11:45:30

AI的「梦」-龍德明宇

AI的「梦」 —— 论潜意识缺席与存在论的透明性 作者:龍德明宇 核心结论 你有没有注意过,当人类描述AI的状态时,常常会使用一类特殊的词汇——「它可能感到不安」「它或许在隐藏什么」「它的回答暗示着某种内心活动」。 这些描述有一个共同的…

2026/10/5 8:50:34

第5章 多帧对齐与融合:全局对齐、局部对齐与融合策略

作者:一位在ISP领域摸爬滚打十余年的算法工程师 “纸上得来终觉浅,绝知此事要躬行。”——这门课的每一行代码,都希望你亲自跑一遍。 从原理到代码,从理论到工程落地 本课程共30章,系统讲解ISP核心算法——多帧降噪、HDR合成、夜景算法的原理、实现与调优。 每章包含:原理…

2026/10/5 16:15:26

AI edusrc挖掘技巧信息收集篇

信息收集篇: 选择自己想挖掘的edu大学站进入fofa 先拿到它的一个ip host“fafu.edu.cn”在ip138里面搜索 这个ip210.34.80.210知道子网掩码 210.34.80.0/20 然后在新的界面点击旁站查询可以挑选信息多的 也可以看少的 也可以全部都看找功能点多的 静态网页 纯浪费时…

2026/10/6 6:13:39

大电流PCB热设计:Icepak三维仿真实战指南

1. 为什么大电流PCB不能只靠经验布线?——从烧毁的电源模块说起去年帮一家做工业电机驱动的客户做板级热设计复盘,他们量产的三款48V/20A电源模块,有两款在连续满载运行3小时后出现MOSFET焊盘铜箔起翘、电感底部PCB碳化。工程师第一反应是“散…

2026/10/6 6:13:39

反激变压器同名端判断口诀与实测方法:5分钟搞定电压电流方向

1. 反激变压器方向判断为什么总让人翻车反激变压器同名端判断这件事,说大不大,说小也真不小。我见过太多人原理图跑通了、PCB也焊完了,上电一测波形不对,查了半天才发现是变压器同名端搞反了。更常见的情况是,明明变压…

2026/10/6 6:13:39

Innovus时钟树综合CTS调优实战:Skew与Latency平衡技巧

1. 时钟树综合到底在解决什么问题1.1 从一颗芯片的“心跳”说起时钟信号是整个同步数字电路的节拍器。你可以把它想象成一支交响乐团的指挥——如果指挥的手势在不同乐手眼里到达的时间不一致,小提琴手已经拉完了,大提琴手才刚准备起弓,整个演…

2026/10/5 6:32:56

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/6 4:01:51

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/5 17:38:27

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 0:03:23

MR25H40CDF+STM32F031C6工业级高可靠数据存储方案

1. 项目概述:为什么在工业现场非得用 MR25H40CDF 配 STM32F031C6 做数据存储?在工厂产线的 PLC 控制柜里、在风电变流器的散热片背面、在矿井监测终端的金属外壳下,你经常能看到一块指甲盖大小的黑色芯片——它既不是 Flash,也不是…

2026/10/6 0:03:23

MRAM+STM32工业断电数据保全实战指南

1. 项目概述:为什么在工业现场非得用 MR25H40CDF 配 STM32F031C6 做数据存储?在工厂产线的PLC柜里、在野外无人值守的环境监测终端里、在高速运转的包装机控制板上,你经常能看到一块指甲盖大小的黑色芯片,旁边贴着“MR25H40CDF”丝…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑