kibana数据导出插件(kibana 导出)

http://www.itjxue.com  2023-01-29 00:26  来源:未知  点击次数: 

kibana基础操作

Kibana 是一款开源的数据分析和可视化平台,它是 Elastic Stack 成员之一,设计用于和 Elasticsearch 协作。可以使用 Kibana 对 Elasticsearch 索引中的数据进行搜索、查看、交互操作。也可以很方便的利用图表、表格及地图对数据进行多元化的分析和呈现。

学习网址:

一、工具栏导航

graph

在Elasticsearch数据中显示并分析相关关系。

discover

通过查询和过滤原始文档以交互方式浏览数据。

visualize

在Elasticsearch索引中创建可视化并聚合数据存储。

dashboard

显示并共享可视化和保存的搜索的集合。

canvas

以像素完美的方式展示您的数据。

maps

探索来自Elasticsearch和Elastic Maps Service的地理空间数据。

machine learning

自动对时间序列数据的正常行为建模以检测异常。

infrastructure

探索基础结构指标和常见服务器,容器和服务的日志。

logs

实时流式记录日志或在类似控制台的体验中滚动浏览历史视图。

APM

从应用程序内部自动收集深入的性能指标和错误。

uptime

执行端点运行状况检查和正常运行时间监视。

SIEM

探索安全指标并记录事件和警报

Console

跳过cURL并使用此JSON接口直接处理您的数据。

Index Patterns

管理有助于从Elasticsearch检索数据的索引模式。

Monitoring

跟踪弹性堆栈的实时运行状况和性能。

Rollups

将历史数据汇总并存储在较小的索引中,以供将来分析。

Saved Objects

导入,导出和管理您保存的搜索,可视化和仪表板。

Security Settings

保护您的数据并轻松管理哪些用户可以访问用户和角色。

Spaces

将仪表板和其他保存的对象组织到有意义的类别中。

Watcher

通过创建,管理和监视警报来检测数据中的更改。

Dev Tools

开发工具

metrics

从服务器上运行的操作系统和服务收集指标。

management

管理索引,索引模式,保存的对象,Kibana设置等。

二、查询语法

1.通配符搜索可以在单个条件下运行,?用于替换单个字符,以及*替换零个或多个字符

2.常用表达通过将正则表达式模式包含在正斜杠("/")中,可以将它们嵌入查询字符串中

3.模糊性我们可以使用“模糊”运算符搜索与我们的搜索词相似但不完全相同的词

4.范围可以为日期,数字或字符串字段指定范围。包含范围用方括号指定,[min TO max]排除范围用花括号指定{min TO max}

三、Discover 的数据探索功能

搜索页面详情如下图:

四、Visualize的操作及其配置

点击创建新的可视化,选择图表类型和数据索引来进行可视化绘图操作。

可以通过单击 + Add Metrics 按钮来添加聚合。

在 Custom Label 输入域中输入字符串以更改显示标签。

为视图X轴选择一个桶聚合:

一旦指定了 X 轴聚合,可以定义子聚合来优化可视化。单击 + Add Sub Aggregation 定义子聚合,然后选择 Split Area 或 Split Chart ,然后从类型列表中选择一个子聚合。

在图表轴上定义多个聚合时,可以使用聚合类型右侧的向上或向下箭头来更改聚合的优先级。

五、Dashboard的使用

要用仪表板,你需要至少有一个已保存的 visualization。

Kibana 仪表板(Dashboard) 展示保存的可视化结果集合。在编辑模式下,可以根据需要安排和调整可视化结果集,并保存仪表板,以便重新加载和共享。

ES告警之ElastAlert入门教程(容器部署)

????????我们部署的版本是此篇文章发布时ElastAlert(V0.2.1)、ElastAlert server(3.0.0-beta.0) 、elastalert-kibana-plugin(1.1.0)的最新版本。es和kibana的版本是7.2.0。ES和kibana部署不是本篇的重点,这里不做介绍。

????????入正题之前得先说下ES,Elasticsearch 是一个分布式、可扩展、实时的搜索与数据分析引擎。 它能从项目一开始就赋予你的数据以搜索、分析和探索的能力。我们容器服务的日志现在大多数都入到了qbus,然后可以用es消费,通过kibana方便的查看日志。但是负责es的同事和我们都没有支持日志告警,目前是一个短板。X-Pack提供了报警组件Alert,但是这个功能是需要付费,ElastAlert能够完美替代Alert提供的所有功能。ElastAlert目前有6k+star,维护较好很受欢迎,使用python编写,V0.2.0以后使用python3,python2不再维护,以致在虚机物理机部署的坑很多,最终也是以容器的方式成功搭建。因为公司es之后要升级到7.2版本,ElastAlertV0.2.1(最新版本)才对es7支持的很好,elastalert-kibana-plugin最新版本才支持kibana7。

