IT运维:使用数据分析平台监控PowerStore存储

概述

存储在企业中一直承担着重要的角色,保证数据的安全性更是重中之重。存储的运行是否正常?我们的数据是否安全?存储管理人员的操作是否规范?这些都是企业需要关注的问题。那么该如何确保这些问题能够有效的解决?我们的选择是鸿鹄数据平台。通过鸿鹄将存储的安全日志,操作日志,告警日志集中的存储,利用其搜索功能,可以快速的定位问题,并且可以通过其丰富的报表功能进行展示。

监控目标

监控安全事件,如用户登录

监控操作事件,如用户的操作行为

监控告警事件,如存储运行状态的告警

实现以上监控的图表展示

安装vector

Vector作为数据采集器,可以接收设备的syslog日志,并转发鸿鹄平台。Vector配置方法参考下文:

安装Vector

图片

查看安装后vector版本,确认安装成功

vector安装好后,直接执行vector 时,系统首先会去/usr/bin下寻找命令,如果不在这个目录中,就会找不到了。这个时候我们就需要为这些找不到的命令建立一个链接文件,链接到/usr/bin下  

图片

(详细代码请至文末扫码加入鸿鹄交流群,获取鸿鹄知识库)

登录鸿鹄平台,数据管理>新建数据集

图片

图片

编辑数据源名称,选择数据集范围为上面创建的“switch”,此时会启用

图片

创建syslog.toml脚本,需要调整字段

address = "0.0.0.0:514":0.0.0.0表示接收所有主机发送过来的syslog,514表示接收的端口(syslog默认为514)

mode = "udp":表示接收syslog的协议syslog默认为udp)

._target_table = "switch" : 表示上文你创建的数据集名称

address = "172.20.6.111:9092":鸿鹄的IP和相应的端口

图片

运行修改的syslog脚本,注意保持运行状态。

图片

(详细代码请至文末扫码加入鸿鹄交流群,获取鸿鹄知识库)

登录设备触发syslog(注:登录设备会自动触发syslog)。登录鸿鹄平台查看数据是否导入到switch数据集。如下图事件计数已经显示数据导入成功

图片

查询下通过vector导入到switch数据集的数据,比如这里我查看下存储的日志

图片

图片

配置PowerStore syslog

登录到PowerStore存储,Setting>Remote Logging>ADD

Host/IP Address 填写鸿鹄的地址

协议:默认是udp(与上文syslog.toml里一致)

端口号:默认514(与上文syslog.toml里一致)

Audit Type:全选

图片

SEND TEST MASSEGE,发送测试一个日志信息测试下鸿鹄是否收到

图片

在鸿鹄上查询下日志,发现已经收到存储发送的测试日志,至此配置syslog完成

图片

字段抽取

通常情况下,存储发送过来的日志是由多种类型的,比如登录相关日志,配置相关日志,这些日志的格式在鸿鹄中会先进行一次字段抽取,我们可以在看到默认抽取的字段,如果这些字段已经包含了你需要的,那么可以直接使用。如果有些字段并未抽取,那么就需要你自己抽取,鸿鹄支持正则表达式的方式抽取字段。

以下面的日志为例,我们进行正则表达式的编写

图片

我们可以将日志复制到正则表达式测试网站上来编写,这样能随时知道哪里写错了。以下是我使用的测试网站https://regex101.com/

图片

正则表达式如下

