docker 安装 Filebeat、Logstash、Kibana

本贴最后更新于 1446 天前,其中的信息可能已经事过景迁

一、什么是Beats

在ELK技术栈中,Logstash负责收集、解析日志,但是对内存、cpu、io等资源消耗比较高, 尤其是在需要大量处理日志的情况下, 将Logstash的部分职责外包的想法也应运而生。

Beats 是轻量级(资源高效,无依赖性,小型)和开放源代码日志发送程序的集合 ,相比LogstashBeats所占系统的CPU和内存几乎可以忽略不计。目前Beats家族有7个主要成员:

2.png

1、Filebeat

1.1、Filebeat介绍

Filebeat是用于“转发”和“集中日志数据”的“轻量型数据采集器”。Filebeat监视您指定的日志文件路径,收集日志事件并将数据转发到ElasticSerachLogstashRedis等。

1.png

1.2、Filebeat工作流程

Filebeat主要包含两个组件:输入和收割机,这些组件协同工作将文件尾部最新事件数据发送到指定的输出

4.png

2、docker安装Filebeat

2.1、拉取镜像
docker pull docker.elastic.co/beats/filebeat:7.1.1
2.2、filebeat.yml
setup.ilm.enabled: false
setup.template.name: "filebeat-161"
setup.template.pattern: "filebeat-161-*"

setup.template.settings:
  index.number_of_shards: 5
  index.number_of_replicas: 0
  index.codec: best_compression 

filebeat.inputs:
- type: log				##文本日志
  paths: 
      - /var/log/filebeat/lemon.log     ##日志文件修改权限到666
output:
  elasticsearch:  			#输出到elasticsearch,也可以输出到logstash
    hosts: ["192.168.232.160:9200"] 	#elasticsearch地址,
    index: "filebeat-161-%{+yyyy.MM.dd}"
2.3、启动Filebeat
docker run -d \
--name=my-filebeat-2 \
-v /mydata/filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml \
-v /mydata/filebeat/log:/var/log/filebeat/ \
0bd69a03e199 

二、什么是logstash

logstash能够集中、转换和存储数据, 动态地采集、转换和传输数据,不受格式或复杂度的影响。利用 Grok 从非结构化数据中派生出结构,从 IP 地址解码出地理坐标,匿名化或排除敏感字段,并简化整体处理过程。

5.png

1、安装logstash

1.1、拉去镜像

docker pull logstash:7.1.1

1.2、配置logstash

logstash.yml
path.config: /usr/share/logstash/conf.d/*.conf
path.logs: /var/log/logstash
lemon.conf

配置数据来源,过滤器,输出

input {
    file{
        path => ["/var/log/logstash/lemon.log"]
        start_position => "beginning"
    }
}

filter {
	split {
		field => "message"
        terminator => "|"
	}
}

output {
	elasticsearch { 
  		hosts => ["192.168.232.160:9200"] 
    	index => "logstash-161-%{+yyyy.MM.dd}"
  	}
}

logstash提供了不同的input输入插件,Filter过滤器插件,Output输出插件

6.png

1.3、运行容器启动logstash

docker run -p 5044:5044 --name my-logstash \
-v /mydata/logstash/logstash.yml:/usr/share/logstash/config/logstash.yml \
-v /mydata/logstash/conf.d/:/usr/share/logstash/conf.d/ \
-v /mydata/logstash/log:/var/log/logstash b0cb1543380d

三、什么是Kibana

Kibana 是一个免费且开放的用户界面,能够让您对Elasticsearch数据进行可视化,并让您在 Elastic Stack 中进行导航。您可以进行各种操作,从跟踪查询负载,到理解请求如何流经您的整个应用,都能轻松完成。

一张图片胜过千万行日志,下面是Kibana中的仪表盘界面

21.png

1、安装Kibana

1.1、拉去镜像

docker pull kibana:7.1.1

1.2、配置kibana.yml

server.name: kibana             #服务名称
server.host: "0"		#服务地址,0代表本机
elasticsearch.hosts: [ "http://192.168.232.160:9200" ] #elasticsearch地址
xpack.monitoring.ui.container.elasticsearch.enabled: true
i18n.locale: "zh-CN"		#中文汉化

1.3、运行容器启动logstash

docker run -d --name my-kibana -p 5601:5601 -v /mydata/kibana/kibana.yml:/usr/share/kibana/config/kibana.yml 67f17df6ca3e
回帖
请输入回帖内容 ...