栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

ELK日志分析系统

ELK日志分析系统

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来起一个缓存汇聚作用。如下图:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/687418.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号