11:日志分析系统ELK|Elasticsearch|kibana

日志分析系统ELK|Elasticsearch|kibana

  • 日志分析系统ELK
    • ELK概述
    • Elasticsearch
    • 安装Elasticsearch
    • 部署Elasticsearch集群
    • Elasticsearch插件
  • 熟悉Elasticsearch的API调用
    • _cat API
    • 创建 tedu 索引使用 PUT 方式
    • 增加数据
    • 查询数据
    • 修改数据
    • 删除数据
  • Kibana
    • Kibana安装配置
    • 导入日志并绘制图表

日志分析系统ELK

ELK概述

  • Elasticsearch:负责日志检索和存储
  • Logstash:负责日志的收集和分析、处理
  • Kibana:负责日志的可视化
  • ELK是一整套解决方案,是三个软件产品的首字母缩写,很多公司都在使用 如:Sina 携程 华为 美团等
  • 这三款软件都是开源软件,通常是配合使用,而且又先后归于Elastic.co公司名下,故被简称为ELK

ELK组件在海量日志系统的运维中,可用于解决:
分布式日志数据集中查询和管理
系统监控,包含系统硬件和应用各个组件的监控
故障排查
安全信息和事件管理
报表功能

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Elasticsearch

是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful API的web接口,其是用java开发的,使用apache许可条款的开源软件,是当前流程的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,快速,可靠,安装使用方便。
在这里插入图片描述

安装Elasticsearch

最低配置: 2cpu,2G内存,20G硬盘
在这里插入图片描述

步骤一:先准备一台虚拟机

1.更改主机名,配置IP,搭建第三方yum源
# 在跳板机上把 elk 软件加入自定义 yum 仓库
[root@ecs-proxy ~]# cp -a elk /var/ftp/localrepo/elk
[root@ecs-proxy ~]# cd /var/ftp/localrepo/
[root@ecs-proxy localrepo]# createrepo --update .
2.安装elasticsearch
# 配置主机名解析
[root@es-0001 ~]# vim /etc/hosts
192.168.1.41    es-0001
[root@es-0001 ~]# yum makecache
[root@es-0001 ~]# yum install -y java-1.8.0-openjdk elasticsearch
[root@es-0001 ~]# vim /etc/elasticsearch/elasticsearch.yml
55:  network.host: 0.0.0.0
# 设置开机自启
[root@es-0001 ~]# systemctl enable --now elasticsearch
[root@es-0001 ~]# curl http://192.168.1.41:9200/
{"name" : "War Eagle","cluster_name" : "elasticsearch","version" : {"number" : "2.3.4","build_hash" : "e455fd0c13dceca8dbbdbb1665d068ae55dabe3f","build_timestamp" : "2016-06-30T11:24:31Z","build_snapshot" : false,"lucene_version" : "5.5.0"},"tagline" : "You Know, for Search"
}

部署Elasticsearch集群

使用5台虚拟机组建 elasticsearch 集群
最低配置: 2cpu,2G内存,20G硬盘
虚拟机:
192.168.1.41 es-0001
192.168.1.42 es-0002
192.168.1.43 es-0003
192.168.1.44 es-0004
192.168.1.45 es-0005

1.更改hosts文件
[root@es-0001 ~]# vim  /etc/hosts
192.168.1.41    es-0001
192.168.1.42    es-0002
192.168.1.43    es-0003 
192.168.1.44    es-0004 
192.168.1.45    es-0005
2.更改配置文件
[root@es-0001 ~]# yum install -y java-1.8.0-openjdk elasticsearch
[root@es-0001 ~]# vim /etc/elasticsearch/elasticsearch.yml
17:  cluster.name: my-es # 集群名称
23:  node.name: es-0001 # 本机主机名
55:  network.host: 0.0.0.0
68:  discovery.zen.ping.unicast.hosts: ["es-0001", "es-0002"] # 介绍人
[root@es-0001 ~]# systemctl enable --now elasticsearch
[root@es-0001 ~]# curl http://192.168.1.41:9200/_cluster/health?pretty
{"cluster_name" : "my-es","status" : "green","timed_out" : false,"number_of_nodes" : 5,"number_of_data_nodes" : 5,... ...
}
3) 其他机器(1.42-1.45)一样操作,安装elasticsearch和java-1.8.0-openjdk,同步配置文件在步骤一已经安装了一台elasticsearch,这里只需再准备四台即可
4)访问测试,如图-1所示:
可以访问任意一台主机, 集群的节点都是5台,ES 集群验证:返回字段解析:
”status”: ”green“ 集群状态:绿色为正常、黄色表示有问题但不是很严重、红色表示严重故障
”number_of_nodes”: 5, 表示集群中节点的数量

