在开源的日志管理方案中,最出名的莫过于ELK了。ELK是三个软件的合称: Elasticsearch、Logstash、Kibana。
 
Elasticsearch
 
一个近乎实时查询的全文搜索引擎。Elasticsearch的设计目的就是要能够处理和搜索巨量的日志数据。
 
Logstash
 
读取原始日志,并对其进行分析和过滤,然后将其转发给其他组件(比如Elasticsearch)进行索引和存储。Logstash 支持丰富的Input和Output类型,能够处理各种应用的日志。
 
Kibana
 
一个基于JavaScript的Web图形界面程序,专门用于可视化Elasticsearch的数据。Kibana能够查询Elasticsearch并通过丰富的图表展示结果。用户可以创建Dashboard来监控系统的日志。
 
日志处理流程
 
下图展示了Docker 部署环境下典型的ELK日志处理流程
 
Logstash 负责从各个Docker 容器中提取日志,Logstash将日志转发到 Elasticsearch进行索引和保存,Kibana分析和可视化数据。
 
安装ELK
 
ELK的部署方案可以非常灵活,在规模较大的生产系统中,ELK有自己的集群,实现了高可用和负载均衡。我们的目标是在最短的时间内学习并实践ELK,因此采用最小部署方案,在容器中搭建ELK
 
root@host1:~# docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -itd --name elk sebp/elk
 
我们这里使用 sebp/elk 这个现成的image,里面包含了整理ELK stack。容器启动后ELK各个组件将分别监听如下端口
 
    5601    Kibana web 接口
    9200    Elasticsearch JSON 接口
    5044    Logstash 日志接收接口
 
启动时如果报错:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
 
执行下面命令临时修改系统参数
sysctl -a|grep vm.max_map_count
sysctl -w vm.max_map_count=262144
sysctl -a|grep vm.max_map_count
 
或者 在/etc/sysctl.conf文件最后添加一行,永久修改系统参数
vm.max_map_count=262144
 
我们先访问以下Kibana http://IP:5601
 
 
访问一下 Elasticsearch的JSON接口  http://IP:9200/_search?pretty
 
 
 

089、初探ELK (2019-05-13 周一)的更多相关文章

  1. 2019/05/13 JAVA虚拟机堆内存调优

    -Xms4000m 堆内存初始值 * -Xmx4000m 堆内存最大值 * -XX:+PrintGCDetails 打印GC信息 * -XX:+UseSerialGC 使用串行GC * -XX:+Pr ...

  2. 每日一练ACM 2019.04.13

    2019.04.13 第1002题:A+B Proble Ⅱ Problem DescriptionI have a very simple problem for you. Given two in ...

  3. Heartbeat took longer than "00:00:01" at "09/06/2019 05:08:08 +00:00".

    .netcore在k8s+docker+linux,部署后,偶尔会报这样的警告 Warn:Microsoft.AspNetCore.Server.KestrelHeartbeat took longe ...

  4. 2019.05.26 周日--《阿里巴巴 Java 开发手册》精华摘要

    一.写在开头 Java作为一个编程界最流行的语言之一,有着很强的生命力.代码的编写规范也是不容忽视的,今天,我就把自己阅读的国内的互联网巨头阿里巴巴的<阿里巴巴 Java 开发手册>一些精 ...

  5. Java 9 ← 2017,2019 Java → 13 ,都发生了什么?

    距离 2019 年结束,只剩下 35 天了.你做好准备迎接 2020 年了吗? 一到年底,人就特别容易陷入回忆和比较之中,比如说这几天, 的对比挑战就火了! 这个话题登上了微博的热搜榜,也刷爆了朋友圈 ...

  6. Java 9 ← 2017,2019 → Java 13,来看看Java两年来的变化

    距离 2019 年结束,只剩下 33 天了.你做好准备迎接 2020 年了吗? 一到年底,人就特别容易陷入回忆和比较之中,比如说这几天的对比挑战就火了! 这个话题登上了微博的热搜榜,也刷爆了朋友圈, ...

  7. 2019 IEEEXtreme 13.0 Impact Factor 影响因子

    Impact Factor 题目大意 顾名思义,求影响因子.有 n 行 json 数据,第一行为期刊信息,后面为出版商出版的文章信息.   输入输出 点击查看详细 输入: 6 {"publi ...

  8. 初探 ELK - 每天5分钟玩转 Docker 容器技术(89)

    在开源的日志管理方案中,最出名的莫过于 ELK 了.ELK 是三个软件的合称:Elasticsearch.Logstash.Kibana. Elasticsearch一个近乎实时查询的全文搜索引擎.E ...

  9. 2019.04.13 python基础

    第一节    主要讲python背景  没什么要注意的  了解记住概念就好 python官网  python.org  自带shell  可以运行python代码 在IDLE中怎么运行代码 新建文本  ...

随机推荐

  1. 原生Js_制作简易日历

    javascript制作简易日历,月份信息已经放在一个数组中,在<script>...</script>中编写代码实现其功能 实现步骤 a) 获取需要操作的dom对象 b) 在 ...

  2. Spring boot之配置server信息

    知识点: 1.修改端口号 2.修改context-path 3.其它配置说明 配置端口号: Spring boot 默认端口是8080, 如果想要进行更改的话, 只需要修改applicatoin.pr ...

  3. 20175215 2018-2019-2 第三周java课程学习总结

    第三周 一.使用JDB调试java代码(主要内容为断点) 以下文字内容转自使用JDB调试java程序,图片则为自己的截图 我们提倡在Linux命令行下学习Java编程.学习时在Ubuntu Bash中 ...

  4. sonarqube修改自己的图像avatar

    https://community.sonarsource.com/t/how-can-i-change-my-avatar/11457/2 Hi, User icons are provided b ...

  5. spark MLlib 概念 4: 协同过滤(CF)

    1. 定义 协同过滤(Collaborative Filtering)有狭义和广义两种意义: 广义协同过滤:对来源不同的数据,根据他们的共同点做过滤处理. Collaborative filterin ...

  6. JAVA-retry 重试

    在看 ThreadPoolExecutor 源码时看到这么一段代码 retry: for (;;) { int c = ctl.get(); int rs = runStateOf(c); // Ch ...

  7. oracle数据库连接数反推公式

    sessions=1.1*processes+5,transactions=1.1*sessions.

  8. Navicat1_介绍

    https://study.163.com/course/courseMain.htm?courseId=1006383008&share=2&shareId=400000000398 ...

  9. leetcode 72. 编辑距离

    /***** 定义状态: DP[i][j]其中i表示word1前i个字符,j表示Word2前i个字符 DP[i][j]表示单词1前i个字符匹配单词2前j个字符,最少变换次数: 状态转移: for i: ...

  10. leetcode 115不同的子序列

    滚动数组: /***** 下标从1开始 dp[i][j]:= numbers of subseq of S[1:j] equals T[1:i] if(s[j]==t[i]):(那么之后的子串可以是是 ...