文档章节

在Docker上搭建ELK+Filebeat日志中心

shaonbean
 shaonbean
发布于 2017/09/11 08:22
字数 743
阅读 15
收藏 0
点赞 0
评论 0

当前环境

1.系统:centos 7

2.docker 1.12.1

介绍

ElasticSearch

Elasticsearch 是一个实时的分布式搜索和分析引擎,它可以用于全文搜索,结构化搜索以及分析。它是一个建立在全文搜索引擎 Apache Lucene 基础上的搜索引擎,使用 Java 语言编写。

Logstash

Logstash 是一个具有实时渠道能力的数据收集引擎,主要用于日志的收集与解析,并将其存入 ElasticSearch中。

Kibana

Kibana 是一款基于 Apache 开源协议,使用 JavaScript 语言编写,为 Elasticsearch 提供分析和可视化的 Web 平台。它可以在 Elasticsearch 的索引中查找,交互数据,并生成各种维度的表图。

Filebeat

引入Filebeat作为日志搜集器,主要是为了解决Logstash开销大的问题。相比Logstash,Filebeat 所占系统的 CPU 和内存几乎可以忽略不计。

架构

不引入Filebeat

在Docker上搭建ELK+Filebeat日志中心在Docker上搭建ELK+Filebeat日志中心

引入Filebeat

在Docker上搭建ELK+Filebeat日志中心在Docker上搭建ELK+Filebeat日志中心

部署

启动ElasticSearch

docker run -d -p 9200:9200 --name elasticsearch elasticsearch

启动Logstash

# 1. 新建配置文件logstash.conf
input {
beats {
port => 5044
}
}

output {
stdout {
codec => rubydebug
}
elasticsearch {
#填写实际情况elasticsearch的访问IP,因为是跨容器间的访问,使用内网、公网IP,不要填写127.0.0.1|localhost
hosts => ["{$ELASTIC_IP}:9200"]

}
}

# 2.启动容器,暴露并映射端口,挂载配置文件
docker run -d --expose 5044 -p 5044:5044 --name logstash -v "$PWD":/config-dir logstash -f /config-dir/logstash.conf

启动Filebeat

下载地址:https://www.elastic.co/downloads/beats/filebeat

# 1.下载Filebeat压缩包
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.2.2-linux-x86_64.tar.gz

# 2.解压文件
tar -xvf filebeat-5.2.2-linux-x86_64.tar.gz

# 3.新建配置文件filebeat.yml
filebeat:
prospectors:
- paths:
- /tmp/test.log #日志文件地址
input_type: log #从文件中读取
tail_files: true #以文件末尾开始读取数据
output:
logstash:
hosts: ["{$LOGSTASH_IP}:5044"] #填写logstash的访问IP

# 4.运行filebeat
./filebeat-5.2.2-linux-x86_64/filebeat -e -c filebeat.yml

启动Kibana

docker run -d --name kibana -e ELASTICSEARCH_URL=http://{$ELASTIC_IP}:9200 -p 5601:5601 kibana

测试

模拟日志数据

# 1.创建日志文件
touch /tmp/test.log

# 2.向日志文件中写入一条nginx访问日志
echo '127.0.0.1 - - [13/Mar/2017:22:57:14 +0800] "GET / HTTP/1.1" 200 3700 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36" "-"' >> /tmp/test.log

访问 http://{$KIBANA_IP}:5601

在Docker上搭建ELK+Filebeat日志中心在Docker上搭建ELK+Filebeat日志中心

在Docker上搭建ELK+Filebeat日志中心在Docker上搭建ELK+Filebeat日志中心

总结

本文主要讲述了如何一步步搭建ELK的过程,以及Filebeat在其中所起的作用。

这儿仅仅给大家做了一个演示,要在生产环境中部署时,还需使用数据卷进行数据持久化,容器内存问题也需考虑,elasticsearch与logstash都是相对吃内存的,如果不加以限制,很可能会拖垮你整个服务器。

当然安全因素也是大家不能忽视的,如传输的安全性、端口权限的最小化暴露程度,防火墙设置等。

后续

logstash解析日志格式,如JAVA、nginx、nodejs等日志;

elasticsearch的常用搜索语法;

通过kibana制作可视化图表;

原文来自:https://github.com/jasonGeng88/blog

本文地址:http://www.linuxprobe.com/docker-deploy-elk-filebeat.html

© 著作权归作者所有

共有 人打赏支持
shaonbean
粉丝 0
博文 35
码字总数 57023
作品 0
徐汇
运维
在ELK+Filebeat搭建日志中心

当前环境 系统:centos7 docker 1.12.1 介绍 ElasticSearch Elasticsearch 是一个实时的分布式搜索和分析引擎,它可以用于全文搜索,结构化搜索以及分析。它是一个建立在全文搜索引擎 Apache...

禁区铁铍人
2017/12/01
0
0
CentOS 6.8下安装docker并使用

Docker是一个开源的应用容器引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。利用Linux的LXC、AUFS、Go语言、cgroup实现了资源的独立,可以很轻松的实现文件、资源、...

流柯
2017/04/26
0
0
Linux容器虚拟技术及GIS应用前景

1 引言 云计算的核心价值是是通过集约化计算和服务,节约资源,怎么利用技术手段使硬件资源的性能得到最大发挥,并使应用的部署更简单、快捷,是技术人员一直努力的目标,在云GIS中更是如此。...