在这里插入图片描述
在这里插入图片描述

Elasticsearch插件

  • head插件
    它展示ES集群的拓扑结构,并且可以通过它来进行索引和节点级别的操作,他提供一组针对集群的查询API,并将结果以json和表格的形式返回,它提供一些快捷菜单,用以展现集群的各种状态。
    在这里插入图片描述

在这里插入图片描述
使用 head插件访问集群
购买云主机: 1cpu,1G内存,20G硬盘,并安装 apache
虚拟机:
192.168.1.48 web

安装 apache,并把 apache 和 es-0001 服务发布到互联网上
安装 apache
[root@web ~]# yum install -y httpd
[root@web ~]# tar zxf head.tar.gz
[root@web ~]# mv elasticsearch-head /var/www/html/head
[root@web ~]# systemctl enable --now httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
2)授权访问head插件访问 es-0001
[root@es-0001 ~]# vim /etc/elasticsearch/elasticsearch.yml
# 配置文件最后追加
http.cors.enabled : true
http.cors.allow-origin : "*"
http.cors.allow-methods : OPTIONS, HEAD, GET, POST, PUT, DELETE
http.cors.allow-headers : X-Requested-With,X-Auth-Token,Content-Type,Content-Length
[root@es-0001 ~]# systemctl restart elasticsearch.service

在这里插入图片描述

五角星 是master 主节点 是程序内部自己选的

熟悉Elasticsearch的API调用

在这里插入图片描述
在这里插入图片描述

在Linux中curl 是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持多种请求模式,自定义请求头等强大功能,是一款综合工具。
使用格式:curl -X 请求方法 http://请求地址
curl -H 自定义请求头 http://请求地址

_cat API

_cat 关键字用来查询集群状态,节点信息等
显示详细信息(?v),显示帮助信息(?help)
例如查询集群中的master是谁

[root@localhost~]# curl -XGET http://es-0001:9200/_cat/master?v

在这里插入图片描述

创建 tedu 索引使用 PUT 方式

[root@es-0005 bin]# curl -XPUT -H "Content-Type: application/json" 'http://es-0001:9200/tedu' -d '{"settings":{"index":{"number_of_shards": 5, "number_of_replicas": 1}}
}'
{"acknowledged":true}

增加数据

[root@es-0005 bin]# curl –XPUT -H "Content-Type: application/json" 'http://es-0001:9200/tedu/teacher/1' -d \
> '{
>   "职业": "诗人",
>   "名字": "李白",
>   "称号": "诗仙",
>   "年代": "唐"
> }' 
{"_index":"tedu","_type":"teacher","_id":"1","_version":1,"_shards":{"total":2,"successful":2,"failed":0},"created":true}

查询数据

[root@es-0005 bin]# curl -XGET http://es-0001:9200/tedu/teacher/1?pretty
{"_index" : "tedu","_type" : "teacher","_id" : "1","_version" : 1,"found" : true,"_source" : {"职业" : "诗人","名字" : "李白","称号" : "诗仙","年代" : "唐"}
}

修改数据

[root@es-0005 bin]# curl -XPOST -H "Content-Type: application/json" http://es-0001:9200/tedu/teacher/1/_update -d \
> '{ 
>     "doc": {
>         "年代": "公元701"
>     }
> }'
{"_index":"tedu","_type":"teacher","_id":"1","_version":2,"_shards":{"total":2,"successful":2,"failed":0}}

删除数据

注:删除时候可以是文档,也可以是索引,但不能是类型

[root@es-0005 bin]# curl –XDELETE -H "Content-Type: application/json" http://es-0001:9200/tedu/teacher/1
{"found":true,"_index":"tedu","_type":"teacher","_id":"1","_version":3,"_shards":{"total":2,"successful":2,"failed":0}}
[root@es-0005 bin]# curl -XDELETE -H "Content-Type: application/json" http://es-0001:9200/tedu
{"acknowledged":true}

Kibana

kibana 是数据可视化平台工具
特点:

  • 灵活的分析和可视化平台
  • 实时总结流量和数据的图标
  • 为不同的用户显示直观的界面
  • 即时分享和嵌入的仪表板

