ELK 分离式日志

目录

一.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目录下添加文件内容:

input {
    file{
        path => "/usr/local/nginx/logs/access.log"
        type => "access"
        start_position => "beginning"
    }
    file{
        path => "/usr/local/nginx/logs/error.log"
        type => "error"
        start_position => "beginning"
    }
}

output {

    if [type] == "access" {
        elasticsearch {
            hosts => ["192.168.233.10:9200","192.168.233.30:9200"]
            index => "nginx_access-%{+YYYY.MM.dd}"
        }
    }
        if [type] == "error" {
        elasticsearch {
            hosts => ["192.168.233.10:9200","192.168.233.30:9200"]
            index => "nginx_error-%{+YYYY.MM.dd}"
        }
    }
}

注意看看自己web应用的log文件路径

检查文件是否成功:

进行测试:

logstash -f system.conf

添加索引:

创建成功日志索引:

创建错误日志索引:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vue以弹窗形式实现导入功能

目录 前言正文 前言 由于个人工作原因,偏全栈,对于前端的总结还有些初出茅庐,后续会进行规整化的总结 对应的前端框架由:【vue】avue-crud表单属性配置(表格以及列) 最终实现的表单样式如下:…

VSCode 插件推荐

前言 关于开发用的插件就不做赘述了,网上面有很多文章都做了推荐,本文推荐几个好看的插件。 文件图标主题 Vscode icons Material Icon Theme 字体主题 推荐 One Dark Pro 其他 推荐一个生成好看代码的网址 https://carbon.now.sh/

策略模式在工作中的运用

前言 在不同的场景下,执行不同的业务逻辑,在日常工作中是很寻常的事情。比如,订阅系统。在收到阿里云的回调事件、与收到AWS的回调事件,无论是收到的参数,还是执行的逻辑都可能是不同的。为了避免,每次新增…

如何选购一款质量好超声波清洗机呢?质量好超声波清洗机排行榜

想要选择到一款好用的超声波清洗机还是要多做功课!现在市面上超声波清洗机品牌可见是非常多的,质量也是参差不齐,大家在选购的时候需要多看参数再下手也不迟的!现在大多数的上班族,面临的都是早九晚六的工作&#xff0…

LeetCode 算法 3.无重复字符的最长子串(python版)

1.需求 #给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 #输入: s “pwwkew” #输出: 3 #解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。 #请注意,你的答案必须是 子串 的长度,“pwke” 是一个…

Linux centos中find命令的多种用途:按照具体应用来详细说明find的用法举例

目录 一、find命令 二、find命令的语法 (一)语法格式 (二)选项 1、选项(option)介绍 2、控制符号链接的option 3、调试选项debugopts 4、优化选项 (三)表达式expression 1、选项options 2、测试…

Docker之nacos的安装和使用

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是君易--鑨,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的博客专栏《Docker之Dockerfile构建镜像》。🎯&…

python数字图像处理基础(九)——特征匹配

目录 蛮力匹配(ORB匹配)RANSAC算法全景图像拼接 蛮力匹配(ORB匹配) Brute-Force匹配非常简单,首先在第一幅图像中选取一个关键点然后依次与第二幅图像的每个关键点进行(描述符)距离测试&#x…

Android中矩阵Matrix实现平移,旋转,缩放和翻转的用法详细介绍

一,矩阵Matrix的数学原理 矩阵的数学原理涉及到矩阵的运算和变换,是高等代数学中的重要概念。在图形变换中,矩阵起到关键作用,通过矩阵的变换可以改变图形的位置、形状和大小。矩阵的运算是数值分析领域的重要问题,对…

GC6139——单通道5V高细分步进电机,应用于摇头机,X,Y控制,聚焦控制等产品中,可替代MS41939

GC6139是一款单通道5V低压步进电机驱动器,具有低噪声、低振动的特点,特别适用于相机的变焦或对焦系统、万向节等精密低噪声STM控制系统。该芯片为每个通道集成了64微步驱动器。带SPl接口,用户可以方便地调整驱动器的参数。该芯片还内置2通道L…

旅游项目day04

1. JWT有效期 封装用户登录对象, 在指定时间过期 2. 有些接口需要登录?有些不需要登录? 后端如何知道a需要登录,b不需要登录? 注解。 3. 目的地 一个区域下面包含多个目的地 数据库表: 1. 区域表 2.…

老子云支持70+格式模型转FBX/OBJ/STL/STP,一键处理无损转换!

老子云3D可视化平台是一个集合了3D编辑器、单模型轻量化、倾斜摄影轻量化、格式转换等一站式3D开发功能的强大技术平台。无论您是设计师、工程师还是科研人员,都可以在这个平台上轻松实现您的创意和想法。 老子云3D可视化平台是一个集合了3D编辑器、单模型轻量化、…

电子印章软件,如何实现招投标流程无纸化?

电子印章软件的出现,为招投标流程的无纸化提供了强有力的支持。在招投标场景,使用电子印章软件,实现无纸化流程,不仅能够提高工作效率,还能减少打印邮寄成本和环境污染。 微签作为电子印章软件中的佼佼者,…

网络安全产品之认识WEB应用防火墙

随着B/S架构的广泛应用,Web应用的功能越来越丰富,蕴含着越来越有价值的信息,应用程序漏洞被恶意利用的可能性越来越大,因此成为了黑客主要的攻击目标。传统防火墙无法解析HTTP应用层的细节,对规则的过滤过于死板&#…

回顾2023年总结和2024年计划

学其他博主,我也来总结一下,回顾2023年, 一、总结2023年 公众号共发表文章127篇,原创82篇,共22.4万字年阅读量为34.6万次今年最佳文章是《一起来学孟德尔随机化(Mendelian Randomization)》 不完全统计,帮…

OpenCV-Python(47):支持向量机

原理 线性数据分割 如下图所示,其中含有两类数据,红的和蓝的。如果是使用kNN算法,对于一个测试数据我们要测量它到每一个样本的距离,从而根据最近的邻居分类。测量所有的距离需要足够的时间,并且需要大量的内存存储训…

springcloud +Vue 前后端分离的onlinejudge在线评测系统

功能描述: 本系统的研究内容主要是设计并实现一个一个在线测评系统(OJ),该系统集成了博客、竞赛、刷题、教学,公告,个人管理六大功能,用户注册后登录系统,可以浏览本站的全部文章、发…

[HTML]Web前端开发技术14(HTML5、CSS3、JavaScript )鼠标经过图片显示大图 网页标题:表格标签的综合应用——喵喵画网页

希望你开心,希望你健康,希望你幸福,希望你点赞! 最后的最后,关注喵,关注喵,关注喵,佬佬会看到更多有趣的博客哦!!! 喵喵喵,你对我真的…

Spring 核心之 IOC 容器学习一

IOC 与 DI IOC(Inversion of Control)控制反转:所谓控制反转,就是把原先我们代码里面需要实现的对象创建、依赖的代码,反转给容器来帮忙实现。那么必然的我们需要创建一个容器,同时需要一种描述来让容器知道需要创建的对象与对象…

FPGA引脚选择(Select IO)--认知1

主要考虑功能角度(速度,电平匹配,内部程序编写)去找研究芯片内部资源 1. 关键字 HP I/O Banks, High performance The HP I/O banks are deisgned to meet the performance requirements of high-speed memory and other chip-to-…