1.ELK简介
Elaticseach、logstash、kibana三个软件首字母缩写。新增一个FileBeat(轻量级的日志收集处理工具Agent,占用资源少),
适合于在各服务器上搜集日志后传输给Logstash,官方也推荐此工具。
Elasticsearch: 日志检索和存储
Logstash: 日志的搜集、分析、处理
Kibana: 日志的可视化
ELK解决分布式日志数据集中式查询 管理、故障排查系统监控
ELK用途:(在大数据运维系统中,主要可解决的问题如下)
日志查询,问题排查,故障恢复,故障自愈;
应用日志分析,错误报警;性能分析,用户行为分析
2.ELK架构
管理节点:部署ELK服务
节点服务器:filebeat收集日志
此架构将收集端logstash替换为beats,更灵活,消耗资源更少,扩展性更强。同时可配置Logstash 和Elasticsearch 集群用于支持大集群系统的运维日志数据监控和查询
3.ES(elasticsearch)
基于Lucene,分布式全文搜索引擎,基于restful API的web接口。实时分析、分布式实时文件存储,将每个字段编入索引;文档导向,所有对象全部是文档,高可用、高扩展性,
支持集群、分片、复制, 支持json(关系型数据库)
没有典型意义的事务,面向文档的数据库,没有提供授权认证的特性
支持集群,集群有多个节点,一个主节点(主节点选举产生),集群状态所有节点都有
安装配置:
安装jdk,导入key,yum -y install elasticsearch ,openpfile修改
配置文件:elasticsearch.yml
cluster.name 集群名称 node.name 节点名称
path.data: /data/es-data //数据存储路径,需赋权给elasticsearch:elasticsearch
path.logs //日志路径定义
bootstrap.mlockall: true //锁定内存,不会分配到swap分区上
network.host: 0.0.0.0
http.port:9200 //指定端口,默认9200
常用插件head(ES图形化插件)、bigdesk(监控)、kopf
集群配置:其他同单节点配置,只是集群名称一致即可
Elasticsearch和关系型数据库对比:
在ES中,文档归属一种类型(type),而这些类型存在于索引(index)中,类比传统关系型数据库。(文档类数据库)
DB -> Databases -> Tables -> Rows -> Columns 关系型数据库表 行 列
ES -> Indices -> Types -> Documents -> Fields ES索引 类型 文档 域(字段)
搭建ES流程安装第一台ES服务器?
设置主机名称和IP对应关系--解决依赖关系openjdk1.8-->安装软件包elasticsearch-->修改配置文件elasticsearch.yml-->启动服务-->检查服务 netstat -lutunp (9200 9300)、curl:htttp://192.168.4.1:9200/
4.Logstash
数据采集、加工处理及传输的工具。所有类型数据集中处理,不同模式和格式数据正常化,自定义日志格式的迅速扩展,为自定义数据源轻松添加插件
Logstash事件处理有三个阶段:inputs → filters → outputs。是一个接收,处理,转发日志的工具(支持系统日志,webserver日志,错误日志,应用日志,总之包括所有可以抛出来的日志类型)
Input:输入数据到logstash;Filters:数据中间处理,对数据进行操作;Outputs:outputs是logstash处理管道的最末端组件 json:使用json格式对数据进行编码/解码
安装配置:导入key,配置yum源,yum -y install logstash
启动:/opt/logstash/bin/logstash -e 'input { stdin{} } output { stdout{} }' 或/opt/logstash/bin/logstash -f logstash.conf (自定义配置文件,配置文件方式启动)
配置文件配置:input--path/type/start_postion output--hosts/indexs
添加if可以同时收集多个日志
应用:收集系统日志、Nginx日志、Java项目日志(elasticsearch日志)
常用插件:file、moltline
5.kibana
数据可视化平台工具。灵活的分析和可视化平台、实时总结和流数据图表,为不同用户展示直观的界面,即时分享和嵌入的仪表板。
安装配置:下载安装包,配置文件:kibana.yml
server.port:5601 //端口配置 ealsticsearch.url: //ES URL配置
Kibana.index //索引配置
kibana启动后,需要创建ES索引,kibana不会自动创建
ELK默认端口:elasticsearch 9200 logstash 9600 kibana 5601
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?