Elastic Stack--ELFK实例与Dashboard界面

2024-08-31 16:36

本文主要是介绍Elastic Stack--ELFK实例与Dashboard界面,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除

 学习B站博主教程笔记: 

最新版适合自学的ElasticStack全套视频(Elk零基础入门到精通教程)Linux运维必备—ElasticSearch+Logstash+Kibana精讲_哔哩哔哩_bilibiliicon-default.png?t=N7T8https://www.bilibili.com/video/BV1VMW3e6Ezk/?spm_id_from=333.1007.tianma.1-1-1.click&vd_source=e539f90574cdb0bc2bc30a8b5cb3fc00

一、ELFK实例

实例架构图如下:

 完成以下内容:(1)收集nginx日志,写入ES集群,分片数量为3,副本数量为0,索引名称为"cluster-linux-nginx";(2)收集tomcat日志,写入ES集群,分片数量为5,副本数量为0,索引名称为"cluster-linux-tomcat";(3)收集app日志,写入ES集群,分片数量为10,副本数量为0,索引名称为"cluster-linux-app";(4)分析出nginx,tomcat的客户端IP所属城市,访问时使用的设备类型等

(1)创建好索引模板:

cluster-linux-nginx模板:

cluster-linux-tomcat模板:

cluster-linux-app模板:

(2)收集nginx日志

many-to-logstash.yml

 filebeat.inputs:- type: logpaths: - /var/log/nginx/access.log*json.keys_under_root: true​output.logstash:hosts: ["192.168.1.10:8888"]

