OS: Centos7

准备工作:

虚拟机中安装Centos, 搭建Docker环境

ELK简介: 略

文档地址 https://elk-docker.readthedocs.io/

需要注意的是在Beats套件加入ELK Stack后,新的称呼是 Elastic Stack , 本次实践的是 filebeat + elk

由于elk镜像很大7.0.1版本大约1.8G 开始前建议将镜像源设置成国内地址 如阿里镜像库,网易镜像库等

阿里镜像源设置可参考 https://www.cnblogs.com/anliven/p/6218741.html/

1.下载镜像

docker pull sebp/elk

2.运行镜像

docker run -p  5601:5601 -p 9200:9200 -p 5044:5044  -v /usr/dockerfile:/data -it -d --name elk sebp/elk
  • 5601 (Kibana web interface).
  • 9200 (Elasticsearch JSON interface).
  • 5044 (Logstash Beats interface, receives logs from Beats such as Filebeat – see the Forwarding logs with Filebeat section).

本机elk镜像运行有点慢,查看运行日志

docker logs elk

3. 配置logstash文件  可以不用配置 由于filebeat比logstash有更好的性能基本是用filebeat搜集日志后直接发给elasticsearch来分析存储

如果需要处理日志可以filebeat收集日志发给logstash,再由logstash整理后给elasticsearch

vim  /usr/dockerfile/config/logstash.yml

input 数据来源是filebeat 端口是5044 禁用ssl 
output 输出是elasticsearch 配置 elasticsearch 地址 和索引

input {
  beats {
    port => 5044
    ssl => false
    codec => "json"
  }
}

output {
  elasticsearch {
    hosts => ["127.0.0.1:9200"]
    index => "filebeat-%{+YYYY.MM.dd}"
  }
}

4.查看elk是否成功启动

host 192.168.95.131 是本地虚拟机的ip

http://192.168.95.131:9200/_search?pretty

http://192.168.95.131:5601/

能正常打开页面表示成功了

5.安装filebeat

可以根据Kibana页面提示安装filebeat

进入Kibana Home页后   选择 Add log data  =>  Logstash logs

根据对应主机系统选择不同的安装方式

6.配置filebeat.yml

cd /etc/filebeat 进入配置文件路径

ls fields.yml  filebeat.reference.yml  filebeat.yml  modules.d

需要配置的就是filebeat.yml , filebeat.reference.yml 是完整的配置项