elastalert-kibana-plugin对ES6.3开始提供支持,公司目前使用的是ES6.2,之后要升级到ES7,所以ElastAlert用V0.2.1,ElastAlert server 3.0.0-beta.0,elastalert-kibana-plugin 1.1.0。

????????ElastAlert V0.2.1需要python3,目前我们使用linux内核都会默认装python2,安装python3后,使用混合环境安装ElastAlert 很多依赖装不成功,亦或装成功后模块有找不到,所以最终打算使用docker multi stage build方式构建ElastAlert server镜像,以容器的方式启动。

????????官网上提供了ElastAlert server镜像构建方式,但很久不维护,还是使用python2构建的老的版本。我们需要重新构建。

通过docker logs elastalert -f 查看日之日,如果报错,指定告警级别为dubug查看错误信息

kibana插件如下:

custom_frequency是启服务之前创建的配置文件,test和test2是通过kibana dashboard创建。用户可以通过“创建”-“测试”-“保存”这一流程新建alert rules 和我们的hulk容器上的自定义告警流程差不多

ELFK-基础篇

本文发布链接地址:

[TOC]

后台运行与测试

关闭

配置文件的格式是 YAML 格式

elasticsearch-head 是一个简单的 elasticsearch web 图形化的管理工具

使用javascript写的一个弹性搜索集群的Web前端,在 elasticsearch5.x 后不再支持

插件形式的安装,需要作为一个独立的服务安装和启动。

上面的方式我测试没有成功,原因可能是网络问题导致,访问的都是国外的网站,慢。

推荐下面的方式

还有一种安装方式非常简单,只需要在 chrome 浏览器中安装 head 插件即可

谷歌商店 搜索 "ElasticSearch Head" 插件,安装这个插件,之后点击 相应插件图标即可。

插件安装地址

之后,在浏览地址栏里输入 elasticsearch 的地址和端口,点击连接

安装完毕

== 该配置文件的所有者必须是root或正在执行Beat进程的用户。 该文件的权限必须不允许除所有者以外的任何人写入,需要是0644的权限==