地信行业我知道
2015/11/27
207
0
Docker搭建Elastic Stack日志分析平台

序 因为工作需要打算搭建一个数据抽取平台,发现Elastic Stack能满足 1 准备工作 下载顺序: Elasticsearch(其中包含X-Pack for Elasticsearch) Kibana(包含X-Pack for Kibana) Logstash...

戴的天
2017/03/09
0
0
Docker容器跨主机通信之:直接路由方式

概述 就目前Docker自身默认的网络来说,单台主机上的不同Docker容器可以借助docker0网桥直接通信,这没毛病,而不同主机上的Docker容器之间只能通过在主机上用映射端口的方法来进行通信,有时...

CodeSheep
06/14
0
0
利用K8S技术栈打造个人私有云(连载之:初章)

我的想法是什么 最近在学习Docker技术,相信Docker技术大家都有所了解,Docker类似于虚拟机(但与虚拟机又有本质不同),提供进程级别的隔离。我们可以利用Docker来方便地来做很多事情,比如...

CodeSheep
01/24
0
0
Spring Boot Admin 2.0开箱体验

概述 在我之前的 《Spring Boot应用监控实战》 一文中,讲述了如何利用 Spring Boot Admin 1.5.X 版本来可视化地监控 Spring Boot 应用。说时迟,那时快,现在 Spring Boot Admin 都更新到 ...

CodeSheep
昨天
0
0
Docker下ELK三部曲之一:极速体验

《Docker下ELK三部曲》一共三篇文章,为您揭示如何快速搭建ELK环境,以及如何将web应用的日志上报到ELK用,三部曲内容简述如下: 1. 极速体验ELK服务,即本章的内容; 2. 细说技术详情,例如...

boling_cavalry
04/15
0
0
Graylog分析Nginx日志并通过GeoIP2获取访问者IP的地理位置信息

简介: Graylog相对于ELK是较为轻量级的日志管理平台 Graylog官网:https://www.graylog.org/ 系统环境: 本文不做环境搭建方面的介绍,直接使用docker搭建Graylog环境。 一、Graylog搭建 二、...

Jy_BigBoss
07/02
0
0
简单化搭建 Docker 数据中心

Docker 数据中心 CaaS 平台为各种规模的企业的敏捷应用部署提供了容器和集群的编排和管理,使之更简单、安全和可伸缩。使用新为 Docker 数据中心预编译的云模板,开发者和 IT 运维人员可以无...

linux小陶
2016/11/18
16
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

about git flow

  昨天元芳做了git分支管理规范的分享,为了拓展大家关于git分支的认知,这里我特意再分享这两个关于git flow的链接,大家可以看一下。 Git 工作流程 Git分支管理策略   git flow本质上是...

qwfys
今天
2
0
Linux系统日志文件

/var/log/messages linux系统总日志 /etc/logrotate.conf 日志切割配置文件 参考https://my.oschina.net/u/2000675/blog/908189 dmesg命令 dmesg’命令显示linux内核的环形缓冲区信息,我们可...

chencheng-linux
今天
1
0
MacOS下给树莓派安装Raspbian系统

下载镜像 前往 树莓派官网 下载镜像。 点击 最新版Raspbian 下载最新版镜像。 下载后请,通过 访达 双击解压,或通过 unzip 命令解压。 检查下载的文件 ls -lh -rw-r--r-- 1 dingdayu s...

dingdayu
今天
1
0
spring boot使用通用mapper(tk.mapper) ,id自增和回显等问题

最近项目使用到tk.mapper设置id自增,数据库是mysql。在使用通用mapper主键生成过程中有一些问题,在总结一下。 1、UUID生成方式-字符串主键 在主键上增加注解 @Id @GeneratedValue...

北岩
今天
2
0
告警系统邮件引擎、运行告警系统

告警系统邮件引擎 cd mail vim mail.py #!/usr/bin/env python#-*- coding: UTF-8 -*-import os,sysreload(sys)sys.setdefaultencoding('utf8')import getoptimport smtplibfr......

Zhouliang6
今天
1
0
Java工具类—随机数

Java中常用的生成随机数有Math.random()方法及java.util.Random类.但他们生成的随机数都是伪随机的. Math.radom()方法 在jdk1.8的Math类中可以看到,Math.random()方法实际上就是调用Random类...

PrivateO2
今天
2
0
关于java内存模型、并发编程的好文

Java并发编程:volatile关键字解析    volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在...

DannyCoder
昨天
1
0
dubbo @Reference retries 重试次数 一个坑

在代码一中设置 成retries=0,也就是调用超时不用重试,结果DEBUG的时候总是重试,不是0吗,0就不用重试啊。为什么还是调用了多次呢? 结果在网上看到 这篇文章才明白 https://www.cnblogs....

奋斗的小牛
昨天
2
0
数据结构与算法3

要抓紧喽~~~~~~~放羊的孩纸回来喽 LowArray类和LowArrayApp类 程序将一个普通的Java数组封装在LowArray类中。类中的数组隐藏了起来,它是私有的,所以只有类自己的方法才能访问他。 LowArray...

沉迷于编程的小菜菜
昨天
1
0
spring boot应用测试框架介绍

一、spring boot应用测试存在的问题 官方提供的测试框架spring-boot-test-starter,虽然提供了很多功能(junit、spring test、assertj、hamcrest、mockito、jsonassert、jsonpath),但是在数...

yangjianzhou
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部