filebeat.inputs:
- type: log
enabled: true # 启用 #
paths:
- /data/logs/*.log # 扫描的文件logs目录下所有.log后缀的文件 #
- /data/logs/*/*.txt # 扫描logs目录下文件夹下的.txt后缀的文件#
fields: # 标签 表示 name = host value = 192.168.95.130 logstash中 获取方式 fields.host #
host: "192.168.95.130" filebeat.config.modules:
path: ${path.config}/modules.d/*.yml reload.enabled: true setup.template.settings:
index.number_of_shards: 1
_source.enabled: true output.elasticsearch:
hosts: ["192.168.95.131:9200"] #elasticsearch 地址# processors:
- add_host_metadata: ~
- add_cloud_metadata: ~
- drop_fields:
fields: ["cpu.user","cpu.system","host.os.family"] # 过滤的字段 # logging.to_files: true # filebeat 运行日志 保存到 /var/log/filebeat 路径下 #
logging.files:
path: /var/log/filebeat

7.filebeat 停止/启动/状态查看命令

sudo service filebeat stop
sudo service filebeat start
sudo service filebeat status

启动filebeat后需查看status来确认是否成功启动,通常失败的原因是filebeat.yml文件配置有误

成功状态如下 :

8.验证elk平台是否正常

登陆Kibanna > Management > Kinbana > Index Patterns  根据提示创建索引

点击 Discover 选择索引 filebeat-* 或者 logstash-*  点击刷新 查看日志

或者点击Logs 菜单 查看所有日志 可以点击 Stream live 实时查看日志

遇到的坑:

1.启动elk失败,内存不足

https://www.cnblogs.com/yidiandhappy/p/7714489.html

  

2.filebeat 启动时提示成功了 但是收集不到日志,使用 sudo service filebeat status 查看启动状态 发现是失败的,后来验证是filebeat.yml配置错误

elk基础功能搭建完成

其他功能还在探索中....

参考

https://www.imooc.com/article/70996

在实践Filebeat发送日志给Logstash的过程中一直有些问题,最终发现是logstash配置文件有误,真确的路径是进入容器后的/etc/logstash/conf.d/02-beats-input.conf
参考 https://juejin.im/post/5ba4c8ef6fb9a05d082a1f53 在收集filebeat自己的运行日志时发现一直没产生?!
解决方案是配置filebeat.yml
    查看filebeat运行状态
# sudo service filebeat status

然后 # sudo filebeat run

这条命令是阻塞式的,然后新开窗口进入日志目录进看到日志

下一篇 Docker网络模式

Docker笔记02-日志平台ELK搭建的更多相关文章

  1. 日志框架elk 搭建

    CENTOS7 安装 NGINX ELK之LOGSTASH ELK之ELASTICSEARCH安装 ELK之KIBANA

  2. 分布式日志系统ELK搭建

    ELK:Elasticsearch  Logstash Kibana Elasticsearch:是基于JSON的分布式搜索和分析引擎,专为实现水平扩展.高可用和管理便捷性而设计 Logstash:是 ...

  3. 啃掉Hadoop系列笔记(02)-Hadoop运行环境搭建

    一.新增一个普通用户bigdata

  4. 从头开始搭建分布式日志平台的docker环境

    上篇(spring mvc+ELK从头开始搭建日志平台)分享了从头开始搭建基于spring mvc+redis+logback+logstash+elasticsearch+kibana的分布式日志平 ...

  5. ELK搭建实时日志分析平台之一ElasticSearch搭建

    文:铁乐与猫 系统:CentOS Linux release 7.3.1611 (Core) 注:我这里为测试和实验方便,ELK整套都装在同一台服务器环境中了,生产环境的话,可以分开搭建在不同的服务器 ...

  6. 基于Kafka+ELK搭建海量日志平台

    早在传统的单体应用时代,查看日志大都通过SSH客户端登服务器去看,使用较多的命令就是 less 或者 tail.如果服务部署了好几台,就要分别登录到这几台机器上看,等到了分布式和微服务架构流行时代,一 ...

  7. ELK快速搭建日志平台

    1.  抛砖引入 <Elasticsearch> <Logstash> <Filebeat> <Filebeat模块与配置> <Kibana> ...

  8. 利用 ELK 搭建 Docker 容器化应用日志中心

    利用 ELK 搭建 Docker 容器化应用日志中心 概述 应用一旦容器化以后,需要考虑的就是如何采集位于 Docker 容器中的应用程序的打印日志供运维分析.典型的比如SpringBoot应用的日志 ...

  9. elk日志平台搭建小记

    最近抽出点时间,搭建了新版本的elk日志平台 elastaicsearch 和logstash,kibana和filebeat都是5.6版本的 中间使用redis做缓存,版本为3.2 使用的系统为ce ...

随机推荐

  1. Qt for Automation

    Automation, Automotive, and other industries In addition to improving the generic product offering a ...

  2. BZOJ 2783 树 - 树上倍增 + 二分

    传送门 分析: 对每个点都进行一次二分:将该点作为链的底端,二分链顶端所在的深度,然后倍增找到此点,通过前缀和相减求出链的权值,并更新l,r. code #include<bits/stdc++ ...

  3. 垃圾回收GC:.Net自己主动内存管理 上(三)终结器

    垃圾回收GC:.Net自己主动内存管理 上(三)终结器 垃圾回收GC:.Net自己主动内存管理 上(一)内存分配 垃圾回收GC:.Net自己主动内存管理 上(二)内存算法 垃圾回收GC:.Net自己主 ...

  4. matlab、sklearn 中的数据预处理

    数据预处理(normalize.scale) 0. 使用 PCA 降维 matlab: [coeff, score] = pca(A); reducedDimension = coeff(:,1:5) ...

  5. 源码分析之Dictionary笔记

    接下来我们一步步来熟悉 Dictionary的底层结构实现,下面的MyDictionary等同于源码中的Dictionary看待. 首先我们定义一个类 MyDictionary,类中定义一个结构Ent ...

  6. C# opcode 查询源码

    Add|将两个值相加并将结果推送到计算堆栈上.Add.Ovf|将两个整数相加,执行溢出检查,并且将结果推送到计算堆栈上.Add.Ovf.Un|将两个无符号整数值相加,执行溢出检查,并且将结果推送到计算 ...

  7. Excel创button宏调用

    今天,匆匆写了一个宏,但发现已被用来创建button开发工具菜单不见了. 在十分钟找Excel转了个遍,终究Excel通常使用在中的选项,首先Mark下一个,离开同样找不到鞋. 几个截面图.促进突然, ...

  8. code first迁移(add-migration)的时候 后面信息不能有中文 中文报错 "不支持给定路径的格式。"

  9. Android开发 ----------怎样真机调试?

    一般来说 真机调试 是最快的, 所以建议 大家 直接用真机调试.

  10. WPF中取得系统字体列表

    原文:WPF中取得系统字体列表 在GDI+中,我们可以通过如下方式取得系统所有字体: foreach(FontFamily f in FontFamily.Families){   // 处理代码} ...