(3)收集tomcat日志

 filebeat.inputs:- type: logpaths: - /root/software/apache-tomcat-10.1.28/logs/*.txtjson.keys_under_root: true​output.logstash:hosts: ["192.168.1.10:7777"]

(4)收集app日志

(5)logstash收集日志

beats-to-es.conf:

 input {beats {type => "nginx"port => 8888}​beats {type => "tomcat"port => 7777}}filter {mutate {remove_field => ["tags","log","agent","@version","input","ecs"]}if ["type"] == ["nginx"] {geoip {source => "clientip"target => "cluster-linux-geoip"}useragent {source => "http_user_agent"target => "cluster-linux-useragent"}}​if ["type"] == ["tomcat"] {geoip {source => "clientip"target => "cluster-linux-geoip"}useragent {source => "AgentVersion"target => "cluster-linux-useragent"}}}output {stdout{}if ["type"] == ["nginx"] {elasticsearch {hosts => ["192.168.1.10:9200","192.168.1.11:9200","192.168.1.12:9200"]index => "cluster-linux-nginx"}}if ["type"] == ["nginx"] {elasticsearch {hosts => ["192.168.1.10:9200","192.168.1.11:9200","192.168.1.12:9200"]index => "cluster-linux-tomcat"}}}

二、kibana自定义dashboard实战案例

1.统计PV(指标)

 Page View(简称:"PV")页面访问或点击量。kibana界面鼠标依次点击如下:(1)菜单栏;(2)Visualize Library(可视化库);(3)新建可视化(4)基于聚合(5)指标(6)选择索引模式(例如"oldboyedu-linux80-nginx*")(7)指标栏中选择:聚合: 计数定制标签: PV

2.统计客户端IP(指标)

 客户端IP:通常指的是访问Web服务器的客户端IP地址,但要注意,客户端IP数量并不难代表UV。kibana界面鼠标依次点击如下:(1)菜单栏;(2)Visualize Library(可视化库);(3)创建可视化(4)基于聚合(5)指标(6)选择索引模式(例如"oldboyedu-linux80-nginx*")(7)指标栏中选择:聚合: 唯一计数字段: clientip.keyword定制标签: IP

3.统计web下载带宽(指标)

 带宽:统计nginx返回给客户端文件大小的字段进行累计求和。kibana界面鼠标依次点击如下:(1)菜单栏;(2)Visualize Library(可视化库);(3)创建可视化(4)基于聚合(5)指标(6)选择索引模式(例如"oldboyedu-linux80-nginx*")(7)指标栏中选择:聚合: 求和字段: SendBytes定制标签: 带宽

4.访问页面统计(水平条形图)

 访问资源统计:对URI的访问次数统计。​kibana界面鼠标依次点击如下:(1)菜单栏;(2)Visualize Library(可视化库);(3)创建可视化(4)基于聚合(5)水平条形图(6)选择索引模式(例如"oldboyedu-linux80-nginx*")(7)指标栏中设置(即Y轴)聚合: 计数定制标签: 访问量(8)添加"存储痛",选择"X"轴聚合: 词字段: uri.keyword...定制标签: URI

5.分析客户端的城市分布(垂直条形图)

 分析客户端的城市分布:需要借助logstash的filter插件的geoip实现对客户端的IP地址进行地域解析。​kibana界面鼠标依次点击如下:(1)菜单栏;(2)Visualize Library(可视化库);(3)创建可视化(4)基于聚合(5)垂直条形图(6)选择索引模式(例如"oldboyedu-linux80-nginx*")(7)指标栏中设置(即Y轴)聚合: 计数定制标签: 城市分布(8)添加"存储痛",选择"X"轴聚合: 词字段: oldboyedu-linux80-nginx.city_name.keyword...定制标签: 城市名称

6.城市分布百分比(饼图)

分析客户端的城市分布:需要借助logstash的filter插件的geoip实现对客户端的IP地址进行地域解析。kibana界面鼠标依次点击如下:(1)菜单栏;(2)Visualize Library(可视化库);(3)创建可视化(4)基于聚合(5)饼图(6)选择索引模式(例如"oldboyedu-linux80-nginx*")(7)指标栏中设置(即Y轴)聚合: 计数定制标签: 城市分布(8)添加"存储痛",选择"X"轴聚合: 词字段: oldboyedu-linux80-nginx.city_name.keyword...定制标签: 城市名称

7.IP的TopN统计(仪表盘)

IP的TopN统计:统计访问量的客户端IP最大的是谁。kibana界面鼠标依次点击如下:(1)菜单栏;(2)Visualize Library(可视化库);(3)创建可视化(4)基于聚合(5)仪表盘(6)选择索引模式(例如"oldboyedu-linux80-nginx*")(7)指标栏中设置(即Y轴)聚合: 计数(8)添加"存储痛",选择"X"轴聚合: 词字段: client.keyword顺序: 降序大小: 3...

8.自定义dashboard

kibana界面鼠标依次点击如下:(1)菜单栏;(2)Dashboard(3)创建仪表盘(4)从可视化库中添加即可。

这篇关于Elastic Stack--ELFK实例与Dashboard界面的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1124426

相关文章

Java操作ElasticSearch的实例详解

《Java操作ElasticSearch的实例详解》Elasticsearch是一个分布式的搜索和分析引擎,广泛用于全文搜索、日志分析等场景,本文将介绍如何在Java应用中使用Elastics... 目录简介环境准备1. 安装 Elasticsearch2. 添加依赖连接 Elasticsearch1. 创

使用C#代码计算数学表达式实例

《使用C#代码计算数学表达式实例》这段文字主要讲述了如何使用C#语言来计算数学表达式,该程序通过使用Dictionary保存变量,定义了运算符优先级,并实现了EvaluateExpression方法来... 目录C#代码计算数学表达式该方法很长,因此我将分段描述下面的代码片段显示了下一步以下代码显示该方法如

Python中的可视化设计与UI界面实现

《Python中的可视化设计与UI界面实现》本文介绍了如何使用Python创建用户界面(UI),包括使用Tkinter、PyQt、Kivy等库进行基本窗口、动态图表和动画效果的实现,通过示例代码,展示... 目录从像素到界面:python带你玩转UI设计示例:使用Tkinter创建一个简单的窗口绘图魔法:用

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链

Oracle Expdp按条件导出指定表数据的方法实例

《OracleExpdp按条件导出指定表数据的方法实例》:本文主要介绍Oracle的expdp数据泵方式导出特定机构和时间范围的数据,并通过parfile文件进行条件限制和配置,文中通过代码介绍... 目录1.场景描述 2.方案分析3.实验验证 3.1 parfile文件3.2 expdp命令导出4.总结

MySQL的索引失效的原因实例及解决方案

《MySQL的索引失效的原因实例及解决方案》这篇文章主要讨论了MySQL索引失效的常见原因及其解决方案,它涵盖了数据类型不匹配、隐式转换、函数或表达式、范围查询、LIKE查询、OR条件、全表扫描、索引... 目录1. 数据类型不匹配2. 隐式转换3. 函数或表达式4. 范围查询之后的列5. like 查询6

Python开发围棋游戏的实例代码(实现全部功能)

《Python开发围棋游戏的实例代码(实现全部功能)》围棋是一种古老而复杂的策略棋类游戏,起源于中国,已有超过2500年的历史,本文介绍了如何用Python开发一个简单的围棋游戏,实例代码涵盖了游戏的... 目录1. 围棋游戏概述1.1 游戏规则1.2 游戏设计思路2. 环境准备3. 创建棋盘3.1 棋盘类

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

C++——stack、queue的实现及deque的介绍

目录 1.stack与queue的实现 1.1stack的实现  1.2 queue的实现 2.重温vector、list、stack、queue的介绍 2.1 STL标准库中stack和queue的底层结构  3.deque的简单介绍 3.1为什么选择deque作为stack和queue的底层默认容器  3.2 STL中对stack与queue的模拟实现 ①stack模拟实现

C++操作符重载实例(独立函数)

C++操作符重载实例,我们把坐标值CVector的加法进行重载,计算c3=c1+c2时,也就是计算x3=x1+x2,y3=y1+y2,今天我们以独立函数的方式重载操作符+(加号),以下是C++代码: c1802.cpp源代码: D:\YcjWork\CppTour>vim c1802.cpp #include <iostream>using namespace std;/*** 以独立函数