ELK分布式日志系统

目录

日志管理方案:

ELK组件

ElasticSearch索引管理

[logstash filter模块常用的插件](#logstash filter模块常用的插件)


日志管理方案:

服务器数量较少时:

直接登录到目标服务器捞日志查看 --> 通过 rsyslog 或 shell/python 等脚本实现日志收集,并集中保存到统一的日志服务器

服务器数量较多时:

ELK 大型的日志系统,实现日志收集、日志存储、日志检索和分析

云原生 容器环境:

EFK Loki+Granfana SLS(阿里云)

ELK组件

Logstash 采集日志数据,通过插件模块对数据进行过滤、格式化处理,再输出给ElasticSearch

ElasticSearch 对日志数据进行分片、存储,并创建索引,方便全文检索

集群化部署,节点分三种类型:master/data/client,设置相同的cluster.name并使用Zen Discovery模块通过单播实现集群中节点的服务发现

Kibana 接入ElasticSearch的数据源,将日志数据进行图形化展示,方便用户通过浏览器查看、统计、分析日志

Filebeat 替代Logstash采集日志数据

Fluentd 替代Logstash采集日志数据和过滤转换等功能,常用于K8S容器环境

Kafka/Redis 作为MQ消息队列,实现流量削峰、缓冲

ELK -> ELFK(ELK + Filebeat) -> EFLFK(ELK + Filebeat + Kafka)

ElasticSearch索引管理

1)命令行管理方式

创建索引

curl -X PUT[|POST] http://IP:9200/\<索引名>[/<类型>/<文档ID>?pretty&pretty] \

[-H 'content-Type: application/json' -d '{"键名1":"键值","键名2":"键值"}']

删除索引

curl -X DELETE http://IP:9200/\<索引名>[,<索引名2>,....]

查看索引配置

curl -X GET http://IP:9200/\<索引名>/_settings

修改索引配置

curl -X PUT http://IP:9200/\<索引名>/_settings \

-H 'content-Type: application/json' -d '{"键名":"键值"}'

创建索引别名

curl -X POST http://IP:9200/_aliases \

-H 'content-Type: application/json' -d '{"actions":[{"add":{"index":"索引名","alias":"索引别名"}}]}'

删除索引别名

curl -X POST http://IP:9200/_aliases \

-H 'content-Type: application/json' -d '{"actions":[{"remove":{"index":"索引名","alias":"索引别名"}}]}'

2)kibana接入ES,在管理界面中进行图形化索引管理

logstash filter模块常用的插件

grok:将大文本字段分片成若干个小字段

内置正则匹配格式:%{内置正则表达式:自定义的小字段名称}

自定义正则匹配格式:(?<自定义的小字段名称>自定义的正则表达式)

multiline:将多行日志内容合并成一整行

pattern(通过正则表达式匹配行)

negate(false|true,是否取反。false不取反,表示正则匹配的行做合并操作;

true取反,表示正则不匹配的行做合并操作)

what(previous|next,previous表示向上合并,next表示向下合并)

mutate:对logstash收集的日志事件字段进行格式化处理(包括重名名字段名、增加字段、删除字段、替换字段的值、修改字段值的字符串、数据类型等)

rename、add_field、remove_field、replace、update、gsub、convert

date:将logstash收集的日志事件时间 @timestamp 与日志实际的打印时间进行格式统一 需要先配置grok插件获取日志时间的小字段,再用match匹配日志时间字段的时间格式,最后用target导出到指定字段,默认为 @timestamp 。

相关推荐
运维&陈同学17 小时前
【Beats01】企业级日志分析系统ELK之Metricbeat与Heartbeat 监控
运维·elk·elasticsearch·云原生·kibana·heartbeat·metricbeat
幽弥千月4 天前
【ELK】ES单节点升级为集群并开启https【亲测可用】
elk·elasticsearch·https
IT猿手4 天前
基于PWLCM混沌映射的麋鹿群优化算法(Elk herd optimizer,EHO)的多无人机协同路径规划,MATLAB代码
算法·elk·机器学习·matlab·无人机·聚类·强化学习
流穿5 天前
ELK系列-(六)Redis也能作为消息队列?(下)
数据库·redis·ubuntu·elk·docker·容器
流穿5 天前
ELK系列-(五)指标收集-MetricBeat(下)
linux·运维·ubuntu·elk·docker·容器
流穿6 天前
ELK系列-(五)指标收集-MetricBeat(上)
ubuntu·elk·elasticsearch·docker
高hongyuan6 天前
Linux环境下 搭建ELk项目 -单机版练习
大数据·运维·服务器·elk·elasticsearch·搜索引擎
运维&陈同学7 天前
【Elasticsearch04】企业级日志分析系统ELK之Elasticsearch 插件
大数据·运维·后端·elk·elasticsearch·搜索引擎·全文检索·哈希算法
幽弥千月8 天前
【ELK】Filebeat采集Docker容器日志
elk·docker·容器
运维&陈同学9 天前
【Elasticsearch03】企业级日志分析系统ELK之Elasticsearch访问与优化
大数据·elk·elasticsearch·搜索引擎·云原生·全文检索·高可用