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

相关文章

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF

MySQL的配置文件详解及实例代码

《MySQL的配置文件详解及实例代码》MySQL的配置文件是服务器运行的重要组成部分,用于设置服务器操作的各种参数,下面:本文主要介绍MySQL配置文件的相关资料,文中通过代码介绍的非常详细,需要... 目录前言一、配置文件结构1.[mysqld]2.[client]3.[mysql]4.[mysqldum

springboot2.1.3 hystrix集成及hystrix-dashboard监控详解

《springboot2.1.3hystrix集成及hystrix-dashboard监控详解》Hystrix是Netflix开源的微服务容错工具,通过线程池隔离和熔断机制防止服务崩溃,支持降级、监... 目录Hystrix是Netflix开源技术www.chinasem.cn栈中的又一员猛将Hystrix熔

Java Stream流以及常用方法操作实例

《JavaStream流以及常用方法操作实例》Stream是对Java中集合的一种增强方式,使用它可以将集合的处理过程变得更加简洁、高效和易读,:本文主要介绍JavaStream流以及常用方法... 目录一、Stream流是什么?二、stream的操作2.1、stream流创建2.2、stream的使用2.

springboot项目中集成shiro+jwt完整实例代码

《springboot项目中集成shiro+jwt完整实例代码》本文详细介绍如何在项目中集成Shiro和JWT,实现用户登录校验、token携带及接口权限管理,涉及自定义Realm、ModularRe... 目录简介目的需要的jar集成过程1.配置shiro2.创建自定义Realm2.1 LoginReal

Python跨文件实例化、跨文件调用及导入库示例代码

《Python跨文件实例化、跨文件调用及导入库示例代码》在Python开发过程中,经常会遇到需要在一个工程中调用另一个工程的Python文件的情况,:本文主要介绍Python跨文件实例化、跨文件调... 目录1. 核心对比表格(完整汇总)1.1 自定义模块跨文件调用汇总表1.2 第三方库使用汇总表1.3 导

MySQL多实例管理如何在一台主机上运行多个mysql

《MySQL多实例管理如何在一台主机上运行多个mysql》文章详解了在Linux主机上通过二进制方式安装MySQL多实例的步骤,涵盖端口配置、数据目录准备、初始化与启动流程,以及排错方法,适用于构建读... 目录一、什么是mysql多实例二、二进制方式安装MySQL1.获取二进制代码包2.安装基础依赖3.清

SpringBoot 异常处理/自定义格式校验的问题实例详解

《SpringBoot异常处理/自定义格式校验的问题实例详解》文章探讨SpringBoot中自定义注解校验问题,区分参数级与类级约束触发的异常类型,建议通过@RestControllerAdvice... 目录1. 问题简要描述2. 异常触发1) 参数级别约束2) 类级别约束3. 异常处理1) 字段级别约束

Apache Ignite缓存基本操作实例详解

《ApacheIgnite缓存基本操作实例详解》文章介绍了ApacheIgnite中IgniteCache的基本操作,涵盖缓存获取、动态创建、销毁、原子及条件更新、异步执行,强调线程池注意事项,避免... 目录一、获取缓存实例(Getting an Instance of a Cache)示例代码:二、动态

JSONArray在Java中的应用操作实例

《JSONArray在Java中的应用操作实例》JSONArray是org.json库用于处理JSON数组的类,可将Java对象(Map/List)转换为JSON格式,提供增删改查等操作,适用于前后端... 目录1. jsONArray定义与功能1.1 JSONArray概念阐释1.1.1 什么是JSONA