ELK 分离式日志

news2024/12/24 17:38:02

目录

一.ELK组件

ElasticSearch:

Kiabana:

Logstash:

可以添加的其它组件:

ELK 的工作原理:

二.部署ELK

节点都设置Java环境:

每台都可以部署 Elasticsearch 软件:

修改elasticsearch主配置文件:

性能调优参数:

修改内核参数文件:

访问页面查看节点信息及状态:

每台安装 Elasticsearch-head 插件:

安装 phantomjs:

安装 Elasticsearch-head 数据可视化工具(安装一个节点):

安装依赖包:

修改 Elasticsearch 主配置文件(10,20,30节点):

启动 elasticsearch-head 服务:

访问页面:

插入索引:

通过命令插入一个测试索引,索引为 index-demo,类型为 test:

浏览器访问 http://192.168.80.10:9100/ 查看索引信息:

ELK Logstash 部署(在 web 节点上操作):

安装logstash:

测试 Logstash:

使用 Logstash 将信息写入 Elasticsearch 中:

修改 Logstash 配置文件,让其收集系统日志/var/log/messages,并将其输出到 elasticsearch 中:

创建目录:

切换到目录:

添加文件内容:

ELK Kiabana 部署(30节点上操作):

安装 Kiabana:

设置 Kibana 的主配置文件:

创建日志:

验证 Kibana:

创建索引:

将nginx服务器的日志(访问的、错误的)添加到 Elasticsearch 并通过 Kibana 显示:

到kibana目录下添加文件内容:


一.ELK组件

ELK平台是一套完整的日志集中处理解决方案,将 ElasticSearch、Logstash 和 Kiabana 三个开源工具配合使用, 完成更强大的用户对日志的查询、排序、统计需求。

ElasticSearch:

是基于Lucene(一个全文检索引擎的架构)开发的分布式存储检索引擎,用来存储各类日志。

Kiabana:

Kibana 通常与 Elasticsearch 一起部署,Kibana 是 Elasticsearch 的一个功能强大的数据可视化 Dashboard,Kibana 提供图形化的 web 界面来浏览 Elasticsearch 日志数据,可以用来汇总、分析和搜索重要数据。

Logstash:

作为数据收集引擎。它支持动态的从各种数据源搜集数据,并对数据进行过滤、分析、丰富、统一格式等操作,然后存储到用户指定的位置,一般会发送给 Elasticsearch。

可以添加的其它组件:

Filebeat:轻量级的开源日志文件数据搜集器。通常在需要采集数据的客户端安装 Filebeat,并指定目录与日志格式,Filebeat 就能快速收集数据,并发送给 logstash 进行解析,或是直接发给 Elasticsearch 存储,性能上相比运行于 JVM 上的 logstash 优势明显,是对它的替代。常应用于 EFLK 架构当中。

filebeat 结合 logstash 带来好处:
1)通过 Logstash 具有基于磁盘的自适应缓冲系统,该系统将吸收传入的吞吐量,从而减轻 Elasticsearch 持续写入数据的压力
2)从其他数据源(例如数据库,S3对象存储或消息传递队列)中提取
3)将数据发送到多个目的地,例如S3,HDFS(Hadoop分布式文件系统)或写入文件
4)使用条件数据流逻辑组成更复杂的处理管道

缓存/消息队列(redis、kafka、RabbitMQ等):可以对高并发日志数据进行流量削峰和缓冲,这样的缓冲可以一定程度的保护数据不丢失,还可以对整个架构进行应用解耦。

ELK 的工作原理:

Logstash 收集日志,将日志格式化并输出到 Elasticsearch 群集中。

Elasticsearch 对格式化后的数据进行索引和存储。

Kibana 从 ES 群集中查询数据生成图表,并进行前端数据的展示。

总结:logstash作为日志搜集器,从数据源采集数据,并对数据进行过滤,格式化处理,然后交由Elasticsearch存储,kibana对日志进行可视化处理。
 