\w+\s\d+\s\d{2}:\d{2}:\d{2}\s\w+-\w+\s\[\d+]:\s\d+-\d+-\d+\w+\d+:\d+:\d+.\d+\s\w+-\w+\s\w+\s\w+@(?\w+)\s(?\w+)\s\[\w+@\w+\s\w+="(?\d+)"\s\w+="(?\w+)"\s\w+="(?\w+)"\s\w+="(?\w+)"\s\w+=(?"[^"]*")\s\w+=(?"[^"]*")\s\w+=(?"[^"]*")]\s(?.+)

ps_syslog,这里是需要新建的视图名称

switch._time 脚本中由第六行开始switch均指的需要抽取数据的原数据集,这里需要根据你的数据集名称替换

where contains( switch._message, 'powerstore') 'powerstore'指的是你要搜索到这个写日志特定的字段,通过powerstore可以限定日志里所有包含powerstore的日志

图片

(完整代码请至文末扫码加入鸿鹄交流群,获取鸿鹄知识库)

在高阶查询中运行,成功

图片

我们运行下搜索语句测试下,可以看到我们抽取出来的字段

图片

图表创建

在进行图表展示前有一个重要的点需要提一下,一般存储在没有触发其日志时,是不会生成日志的。我们需要图表展示,那么就需要尽可能多的日志数据。我们可以在存储上进行一些操作,比如登录、创建测试卷、删除测试卷等,以便丰富日志数据。

仪表板>新建仪表板

图片

创建完成

图片

图表创建方法1

这里我会介绍两种创建图表的方式,一般建议采用第二种方式。鸿鹄支持多种图表的样式,只要搜索语句能够正常生成结果数据,那么就可以选择对应的图表。本文不会介绍所有图表的样式,只针对创建方式进行描述。第一种就是在仪表板内创建图表,方法如下:

新建图表>设备数量
选择图表类型:单值趋势图
查询语句:这个语句可以先在查询里验证,确认查找的结果是想要的
时间范围:选择30天,可以根据自己的情况调整

图片

图片

生成图表

图片

图表创建方法2

图表创建第二种是先搜索,后使用搜索的数据生成图表添加到对应的仪表盘,方法如下:

在查询里输入搜索语句

图片

图片

在查询语句运行完后,点击新建图表

图表类型:可以从各种图表类型中根据需求选择

标题:操作行为统计

选择仪表板:意思是将该图表保存到哪个仪表板

图片

添加后可以在仪表板里看到添加的图表

图片

以上两种方法大家可以根据情况选择,第二种更加直观简单。图表的展示这里我不详细展示,将搜索语句列出,可以给大家参考。

搜索语句

以下列出所有本文中的搜索语句,供参考

小提示:搜索语句命令部分会调用抽取的字符段,如果未抽取字符段,会出现报错

图片

(完整代码请至文末扫码加入鸿鹄交流群,获取鸿鹄知识库)

效果展示

图片

图片

延伸项

按照上文的图表创建,都是在图表生成时选择好图表的时间,比如30天,或者1天的数据展示,在实际场景中,如果我们查看图表时,想要所有的图表可以根据选择灵活的显示该怎么做,比如我想看1天的,想看7天的,那么这时候我们可以做一个”时间项“,方法如下:

创建时间选择

编辑

图片

添加输入

图片

输入类型:选择时间

标记名称:time_range(这个用于给图表调用)

显示标签:这个时间项显示的名字

默认标记值:这里根据自己的情况选择,我一般选择相对时间,设置成30天

图片

确定后会生成一个时间选择的项

图片

调用时间选择

选择想要调用的图表,选择编辑查询

图片

将查询时间范围改为时间标记值,标记名称time_range(上文创建的时间选择时填写的标记名称)

图片

保存后就可以在”时间选择“里选择想要查看的时间,点击应用,图表就会根据时间变化了

图片

总结

通常来讲,存储设备本身会提供自己的日志审计功能,它本身也能够支持查看,简单的搜索,但是我们再深入下看待这个事情,如果我们有1套存储,存储本身的功能能够支撑,但如果我们有10台,甚至更多的存储呢?利用鸿鹄我们可以通过syslog的方式,将存储的数据统一的存储,并且利用其搜索语句进行快速的搜索,并生成相应的图表展示,这样可以大大节省我们的运维工作。

后续工作

本次针对存储只是基于现有的日志数据进行初步的展示,后续随着日志的丰富,我们还会需要进一步的进行优化,大致方向包含

  • 多套存储设备监控,比如我们有10套存储,我们应该能够灵活的选择查看具体每套存储的情况,图表会根据我们选择的存储进行变化

  • 硬件故障监控,比如硬盘故障、控制器故障、链路故障

  • 监控的告警,在某些error事件时,主动的触发邮件的告警

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Maven进阶1 -- 分模块开发、依赖管理、聚合与继承、属性、版本管理、多环境开发、跳过测试

目录 1.分模块开发 将原始模块按照功能拆分成若干个子模块&#xff0c;方便模块间的相互调用&#xff0c;接口共享。 案例&#xff1a;拆分一下这个SSM整合案例 ①创建maven模块 demo项目下的pom.xml文件&#xff08;主要看一下依赖&#xff09; <dependencies><!…

《雷达像智能识别对抗研究进展》阅读记录

&#xff08;1&#xff09;引言 ​ 神经网络通常存在鲁棒性缺陷&#xff0c;易受到对抗攻击的威胁。攻击者可以隐蔽的诱导雷达智能目标识别做出错误预测&#xff0c;如&#xff1a; ​ a图是自行车&#xff0c;加上对抗扰动后神经网络就会将其识别为挖掘机。 &#xff08;2&a…

Linux 文件编辑命令

一、三种模式介绍 命令模式 插入模式(编辑模式) 末行模式 二、模式切换 1.命令模式切换到插入模式 &#xff08;1&#xff09; a //进入到当前光标后开始编辑 &#xff08;2&#xff09; A //进入到当前光标所在行的行末开始编辑 &#xff08;3&#xff09;i //进入当前光…

【Java】一只小菜坤的编程题之旅【3】

文章目录 1丶判定是否互为字符重排2、杨辉三角3丶某公司的1个面试题&#xff08;字符串包含问题&#xff09; 1丶判定是否互为字符重排 这个题我们用一个非常简单的思想就能实现&#xff0c;我们先将字符串转换为字符数组&#xff0c;然后对字符数组进行排序&#xff0c;然后再…

数据结构:栈的实现(C实现)

个人主页 &#xff1a; 个人主页 个人专栏 &#xff1a; 《数据结构》 《C语言》 文章目录 前言一、栈的实现思路1. 结构的定义2. 初始化栈(StackInit)3. 入栈(StackPush)4. 出栈(StackPop)5. 获取栈顶元素(StackTop)6. 检查栈是否为空(StackEmpty)7. 销毁栈(StackDestroy) 二、…

VUE3组件

组件基础 {#components-basics} 组件允许我们将 UI 划分为独立的、可重用的部分&#xff0c;并且可以对每个部分进行单独的思考。在实际应用中&#xff0c;组件常常被组织成层层嵌套的树状结构&#xff1a; 这和我们嵌套 HTML 元素的方式类似&#xff0c;Vue 实现了自己的组件…

webpack 热更新的实现原理

webpack 的热更新⼜称热替换&#xff08;Hot Module Replacement&#xff09;&#xff0c;缩写为HMR。这个机制可以做到不⽤刷新浏览器⽽将新变更的模块替换掉旧的模块。 原理&#xff1a; ⾸先要知道 server 端和 client 端都做了处理⼯作&#xff1a; 在 webpack 的 watch…

BANI时代下的项目管理:如何迎接挑战与机遇

BANI时代的介绍与特点 BANI时代的起源 BANI这个概念首次被提出是为了描述和理解我们所处的复杂、多变、不确定的时代。与VUCA&#xff08;Volatile, Uncertain, Complex, Ambiguous&#xff09;相比&#xff0c;BANI更加准确地捕捉了我们面临的现实挑战。VUCA重点关注外部环境…

学习篇之React Fiber概念及原理

什么是React Fibber&#xff1f; React Fiber 是 React 框架的一种底层架构&#xff0c;为了改进 React 的渲染引擎&#xff0c;使其更加高效、灵活和可扩展。 传统上&#xff0c;React 使用一种称为堆栈调和递归算法来处理虚拟 DOM 的更新&#xff0c;这种方法在大型应用或者…

macOS使用ffmpeg与QT进行音视频推拉流

1.先启动流服务器 ./mediamtx 2.开始推流: ffmpeg -re -stream_loop -1 -i /Users/hackerx/Desktop/test.mp4 -c copy -rtsp_transport tcp -f rtsp rtsp://127.0.0.1:8554/stream 3. 安装ffmpeg 4.4 brew install ffmpeg4 4.添加ffmpeg头文件目录与库目录 5.链接ffmpeg相关库…

使用QT纯代码创建(查找)对话框详细步骤与代码

一、创建项目文件 打开Qt Creator->文件->新建文件或项目->选择Qt Widgets Application 为项目起名字 输入类的名字 二、 了解每个文件的作用 项目创建完毕之后就会出现以下几个文件&#xff0c;先来分别介绍以下这些文件的作用。 Headers->finddialog.h——很显…

如何通过CSS选择器选择一个元素的子元素?如何选择第一个子元素和最后一个子元素?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 选择一个元素的子元素⭐ 选择第一个子元素和最后一个子元素⭐ 注意事项⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&…