==/var/log/* 这样的匹配是错误的==

默认情况下,Filebeat 会自动加载推荐的模板文件 filebeat.template.json,如果启用了 Elasticsearch 输出。您可以通过调整 filebeat.yml 文件中的选项template.name和template.path选项来配置filebeat以加载其他模板:

==默认情况下,如果索引中已存在模板,则不会覆盖该模板。要覆盖现有的模板,请template.overwrite: true在配置文件中进行设置。==

要禁用自动模板加载,请注释Elasticsearch输出下的 template 的相关部分。

==如果使用Logstash输出,则不支持自动加载模板的选项,需要手动加载模板。==

假如配置了输出到 Logstash 中,需要手动添加索引模板到 Elasticsearch 中,就需要在 filebeat 的安装目录中执行如下命令

假如你之前已经用了输出到 elasticsearch 的索引模板,可以在成功执行上面命令后,执行下面的命令,用于删除旧的索引模板,这样可以强迫 Kibana 重新使用新的索引模板

要在 Kibana 中查看数据,假如首次使用 kibana,需要先创建索引模式,具体请看 Kibana 部分的介绍

创建索引模式后,您可以 filebeat-* 在 Kibana 中选择索引模式来探索 Filebeat数据。

数据在线程之间以 事件 的形式流传。不要叫行,因为 logstash 可以处理多行事件

此时可以在命令行里输入一下信息,应该可以看到一些输出

可以利用文件输入插件,Logstash 可以很容易配置成读取日志文件作为输入源

例如 读取 Apache 日志文件作为输入,然后输出到标准输出。配置文件如下:

配置为将所有的输入输出到一个 Elasticsearch 实例中. 这是在 ELK 平台中是最常用的配置。

这里是把一个Django 的日志作为输入,之后输出到 elasticsearch

好像没啥卵用

插件类型包括:

Logstash 可以从 file 读取数据

file 插件可用于将事件和日志文件输入给 Logstsh

stdin 输入插件用于从标准输入中读取事件和日志。

当我们配置为 stdin 时,终端上的任何输入都会作为 Logstash 日志管道的输入。

这通常用于测试。

filebeat 插件出现在最新的 5.x 版本中,它是一个轻量级的事件和日志搜集工具。

会把处理过的数据输出到屏幕终端

把处理过的数据存储到 elasticsearch 集群中

true 和 false

编辑码器实际上并不是一种数据类型,它是在输入或输出的时候对数据进行解码或编码

的一种方式

例子:

在输出的时候设置,把输出数据编码成 JSON 格式

就是由一系列键值对组合成的集合。

以 "key" = "value" 的形式表示,多个用空格分开

用双引号引起来的字符序列

以字符 # 开头

字段可以使用 [field_name] 的方式引用

嵌套字段 [field1][field2]

支持下标索引

小贴士:logstash 的数组也支持倒序下标,即 [geoip][location][-1] 可以获取数组最后一个元素的值。

Logstash 还支持变量内插,在字符串里使用字段引用的方法是这样:

"the longitude is %{[geoip][location][0]}"

Logstsh 的判断语句,与js的一样

条件语句可以一起配合使用的运算符如下:

通常来说,你都会在表达式里用到字段引用。为了尽量展示全面各种表达式,下面虚拟一个示例:

要配置Logstash,您可以创建一个配置文件,指定要使用的插件和每个插件的设置。 您可以在配置中引用事件字段,并使用条件来满足某些条件时处理事件。 当您运行logstash时,使用-f指定您的配置文件。

可以把 Logstash 相关的配置信息放在一个自定义的文件里

配置文件的格式是被分为不同的区域块儿的,基本上是根据 输入插件、过滤插件和输出插件来区分的

每一个区域块儿都包含了一个或者多个插件的配置选项。

==如果在同一个区域中使用了多个插件,则配置文件中的顺序就指定了应用到事件处理六的顺序。==

在运行 Logstash 运行时,可以用 -f 参数指定配置文件的完整路径,甚至可以指定一个包含了多个不同类型如输入、过滤和输出插件的配置文件目录

使用 -t (--configtest) 参数可以检查配置文件的语法,而不是真正运行 Logstash

测试配置文件

如果配置文件通过配置测试,请使用以下命令启动Logstash:

该--config.reload.automatic选项启用自动配置重新加载,以便您每次修改配置文件时不必停止并重新启动Logstash。

--config.reload.automatic 可以用 -r 替代

配置文件常见错误:

下面是完整正确的配置文件内容

用指定配置文件的方式启动 Ctrl + d 停止 logstash 在 shell 命令行里执行的启动程序first-pipeline.conf

其实上面的命令参数在 5.x 之后,都可以在配置文件 logstash.yml 中设置了

现在,您有一个工作流程,从Filebeat读取日志行。但是您会注意到日志消息的格式不理想。您要解析日志消息以从日志中创建特定的命名字段。为此,您将使用grok过滤器插件。

因为grok过滤器插件在传入的日志数据中查找模式,所以配置插件需要您决定如何识别用例感兴趣的模式。来自Web服务器日志示例的代表行如下所示:

使用方法,编辑 first-pipeline.conf

写入下面的内容:

假如你在这之前已经运行了 logstash 和 filebeat 。要想生效现在的过滤配置,您需要强制Filebeat从头开始读取日志文件。

不必重新启动Logstash来接收更改,但是需要删除 filebeat 下的注册表文件 registry,此文件一般在安装目录下的 data 目录下。

由于Filebeat存储在注册表中收集的每个文件的状态,因此删除注册表文件会强制Filebeat读取从头开始捕获的所有文件。

接下来,使用以下命令重新启动Filebeat即可

除了解析日志数据以获得更好的搜索之外,过滤插件也可以从现有数据中导出补充信息。例如,geoip插件会查找IP地址,从地址中导出地理位置信息,并将该位置信息添加到日志中。

将Logstash实例配置为使用geoip过滤器插件,将以下行添加到文件的filter部分first-pipeline.conf

完整的示例:

修改好保存,生效的话,同样先删除 Filebeat 注册文件,之后重启 filebeat

配置输出到 Elasticsearch

测试您的管道编辑

现在,Logstash管道配置为将数据索引到Elasticsearch集群中,您可以查询Elasticsearch。

根据grok过滤器插件创建的字段,尝试对Elasticsearch进行测试查询。使用YYYY.MM.DD格式将$ DATE替换为当前日期

输出

注意

索引名称中使用的日期是基于UTC,而不是Logstash运行的时区。如果查询返回index_not_found_exception,请确保logstash-$DATE反映了索引的实际名称。要查看可用索引的列表,请使用此查询:curl 'localhost:9200/_cat/indices?v'

ps -ef |grep node

kill -9 进程号

在浏览其中输入以下地址

使用Kibana Machine learning Data Visualizer 导入csv文件数据

以前导入数据到ES的步骤导致如下:

1. Create index and mapping

2. Bluk批量导入数据

参考文献:? Analyzing Aftershock Data with Elasticsearch and Kibana via CSV Import | Elastic Blog

文件第一行一般是列名:time,loc,latitude,longitude,depth,mag,id,place

kibana会根据列名生成mappling和Ingestline,可以在Override中修改字段名和字段类型:

如果elasticsearch集群没有设置ingest pipline节点,就将ingest pipeline删除,不然在uploading data那一步会报错。

(责任编辑:IT教学网)

更多

推荐网页文字特效文章