Kibana安装配置

创建虚拟机并安装 kibana
最低配置: 1cpu,1G内存,10G硬盘
虚拟机IP: 192.168.1.46 kibana

步骤一:安装kibana
1)在另一台主机,配置ip为192.168.1.46,配置yum源,更改主机名

更改hosts文件
[root@kibana ~]# vim /etc/hosts
192.168.1.41    es-0001
192.168.1.42    es-0002
192.168.1.43    es-0003
192.168.1.44    es-0004
192.168.1.45    es-0005
192.168.1.46    kibana
[root@kibana ~]# yum -y install kibana

2)更改配置文件

[root@kibana ~]# vim /etc/kibana/kibana.yml
02  server.port: 5601
07  server.host: "0.0.0.0"
28  elasticsearch.hosts: ["http://es-0002:9200", "http://es-0003:9200"]
37  kibana.index: ".kibana"
40  kibana.defaultAppId: "home"
113 i18n.locale: "zh-CN"
[root@kibana ~]# systemctl enable --now kibana

web 页面访问

Firefox  http://192.168.1.46:5601

在这里插入图片描述

导入日志并绘制图表

  • 数据导入条件:必须指定 json格式 Content-Type:application/json
  • 导入关键字:_bulk
  • HTTP方法:POST
  • url编码格式:data-binary

导入数据

[root@localhost ~]# scp  /var/ftp/localrepo/elk/*.gz root@192.168.1.46:/root/
[root@kibana ~]# gzip  -d logs.jsonl.gz 
[root@kibana ~]# curl -XPOST -H "Content-Type: application/json" http://es-0001:9200/_bulk --data-binary @logs.jsonl

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
注意: 这里没有数据的原因是导入日志的时间段不对,默认配置是最近15分钟,在这可以修改一下时间来显示
kibana修改时间,选择Lsat 15 miuntes
在这里插入图片描述
在这里插入图片描述
除了柱状图,Kibana还支持很多种展示方式
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

C语言第三十一弹---自定义类型:结构体(下)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】 目录 1、结构体内存对齐 1.1、为什么存在内存对齐? 1.2、修改默认对齐数 2、结构体传参 3、结构体实现位段 3.1、什么是位段 3.2、位段的内存分配 3.3、…

端口映射的软件有哪些?

端口映射软件是一种实用工具,能够帮助用户在网络中实现远程通信,解决不同地区电脑与电脑、设备与设备、电脑与设备之间的信息传输问题。其中,【天联】组网天联是一款功能强大的端口映射软件,它通过在全国各主要节点部署加速服务器…

KubeSphere实战

我是南城余!阿里云开发者平台专家博士证书获得者! 欢迎关注我的博客!一同成长! 一名从事运维开发的worker,记录分享学习。 专注于AI,运维开发,windows Linux 系统领域的分享! 知…

数据可视化基础与应用-01-数据可视化概述

总结 本系列是数据可视化基础与应用的第02篇,主要介绍数据可视化概述,包括数据可视化的历史,原理,工具等。 认识大数据可视化 数据是什么 信息科学领域面临的一个巨大挑战是数据爆炸。据IDC Global DataSphere统计&#xff0c…

【Nuxt】在 Nuxt3 中使用 nuxt-icons 实现 icon svg 的动态变色效果

效果展示 nuxt-icons 安装 自己去看官网文档就行 nuxt-icons 配置 把 svg 放到 icons 目录下 使用 要想实现变色效果,需要我们把 svg 内部的需要动态变色的地方修改为 fill"currentColor" 才能实现动态修改颜色的效果 然后在代码中使用,使…

【机器人学导论笔记】三、操作臂正运动学

3.1 概述 操作臂正运动学研究操作臂的运动特性,主要涉及与运动有关的几何参数和时间参数。本章中,只研究静止状态下操作臂连杆的位置和姿态。 处理这些复杂的几何参数需要一些步骤:首先需要在操作臂的每个连杆上分别固接一个连杆坐标系&…

C++ Primer (第五版)第三章习题部分答案

在我自学C过程中,我选择了CPrimer这本书,并对部分代码习题进行了求解以及运行结果。接下来几个月我将为大家定时按章节更新习题答案与运行结果,运行环境(Visual Studio Code,windows 11): 3.1.1.使用恰当的…

llm的inference(二)

