使用docker搭建ELK分式日志同步方案
ELK作为业界最常用日志同步方案,我们今天尝试一下使用docker快速搭建一套ELK方案。ELK使用国内加速源拉取的镜像比较旧,有条件的朋友可以拉取官网的源。elasticsearch作为日志储存库(数据库),kibana的作用通过elasticsearch的API接口调取其中数据作可视化分析,logstash的作用就是将程序生成的日志同步到elasticsearch。
搭建Elasticsearch
docker run
-d
--name elasticsearch
-p 9200:9200
-p 9300:9300
-e "discovery.type=single-node"
-e "xpack.security.enabled=false"
elasticsearch:8.14.1
其中discovery.type必填,不然启动失败,简单选择单节点规模,如果在内网建议填写xpack.security.enabled为false,因为默认值是true,默认elasticsearch需要授权访问,内网网络这一步可以省掉。
搭建kibana
docker run
-d
--name kibana
--link elasticsearch
-p 5601:5601
kibana:7.17.22
通过docker的link参数,与刚刚搭建的elasticsearch容器关联起来,默认数据就会关联起来,elasticsearch通过API进行数据访问,如果刚才搭建elasticsearch容器xpack.security.enabled没有填写false,此时则需要配置授权。
搭建Web站点
docker run
-d
--name web
-p 5000:80
-v /Logs:/app/Logs
-v /etc/localtime:/etc/localtime
-e TimeZone=Asia/Shanghai
webapplication1:latest
拉取网站镜像启动容器,切记同步一下主机的时间和时区,容器默认是国际标准时间和时区,会有8个小时的差值。-v /etc/localtime:/etc/localtime的作用是同步主机时间,-e TimeZone=Asia/Shanghai的作用是同步主机时区。
-v /Logs:/app/Logs作用是挂载点,将容器的日志文件夹挂载到主机文件上面,这一步很重要,logstash同步日志需要挂载这个主机的日志文件夹。
搭建Logstash
logstash需要先配置参数,才可以启动镜像。
input {
file {
path => "/Logs/*.txt"
start_position => "beginning"
}
}
filter {
}
output {
elasticsearch {
hosts => ["http://192.168.3.105:9200"]
index => "logstash-%{+YYYY.MM.dd}"
}
}
input是输入源,选择文件,地址应该是与程序容器日志挂载点相同。
output是输出源,选择elasticsearch,填写刚刚启动的elasticsearch容器,如果搭建elasticsearch容器xpack.security.enabled没有填写false,此时则需要配置授权。
docker run
-d
--name logstash
-v /Logs:/Logs
-v /root/logstash.conf:/usr/share/logstash/pipeline/logstash.conf
logstash:7.17.22
将主机的日志挂载点传进容器,将logstash.conf配置文件挂载进去。

四个容器启动之后,ELK日志收集方案就基本搭建完毕,程序生产的日志通过挂载同步到主机,再同步进logstash的容器,由logstash定时读取将数据通过elasticsearch的API写入库,再通过kibana的可视化界面进行分析。
访问kibana可视化界面可以就进行日志实时同步分析,根据我的容器端口和IP地来看,我的kibana站点地址是:http://192.168.3.105:5601


