博客
关于我
docker部署EFK
阅读量:639 次
发布时间:2019-03-13

本文共 1840 字,大约阅读时间需要 6 分钟。

CentOS环境下Elasticsearch、Kibana和Filebeat的部署与配置指南

1. 下载并运行Elasticsearch镜像

在CentOS环境中安装Elasticsearch,可以通过Docker镜像轻松完成。使用命令docker pull docker.elastic.co/elasticsearch/elasticsearch:6.7.1下载Elasticsearch镜像。

接下来,将下载的镜像标记为elasticsearch:6.7.1,然后使用以下命令运行一个新的Elasticsearch容器:
docker run -d --name elastic -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" e2667f5db289
此时,你应该可以通过浏览器访问平台地址9200端口来访问Elasticsearch。

2. 下载并配置Kibana镜像

Kibana作为Elasticsearch的可视化界面,其安装也较为简单。首先下载Kibana镜像:docker pull docker.elastic.co/kibana/kibana:6.7.1

接下来,将镜像标记为kibana:6.7.1,并运行:
docker run -it -d --name kibana -p 5601:5601 kibana:6.7.1
运行完成后,通过浏览器访问地址5601端口即可进入Kibana界面。

在进入Kibana之前,请确保修改其配置文件config/kibana.yml,以指定Elasticsearch的地址。例如,将server.host设置为"0.0.0.0",并在elasticsearch.hosts中指定正确的IP地址,如"http://172.17.0.1:9200"

重启容器后,Kibana应该能够正确连接到Elasticsearch实例。

3. 部署并配置Filebeat进行日志收集

3.1 安装Filebeat镜像

首先下载Filebeat镜像:docker pull docker.elastic.co/beats/filebeat:6.7.1。将镜像标记为filebeat:6.7.1,然后运行:

docker run -u root --name filebeat -d -v /usr/local/filebeats6.7.1/filebeat.yml:/usr/share/filebeat/filebeat.yml -v /usr/local/filebeats6.7.1/logs/:/usr/share/filebeat/logs filebeat:6.7.1
这条命令将使用本地配置文件和日志目录,并将Filebeat配置文件挂载到容器。

3.2 Filebeat的工作模式

Filebeat支持两种主要的日志收集方式。你可以根据需要选择其中一种模式。

3.2.1 文件扫描模式

filebeat.yml中配置如下内容:

filebeat.inputs:  - type: docker    containers.ids: ['*']    multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}'    multiline.negate: true    multiline.match: after    multiline.timeout: 10s  processors:    - add_docker_metadata: ~output:  elasticsearch:    hosts: ["172.17.0.1:9200"]

此配置会将Docker容器中的日志以文件方式读取,并根据指定的模式合并日志内容。

3.2.2 容器日志收集模式

或者,你可以选择直接从Docker容器收集日志。只需在filebeat.yml中保留默认的Docker输入,并确保add_docker_metadata过滤器添加了元数据。

4. 在Kibana中设置索引并使用日志数据

启动完成所有服务后,打开Kibana界面。在“管理”菜单中创建索引,将日志数据导入Elasticsearch,并在Kibana中进行实时搜索和分析。通过这些步骤,你应该能够轻松地将系统日志数据可视化,并实现实时监控。

转载地址:http://vvbaz.baihongyu.com/

你可能感兴趣的文章
mysql批量修改字段名(列名)
查看>>
MySQL批量插入数据遇到错误1213的解决方法
查看>>
mysql技能梳理
查看>>
MySQL报Got an error reading communication packets错
查看>>
Mysql报错Can‘t create/write to file ‘/tmp/#sql_3a8_0.MYD‘ (Errcode: 28 - No space left on device)
查看>>
MySql报错Deadlock found when trying to get lock; try restarting transaction 的问题解决
查看>>
MySQL报错ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘
查看>>
Mysql报错Packet for query is too large问题解决
查看>>
mysql报错级别_更改MySQL日志错误级别记录非法登陆(Access denied)
查看>>
Mysql报错:too many connections
查看>>
MySQL报错:无法启动MySQL服务
查看>>
mysql授权用户,创建用户名密码,授权单个数据库,授权多个数据库
查看>>
mysql排序查询
查看>>
MySQL排序的艺术:你真的懂 Order By吗?
查看>>
MySQL排序的艺术:你真的懂 Order By吗?
查看>>
Mysql推荐书籍
查看>>
Mysql插入数据从指定选项中随机选择、插入时间从指定范围随机生成、Navicat使用存储过程模拟插入测试数据
查看>>
MYSQL搜索引擎
查看>>
mysql操作数据表的命令_MySQL数据表操作命令
查看>>
mysql操作日志记录查询_如何使用SpringBoot AOP 记录操作日志、异常日志?
查看>>