文章目录 Tokenizer分词1.单词分词法2.单字符分词法3.子词分词法BPE(字节对编码,Byte Pair Encoding)WordPieceUnigram Language Model(ULM) embedding的本质推理时的一些指标参考链接 Tokenizer 在使用模型前,都需要将sequence过一遍Tokenizer&#xf…

【JavaScript 漫游】【020】DOM 常用知识点总结

文章简介 DOM 是 JavaScript 操作网页的接口,全称为文档对象模型(Document Object Model)。DOM 操作是 JavaScript 最常见的任务,离开了 DOM,JavaScript 就无法操作网页。 本篇文章为【JavaScript 漫游】专栏的第 02…

Mybatis总结--传参二

#叫做占位符 Mybatis是封装的JDBC 增强版 内部还是用的jdbc 每遇到一个#号 这里就会变为?占位符 一个#{}就是对应一个问号 一个占位符 用这个对象执行sql语句没有sql注入的风险 八、多个参数-使用Param 当 Dao 接口方法有多个参数,需要通过名称使…

Gemini 模型将被引入Performance Max

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

迅为LS2K0500开发板龙芯自主指令系统应用于互联网应用、打印终端、BMC 医疗、数控、通讯、交通等

CPU 迅为LS2K0500开发板采用龙芯2K0500处理器,基于龙芯自主指令系统 (LoongArch) 架构,片内集成64位LA264处理器核。实现ACPI、DVFS/DPM动态电源功耗管理等低功耗技术,支持多种电源级别和唤醒方式,可根据具体应用场景对芯片部分功…

Linux内核网络

文章目录 前言网络协议栈图解功能 发送Linux内核网络数据包图解流程 接收Linux内核网络数据包图解流程 最后 前言 你好,我是醉墨居士,因为Linux内核涉及的内容极多,我们初学者如果一上来就开始深挖细节,很有可能会在Linux内核代码…

时序预测 | Matlab实现基于GRNN广义回归神经网络的光伏功率预测模型

文章目录 效果一览文章概述源码设计参考资料效果一览 文章概述 1.时序预测 | Matlab实现基于GRNN广义回归神经网络的光伏功率预测模型 2.单变量时间序列预测; 3.多指标评价,评价指标包括:R2、MAE、MBE等,代码质量极高; 4.excel数据,方便替换,运行环境2020及以上。 广义回…

抖音短视频:表情包账号的魅力与运营之道以及制作与工具

在短视频的浪潮中,抖音以其独特的创意和趣味性成为了年轻人的最爱。其中,表情包账号更是凭借其生动、形象的表现方式,赢得了众多用户的青睐。本文将深入探讨抖音短视频表情包账号的魅力所在以及如何有效运营。 一、表情包账号的独特魅力 情…

Go的CSP并发模型实现M, P, G简介

GMP概念简介 G: goroutine(协程,也叫用户态线程) M: 工作线程(内核态线程) P: 上下文(也可以认为是cpu,逻辑cpu数量,可以在程序启动的时候设置这个数量,gomaxprocs函数设置) GMP 模型 在 Go 中&#xff…

深度神经网络中的计算和内存带宽

深度神经网络中的计算和内存带宽 文章目录 深度神经网络中的计算和内存带宽来源原理介绍分析1:线性层分析2:卷积层分析3:循环层总结 来源 相关知识来源于这里。 原理介绍 Memory bandwidth and data re-use in deep neural network computat…

Temu、亚马逊店铺如何快速得到好评?自养号测评下单的秘籍及必备条件。

Temu、亚马逊店铺如何快速得到好评?在这个竞争激烈的电商平台上,好评是店铺吸引顾客、建立良好声誉的关键。快速积累好评不仅能够提高商品的曝光度,也有助于吸引更多潜在顾客的关注。 然而,亚马逊不同于国内电商,对于操纵评论、…

动态规划的时间复杂度优化

作者推荐 视频算法专题 本文涉及知识点 动态规划汇总 优化动态规划的时间复杂度,主要有如下几种: 一,不同的状态表示。 比如:n个人,m顶帽子。 第一种方式:dp[i][mask] ,i表示前i个人已经选择帽子&…

Python in Excel的一些使用心得

获得Python in Excel的preview之后, 就在任意的Excel单元格里可以敲py(来写Python代码了。不过Python in Excel并没有什么专门的文档, 只有一些_Get Started_教程, 比如link 1, link 2, 剩下的就是pandas, matplotlib, seaborn等lib的文章,和Python in Excel并没有什…