当前位置:网站首页>ELK log analysis system
ELK log analysis system
2022-07-30 19:41:00 【bsegebr】
ELK
一、什么是ELK
ELK是Elasticsearch + Logstash + Kibana 这种架构的简写.
这是一种日志分析平台的架构.
如果没有ELK这样的日志分析平台,我们同样可以使用shell三剑客(grep、sed、awk)来分析日志.
这种方式略显原始而简陋,虽然也能应对大多数的场景,但是当日志量变大,分析频繁的时候,仅靠人工shell 的方式来查看分析日志,就很不方便.
尤其适当使用者,对于shell不是很擅长的情况下,一个操作简单,配置方便的日志分析平台,就显得很有必要了.
ELK是开源的,社区活跃,用户众多.
二、ELK常见的架构
Elasticsearch + Logstash + Kibana
这是一种最简单的架构.这种架构,通过logstash收集日志,Elasticsearch分析日志,然后在Kibana(web界面)中展示.这种架构虽然是官网介绍里的方式,但是往往在生产中很少使用.Elasticsearch + Logstash + filebeat + Kibana
与上一种架构相比,这种架构增加了一个filebeat模块.filebeat是一个轻量的日志收集代理,用来部署在客户端,优势是消耗非常少的资源(较logstash), 所以生产中,往往会采取这种架构方式,但是这种架构有一个缺点,当logstash出现故障, 会造成日志的丢失.Elasticsearch + Logstash + filebeat + redis(也可以是其他中间件,比如kafka(集群化)) + Kibana
这种架构是上面那个架构的完善版,通过增加中间件,来避免数据的丢失.当Logstash出现故障,日志还是存在中间件中,当Logstash再次启动,则会读取中间件中积压的日志.目前我司使用的就是这种架构,我个人也比较推荐这种方式.
说明: logstash节点和elasticsearch节点可以根据日志量伸缩数量, filebeat部署在每台需要收集日志的服务器上.
三、简单ELK部署
部署环境,关闭防火墙
安装elasticsearch-rpm包
加载系统服务.
更改elasticsearch主配置文件
创建数据存放路径并授权
Start to see if it is successfully turned on
查看节点信息
- 查看集群状态
- 安装head插件
安装phantomjs
安装可视化工具
修改主配置文件,启动headPlugins and Services
创建索引
apache主机上安装logstash,并启动
建立logstash软连接
logstash与elasticsearch做对接测试
Log in to the host to configure interconnection
vi /etc/logstash/conf.d/system.conf
input {
file{
path => "/var/log/messages"
type => "system"
start_position => "beginning"
}
}
output {
elasticsearch {
hosts => ["192.168.9.139:9200"]
index => "system-%{+YYYY.MM.dd}"
}
}
- node1上安装kibana
修改配置文件
- 配置索引
- 对接apache主机的日志文件
四、扩展
在生产环境中,由于logstash消耗资源过多,We use half of itfilebeat轻量级日志收集代理,让logstash专注于日志格式化,又由于生产环境中日志量过大,logsHe is at fault once,会导致日志的丢失,所以要在filebeat与logstash中增加一个中间件redis或kafka来起一个缓存汇聚作用.如下图:
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在.深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小.自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前.因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担.添加下方名片,即可获取全套学习资料哦
边栏推荐
猜你喜欢
Install MySQL tutorial under Linux
MySQL数据库 ---MySQL表的增删改查(进阶)
MySQL database - views and indexes
牛客刷题系列之进阶版(组队竞赛,排序子序列,倒置字符串, 删除公共字符,修理牧场)
MongoDB打破了原则引入SQL?
VBA batch import Excel data into Access database
【PyTorchVideo教程01】快速实现视频动作识别
redis
ERROR 1045 (28000) Access denied for user 'root'@'localhost'Solution
【hbuilder】运行不了部分项目 , 打开终端 无法输入指令
随机推荐
高并发秒杀项目总结
【hbuilder】运行不了部分项目 , 打开终端 无法输入指令
试写C语言三子棋
Start foreground Activity
MindSpore:【模型训练】【mindinsight】timeline的时间和实际用时相差很远
055 c# print
ImportError:attempted relative import with no known parent package
HCIP --- 企业网的三层架构
电脑死机的时候,发生了什么?
云数据库和本地数据库有什么区别?
架构师如何成长
Linux download and install mysql5.7 version tutorial the most complete and detailed explanation
牛客刷题系列之进阶版(搜索旋转排序数组,链表内指定区间反转)
linux下mysql8安装
LeetCode每日一题(1717. Maximum Score From Removing Substrings)
MySQL performance optimization (hardware, system configuration, table structure, SQL statements)
Linux下载安装mysql5.7版本教程最全详解
MySQL sub-database sub-table
MindSpore:npu 多卡训练自定义数据集如何给不同npu传递不同数据
[hbuilder] cannot run some projects, open the terminal and cannot enter commands