zoukankan      html  css  js  c++  java
  • 容器网络(十一)初探 ELK【82】

    (三)初探 ELK

    在开源的日志管理方案中,最出名的莫过于 ELK 了。ELK 是三个软件的合称:Elasticsearch、Logstash、Kibana。

    Elasticsearch
    一个近乎实时查询的全文搜索引擎。Elasticsearch 的设计目标就是要能够处理和搜索巨量的日志数据。

    Logstash
    读取原始日志,并对其进行分析和过滤,然后将其转发给其他组件(比如 Elasticsearch)进行索引或存储。Logstash 支持丰富的 Input 和 Output 类型,能够处理各种应用的日志。

    Kibana
    一个基于 JavaScript 的 Web 图形界面程序,专门用于可视化 Elasticsearch 的数据。Kibana 能够查询 Elasticsearch 并通过丰富的图表展示结果。用户可以创建 Dashboard 来监控系统的日志。

    本节将讨论如何用 ELK 这组黄金搭档来监控 Docker 容器的日志。

    (1)日志处理流程

    下图展示了 Docker 部署环境下典型的 ELK 日志处理流程:

    数据===》Logstash ===》Elasticsearch ===》Kibana

    Logstash 负责从各个 Docker 容器中提取日志,Logstash将日志转发到 Elasticsearch 进行索引和保存,Kibana 分析和可视化数据。

    (2)安装 ELK 套件

    ELK 的部署方案可以非常灵活,在规模较大的生产系统中,ELK 有自己的集群,实现了高可用和负载均衡。我们的目标是在最短的时间内学习并实践 ELK,因此将采用最小部署方案:在容器中搭建 ELK。

    docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -it --name elk sebp/elk
    
    

    我们使用的是 sebp/elk 这个现成的 image,里面已经包含了整个 ELK stack。容器启动后 ELK 各组件将分别监听如下端口:

    5601 - Kibana web 接口
    9200 - Elasticsearch JSON 接口
    5044 - Logstash 日志接收接口

    先访问一下 Kibana http://[Host IP]:5601/ 看看效果。

    当前 Kibana 没有可显示的数据,因为当前 Elasticsearch 还没有任何日志数据。

    访问一下 Elasticsearch 的 JSON 接口 http://[Host IP]:9200/_search?pretty

    确实,目前 Elasticsearch 没有与日志相关的 index

    接下来的工作就是将 Docker 的日志导入 ELK,我们下一节完成。

  • 相关阅读:
    LeetCode Array Easy 414. Third Maximum Number
    LeetCode Linked List Medium 2. Add Two Numbers
    LeetCode Array Easy 283. Move Zeroes
    LeetCode Array Easy 268. Missing Number
    LeetCode Array Easy 219. Contains Duplicate II
    LeetCode Array Easy 217. Contains Duplicate
    LeetCode Array Easy 189. Rotate Array
    LeetCode Array Easy169. Majority Element
    LeetCode Array Medium 11. Container With Most Water
    LeetCode Array Easy 167. Two Sum II
  • 原文地址:https://www.cnblogs.com/cuiyongchao007/p/14237130.html
Copyright © 2011-2022 走看看