二.部署ELK

先准备三台服务器,192.168.233.(10..30),其中30为web网页服务器,

节点都设置Java环境:

如果没有安装则下载:yum -y install java。

每台都可以部署 Elasticsearch 软件:

修改elasticsearch主配置文件:

查看信息:


grep -v "^#" /etc/elasticsearch/elasticsearch.yml

其他节点:

性能调优参数:

 需重启生效:

修改内核参数文件:

启动elasticsearch是否成功开启:

访问页面查看节点信息及状态:

状态,查看群集的健康情况,可以看到 status 值为 green(绿色), 表示节点健康运行:

http://192.168.233.10:9200/_cluster/health?pretty

状态:

状态:


每台安装 Elasticsearch-head 插件:

上传软件包 node-v8.2.1.tar.gz 到/opt,并解压:

编译安装:

安装 phantomjs:

上传软件包 phantomjs-2.1.1-linux-x86_64.tar.bz2 到/opt,并解压:

将命令复制到环境变量下:

安装 Elasticsearch-head 数据可视化工具(安装一个节点):

上传软件包 elasticsearch-head-master.zip 到/opt:

unzip elasticsearch-head-master.zip

安装依赖包:

修改 Elasticsearch 主配置文件(10,20,30节点):

http.cors.enabled: true
http.cors.allow-origin: "*"

10节点:

20节点:

30节点:

重启:

启动 elasticsearch-head 服务:

必须在解压后的 elasticsearch-head 目录下启动服务,进程会读取该目录下的 gruntfile.js 文件,否则可能启动失败。

访问页面:

通过 Elasticsearch-head 查看 Elasticsearch 信息:看到群集健康值为 green 绿色,代表群集很健康。

插入索引:
通过命令插入一个测试索引,索引为 index-demo,类型为 test:

curl -X PUT 'localhost:9200/index-demo/test/1?pretty&pretty' -H 'content-Type: application/json' -d '{"user":"zhangsan","mesg":"hello world"}'

浏览器访问 http://192.168.80.10:9100/ 查看索引信息:

可以看见索引默认被分片5个,并且有一个副本。点击“数据浏览”,会发现在node1上创建的索引为 index-demo,类型为 test 的相关信息:

ELK Logstash 部署(在 web 节点上操作):

Logstash 一般部署在需要监控其日志的服务器:

开启40节点安装nginx,并启动:

更改主机名:

hostnamectl set-hostname nginx

添加页面测试页面:

安装logstash:

上传软件包 logstash-6.7.2.rpm 到/opt目录下:

编译:

rpm -ivh logstash-6.7.2.rpm

让logstash能够补全:

ln -s /usr/share/logstash/bin/logstash /usr/local/bin/

设置自启:

测试 Logstash:

logstash -e 'input { stdin{} } output { stdout{} }'

键盘输入内容:

使用 Logstash 将信息写入 Elasticsearch 中:

logstash -e 'input { stdin{} } output { elasticsearch { hosts=>["192.168.233.10:9200"] } }'

看下10节点的数据:

在40节点上输入内容:

再看下10节点 :

修改 Logstash 配置文件,让其收集系统日志/var/log/messages,并将其输出到 elasticsearch 中:

chmod +r /var/log/messages

cd /etc/logstash

创建目录:

创建日志文件:

touch log_progress

授用户权限:

chown logstash:logstash /etc/logstash/sincedb_path/log_progress

切换到目录:

cd /etc/logstash/conf.d/

关闭logstash服务:

添加文件内容:

vim system.conf

logstash -f system.conf

查看下esWeb页面:

ELK Kiabana 部署(30节点上操作):
安装 Kiabana:

上传软件包 kibana-6.7.2-x86_64.rpm 到/opt目录

rpm -ivh kibana-6.7.2-x86_64.rpm

设置 Kibana 的主配置文件:

vim /etc/kibana/kibana.yml

创建日志:

touch /var/log/kibana.log

授权:

chown kibana:kibana /var/log/kibana.log

开启服务:

验证 Kibana:

可以管理索引:

创建索引:

将nginx服务器的日志(访问的、错误的)添加到 Elasticsearch 并通过 Kibana 显示:

到kibana目录下添加文件内容:

创建成功日志:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1394943.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

QT-QML2048小游戏

QT-QML2048小游戏 一、演示效果二、关键程序三、下载链接 一、演示效果 二、关键程序 import QtQuick 2.2 import QtQuick.Controls 1.1 import QtQuick.Controls.Styles 1.1 import QtQuick.Dialogs 1.1 import QtQuick.Window 2.1 import "2048.js" as MyScriptAp…

使用pyechart创建折线图

import json from pyecharts.charts import Line from pyecharts import options# 首先使用文件打开数据 f_us open(Desktop/python/Project/数据可视化/美国.txt,r,encoding"UTF-8") f_rb open(Desktop/python/Project/数据可视化/日本.txt,r,encoding"UTF-8…

基于springboot+vue的蜗牛兼职网的设计与实现系统(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目背景…

Pypputeer自动化

Pyppeteer简介 pyppeteer 是 Python 语言的一个库,它是对 Puppeteer 的一个非官方端口,Puppeteer 是一个 Node 库,Puppeteer是Google基于Node.js开发的一个工具,它提供了一种高层次的 API 来通过 DevTools 协议控制 Chrome 或 Ch…

【XTuner 大模型单卡低成本微调实战】学习笔记

参考学习教程【XTuner 大模型单卡低成本微调实战】 理论 Finetune简介 大语言模型 微调模式 增量预训练 指令跟随微调 LoRA和QLoRA Xtuner介绍 实战 自定义微调 用 Medication QA 数据集进行微调 将数据转为 XTuner 的数据格式 目标格式:(.jsonL) 写提示词请C…

清晰光谱空间:全自动可调波长系统的高光谱成像优势

高光谱成像技术 高光谱成像技术是一种捕获和分析宽波长信息的技术,能够对材料和特征进行详细的光谱分析和识别。高光谱成像技术的实现通过高光谱相机,其工作原理是使用多个光学传感器或光学滤波器分离不同波长的光,并捕获每个波段的图像&…

CSS笔记II

CSS第二天笔记 复合选择器后代选择器子选择器并集选择器交集选择器伪类选择器 三大特性继承性层叠性优先级优先级-叠加计算规则 Emmet写法 背景属性背景图平铺方式位置缩放固定复合属性 显示模式转换显示模式 复合选择器 定义:由两个或多个基础选择器,通…

16.鸿蒙HarmonyOS App(JAVA)滑块组件Slider与评级组件Rating

16.鸿蒙HarmonyOS App(JAVA)滑块组件Slider与评级组件Rating ability_main.xml <?xml version"1.0" encoding"utf-8"?> <DirectionalLayoutxmlns:ohos"http://schemas.huawei.com/res/ohos"ohos:height"match_parent"oh…

格密码基础:最短格基与KZ基

目录 一. 介绍 二. 最短向量长度 三. GapSVP问题的困难性 四. 如何解决近似SVP问题 五. 推荐论文 一. 介绍 KZ基的全称叫Korkine-Zolotarev格基&#xff0c;KZ基也被称之为最短的格基。接下来我们介绍什么是KZ基&#xff1f; 给定任意秩为n的格&#xff0c;首先第一步寻…

解决Python安装库时出现的Requirement already satisfied问题

uirement already satisfied的问题当我们用pip install 库名时&#xff0c;出现了下面 Requirement already satisfied WARNING: Ignoring invalid distribution -ip 的问题 对于这样的问题&#xff0c;解决办法就是在 pip install 后加 - -target你所要添加的库文件地址(注意…

网络知识梳理:HTTP和HTTPS

HTTP&#xff08;超文本传输协议&#xff09;和HTTPS&#xff08;安全超文本传输协议&#xff09;是两种用于在互联网上传输数据的协议&#xff0c;主要用于网页浏览。它们在功能上相似&#xff0c;但在安全性方面有重要区别&#xff1a; 1.HTTP 定义&#xff1a;HTTP是一种用…

Flutter编译报错Connection timed out: connect

背景&#xff1a;用Android Studo 创建了Flutter项目&#xff0c;编译运行报错java.net.ConnectException: Connection timed out: connect 我自己的环境&#xff1a; windows11 Android Studio Flutter 截图如下&#xff1a; 将错误日志展开之后&#xff1a; Exception…

小白准备蓝桥杯之旅(c/c++b组)

前言&#xff1a;省赛获奖比例高达百分之60,只要比一半的人努力&#xff0c;你就能大概率获奖。 寒假做的3件事 1.稳基础 熟练掌握基础语法部分&#xff0c;c比c多个stl库优势&#xff0c;c语言的同学需要会实现c中stl库部分 2.刷真题 大概比赛前30天&#xff0c;坚持每天做…

SD-WAN解决跨国公司海外工厂网络安全问题

在跨境业务蓬勃发展的今天&#xff0c;越来越多的大型企业出于人力成本的考虑&#xff0c;在人力成本较低的发展中国家建立工厂。然而&#xff0c;传统基于路由器的网络架构已无法为这些跨国企业提供可靠的安全网络。那么&#xff0c;如何解决跨国企业海外工厂的网络难题呢&…

JAVA基础-----认识异常

文章目录 1. 异常的概念与体系结构1.1 异常的概念1.2 异常的体系结构1.3 异常的分类 2. 异常的处理2.1 防御式编程2.2 异常的抛出2.3 异常的捕获2.3.1 异常声明throws2.3.2 try-catch捕获并处理2.3.3 finally 2.4 异常的处理流程 3. 自定义异常类 1. 异常的概念与体系结构 1.1…

JavaWeb:Request Response

文章目录 1、Request和Response的概述2、Request继承体系3、Request获取请求数据3.1、获取请求行数据3.2、获取请求头3.3、获取请求体 4、Request通用方式请求参数5、POST请求参数乱码解决6、Request请求转发7、Response的响应状态码和响应头8、Response重定向9、Response响应字…

关于linux 救援模式出现xfs 文件系统挂载报 bad supperblock

关于linux 救援模式出现xfs 文件系统挂载报 bad supperblock 一种情况说明 挂载ISO文件进入救援模式&#xff0c;无法挂载XFS文件系统&#xff0c;xfs_repair也是报未知的超级块 使用 xfs_info 可以取到 xfs文件系统分区信息 xfs_db -c “sb 0” -c “p” $your_xfs_dev 也能…

2024年【建筑电工(建筑特殊工种)】考试报名及建筑电工(建筑特殊工种)免费试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 建筑电工(建筑特殊工种)考试报名是安全生产模拟考试一点通总题库中生成的一套建筑电工(建筑特殊工种)免费试题&#xff0c;安全生产模拟考试一点通上建筑电工(建筑特殊工种)作业手机同步练习。2024年【建筑电工(建筑特…

HarmonyOS 转场动画 ForEach控制

本文 我们继续说组件的专场特效 上文 HarmonyOS 转场动画 我们通过if控制了转场效果 本文 我们通过 ForEach 控制它的加载和删除 这时候就有人会好奇 ForEach 怎么控制删除呢&#xff1f; 很简单 循环次数不同 例如 第一次 10个 第二次 5个 那么后面的五个就相当于删除啦 我们…

ubuntu开放ssh服务

&#x1f4d1;前言 本文主要是【ubuntu】——ubuntu开放ssh服务的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页&#xff1a;CSDN主页听风与他 &#x1f304;每日一…