更多系列文章
构建高性能,可伸缩,高可用,安全,自动化,可溯源,整体式应用构架体系
使用docker搭建ELK分式日志同步方案的更多相关文章
- Docker-compose搭建ELK环境并同步MS SQL Server数据
前言 本文作为学习记录,供大家参考:一次使用阿里云(Aliyun)1核2G centos7.5 云主机搭建Docker下的ELK环境,并导入MS SQL Server的商品数据以供Kibana展示的配 ...
- .NetCore快速搭建ELK分布式日志中心
懒人必备:.NetCore快速搭建ELK分布式日志中心 该篇内容由个人博客点击跳转同步更新!转载请注明出处! 前言 ELK是什么 它是一个分布式日志解决方案,是Logstash.Elastaics ...
- Docker 搭建 ELK 集群步骤
前言 本篇文章主要介绍在两台机器上使用 Docker 搭建 ELK. 正文 环境 CentOS 7.7 系统 Docker version 19.03.8 docker-compose version ...
- 手把手教你搭建 ELK 实时日志分析平台
本篇文章主要是手把手教你搭建 ELK 实时日志分析平台,那么,ELK 到底是什么呢? ELK 是三个开源项目的首字母缩写,这三个项目分别是:Elasticsearch.Logstash 和 Kiban ...
- Docker 搭建 ELK 读取微服务项目的日志文件
思路: 在docker搭建elasticsearch与kibana来展示日志,在微服务部署的机子上部署logstash来收集日志传到elasticsearch中,通过kibana来展示,logstas ...
- 通过docker搭建ELK集群
单机ELK,另外两台服务器分别有一个elasticsearch节点,这样形成一个3节点的ES集群. 可以先尝试单独搭建es集群或单机ELK https://www.cnblogs.com/lz0925 ...
- 利用docker部署elk交换机日志分析
今天我们来聊一下利用docker部署elk日志分析系统,这里解析一下elk是啥东西.elk分别是Elasticsearch,Logstash和Kibana的首字母缩写. Elasticsearch是一 ...
- ELK+Kafka学习笔记之搭建ELK+Kafka日志收集系统集群
0x00 概述 关于如何搭建ELK部分,请参考这篇文章,https://www.cnblogs.com/JetpropelledSnake/p/9893566.html. 该篇用户为非root,使用用 ...
- asp.net core结合NLog搭建ELK实时日志分析平台
0.整体架构 整体架构目录:ASP.NET Core分布式项目实战-目录 一.介绍ELK 1.说明(此篇ELK采用rpm的方式安装在服务器上)-牛刀小试 承接上一篇文章的内容准备部署ELK来展示asp ...
- 【杂记】docker搭建ELK 集群6.4.0版本 + elasticsearch-head IK分词器与拼音分词器整合
大佬博客地址:https://blog.csdn.net/supermao1013/article/category/8269552 docker elasticsearch 集群启动命令 docke ...
随机推荐
- Mac远程控制工具有哪些
适用于Mac的远程控制工具有很多,这里我们给大家列举五个常用软件. 1.Apple Remote Desktop 苹果自带远程桌面正如其名称所承诺的那样.作为 Apple 出品的应用程序,您可以想象它 ...
- TCP协议分析工具TcpEngine V1.2.0使用教程
概述 目前主流的网络数据分析工具主要有两类,一类是http协议分析工具,如fiddler,这类工具擅长对字符串类型协议分析:另一类是原始网络数据包的监听分析,如Wireshark,这类工具擅长分析网络 ...
- 密码学—凯撒密码Python程序
文章目录 凯撒密码来源 加密算法 解密算法 凯撒密码来源 古典密码,且属于单表加密 凯撒密码又称恺撒变换.变换加密,凯撒是当时罗马共和时期恺撒的名字命名的,当年恺撒曾用此方法与其将军们进行联系.(当然 ...
- 基于webapi的websocket聊天室(番外二)
我比较好奇的是webapi服务器怎么处理http请求和websocket请求.有了上一篇番外的研究,这里就可以试着自己写个非常简易的webapi服务器来接收这两种请求. 效果 http请求 消息打印 ...
- tkinter滚动条
from tkinter import * import requests window = Tk() window.geometry('1000x600+300+100') window.title ...
- 基于 Kubernetes 的 CICD 基础设施即代码
在上一篇基于 Kubernetes 的基础设施即代码一文中,我概要地介绍了基于 Kubernetes 的 .NET Core 微服务和 CI/CD 动手实践工作坊使用的基础设施是如何使用代码描述的,以 ...
- 《最新出炉》系列入门篇-Python+Playwright自动化测试-49-Route类拦截修改请求-下篇
1.简介 在日常工作和学习中,自动化测试的时候:在加载页面时,可能页面出现很多不是很重要或者不是我们所关注的,这个时候我们就可以选择不加载这些内容,以提高页面加载速度,节省资源.例如:可能页面上图片比 ...
- 3分钟部署 我的世界(Minecraft) 联机服务
游戏简介 我的世界(Minecraft)是一款沙盒类电子游戏,该游戏以玩家在一个充满着方块的三维空间中自由地创造和破坏不同种类的方块为主题.玩家在游戏中可以在单人或多人模式中通过摧毁或创造精妙绝伦的建 ...
- ubuntu安装之后要做的10件事
部分内容整理自网络,如果侵权还请联系 基础配置 换源 换源 [ubuntu清华源镜像站] ctrl+click,进入镜像站链接,选择合适的版本,将镜像地址粘贴到本地文件里,对于: <24.04的 ...
- TensorRT环境配置(VS+opencv4.5)
1 TensorRT下载 下载与TensorRT相匹配的CUDA和cuDNN版本:https://docs.nvidia.com/deeplearning/tensorrt/archives/tens ...