当前位置:网站首页>ELK日志分析系统
ELK日志分析系统
2022-07-30 19:30: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主配置文件
创建数据存放路径并授权
启动查看是否成功开启
查看节点信息
- 查看集群状态
- 安装head插件
安装phantomjs
安装可视化工具
修改主配置文件,启动head插件及服务
创建索引
apache主机上安装logstash,并启动
建立logstash软连接
logstash与elasticsearch做对接测试
登录主机做对接配置
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消耗资源过多,我们一半采用filebeat轻量级日志收集代理,让logstash专注于日志格式化,又由于生产环境中日志量过大,logs他是一旦故障,会导致日志的丢失,所以要在filebeat与logstash中增加一个中间件redis或kafka来起一个缓存汇聚作用。如下图:
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
- [TypeScript]编译配置
- Google's AlphaFold claims to have predicted almost every protein structure on Earth
- nlohmann json 使用指南【visual studio 2022】
- 什么是 RESTful API?
- VBA batch import Excel data into Access database
- [Prometheus] An optimization record of the Prometheus federation [continued]
- Zabbix 5.0 监控教程(一)
- LeetCode 0952.按公因数计算最大组件大小:建图 / 并查集
- 还有三天忙完
- The technology is very powerful, do you still need to "manage up"?
猜你喜欢
谷歌AlphaFold近日宣称预测出地球上几乎所有蛋白质结构
LeetCode 0952.按公因数计算最大组件大小:建图 / 并查集
Node encapsulates a console progress bar plugin
The advanced version of the cattle brushing series (search for rotating sorted arrays, inversion of the specified range in the linked list)
阿里云武林头条活动分享
OneFlow source code analysis: Op, Kernel and interpreter
LeetCode 0952. Calculate Maximum Component Size by Common Factor: Mapping / Union Search
mysql慢查询优化
MySQL性能优化(硬件,系统配置,表结构,SQL语句)
MindSpore:【模型训练】【mindinsight】timeline的时间和实际用时相差很远
随机推荐
[PyTorchVideo Tutorial 01] Quickly implement video action recognition
电脑死机的时候,发生了什么?
几个GTest、GMock的例子
VBA connects Access database and Excel
【科普】无线电波怎样传送信息?
7.30模拟赛总结
已删除
Difference between Object and Map
Trial writing C language sanbang
M3SDA:用于多源域自适应的矩匹配
VBA batch import Excel data into Access database
Object和Map的区别
跨进程启动后台服务
Encapsulates a console file selector based on inquirer
MySQL六脉神剑,SQL通关大总结
自己需要努力
MindSpore: CV.Rescale(rescale,shift)中参数rescale和shift的含义?
[hbuilder] cannot run some projects, open the terminal and cannot enter commands
【flink】报错整理 Could not instantiate the executor. Make sure a planner module is on the classpath
nlohmann json 使用指南【visual studio 2022】