QYHuiiQ
谁动了我的代码
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Splunk中解决数据质量问题常见日期格式化
在splunk索引数据时,会对数据进行一些自动的解析和提取,比如帮我们提取原始log里的日期,也会对某些格式的数据进行合并,将多行的数据合并为一条记录存储在splunk中,而这些自动提取的过程有时并不符合我们真实的业务逻辑,所以需要我们自己去配置;或者对于有些格式的数据,splunk自己也无法判断如何处理时可能就会出现各种解析错误。......原创 2022-08-09 20:15:00 · 838 阅读 · 0 评论 -
Splunk查询csv lookup table数据动态查询
在实际应用中,我们可能会遇到有些数据信息需要动态管理,并在spl中根据这些信息动态执行查询。也就是说我们以往我们可能会把查询条件直接放在| search后面执行,先在我们想把这个条件定义在lookup中,然后将lookup中的这个条件追加在| search后面。当然,这个实现你可以用在| search后面,也可网易用在各种splunk的命令行后面,只不过这里为了方便理清功能,就以| search为例。以下面的案例为例:在学校举行的各次考试中,可能有些时候考试难度较大,有些时候难度较小,那么我们在判定学生每次原创 2022-07-06 17:07:22 · 900 阅读 · 0 评论 -
Splunk子查询模糊匹配csv中字段值为*
之前我们的案例中常用的是直接在spl中用*来模糊匹配,但是如果在一个csv中定义某个字段的值为*,然后在spl里对该csv进行查询时,这个*值是否还表示模糊匹配?针对这个疑问,做了如下测试:查看csv:这条数据中的学生名字是以开头的,如果csv中的T*可以表示模糊匹配的话,那么我们的执行结果应该是可以查询出来这条数据,如果csv中的T*表示字符串"T*",那么就查不出来结果。执行结果:Case1:Case2: 说明csv中的T*表示模糊匹配。Case3:Case4:通过上面的测试可以得出,csv原创 2022-07-06 15:34:49 · 1105 阅读 · 0 评论 -
Splunk中single value视图使用将数值替换为文字
在splunk的single value视图中,之前我们一直使用的是直接根据值来展示颜色,也就是single value中用的是什么值,那么颜色的设置就是根据这个值来显示的,换言之,这个展示的值必须是设置颜色规则的值。而有些情况下我们可能只想展示一个指标的名称,然后根据这个指标的值设置颜色,也就是说将原来展示值改为展示指标名称,不展示具体的值,但是依然以这个值来设置颜色。对于这种案例,我们的实现思路就是还是按照值来展示,最后再将这个值替换为指标名称(文本)。假设原来的情况是这样的,当grade值大于60时显原创 2022-07-06 14:48:31 · 418 阅读 · 0 评论 -
Splunk spl中appendpipe将已操作的数据进行子操作
有时候我们可能会希望将通过spl已经得到数据进行复制,并将新复制的数据加上一个字段来对这两份数据进行不同的业务处理,这时我们可以使用appendpipe命令,该命令就是将前面已执行得到的数据进行appendpipe后面的操作。由于具体业务中的使用场景不太一样,这里只是实现一下appendpipe的功能:| makeresults| eval _raw="Name, Age, AddressTom, 12, ShanghaiLily, 8, HangzhouBob, 16, Beijing"原创 2022-04-02 18:55:13 · 665 阅读 · 0 评论 -
Splunk从表格形式的数据中自动抽取字段值
如下示例,给定的原始数据中是一个表格形式的raw event,要想让splunk自动识别并提取出表头及对应的值,可以使用multikv的命令,并使用参数forceheader来指定这个表格形式中第几行为表头,这个值是从1开始的:| makeresults| eval _raw="Name, Age, AddressTom, 12, ShanghaiLily, 8, HangzhouBob, 16, Beijing"| multikv forceheader=1执行结果:mult.原创 2022-04-02 18:40:07 · 633 阅读 · 0 评论 -
Splunk中判断某字段包含某个字符串
在实际业务中有时我们会用到对某个字符串或字段是否包含某个特定的关键字或字符串来进行不同的逻辑处理,在Splunk中我们使用like函数实现这一判断:| eval row_log="03/29/2022 14:34:25 INFO The host finished uploading file."| eval state=if((like(row_log, "%finished%") AND like(row_log, "%INFO%")), "Completed", "Failed")#这里使原创 2022-04-02 18:25:38 · 1722 阅读 · 0 评论 -
Splunk search命令
在splunk的| search命令中我们可能想要对base search中的数据和子查询中的数据进行一个筛选,比如说将base search中某个字段与子查询中某个字段进行对比筛选,一下面的测试为例:| base search......| search [| inputlookup test.csv | fields name,age]#该例表明对base search数据中的name和age字段与inputlookup中的name和age进行对比,筛选出base sea原创 2022-03-06 21:07:01 · 2518 阅读 · 0 评论 -
Splunk中对于字符串中的变量值替换为实际的字段值
在Splunk中有些情况下有些字段可能时一长串字符串,但这些字符串中包含了一些我们想要替换为实际值的变量名,否则你直接在字符串中使用变量名,它会把变量名当作字符串来处理。以下面的测试为例:| makeresults| eval name="Bob",age="13"```student_info字段中包含了$student.name$和$student.age$,两个要替换实际值的字段,并且它们都含有一定的提取特征,这里的例子就是以$student开头,在不同的case中你可以根据自己的业务数原创 2022-03-06 20:50:51 · 770 阅读 · 0 评论 -
Splunk中fillnull命令的注意事项
有些情境下我们想对一些原始数据中存在空值的字段进行统一填充,赋予新值,就可以使用fillnull命令。该命令后面可以指定字段列表或者不指定字段列表,如果你给出了指定的列,那么会将你给出的这些列的值在空的情况下进行赋值,对于没有指定的列,如果遇到了空值的情况,它是不会处理的;如果是你在fillnull命令后面没有加上字段列表,那么默认会将所有的字段中的空值进行处理。https://docs.splunk.com/Documentation/Splunk/8.2.5/SearchReferenc原创 2022-03-06 20:20:55 · 468 阅读 · 0 评论 -
Splunk中对字段值内部进行换行
在splunk中,有时某个字段的值可能是一长串多个具有key-value含义的拼接,但是我们想将这一长串的拼接在值的内部已换行的形式展示出来,比如在alert email body中直接使用该值时,就会以换行的形式展示,便于阅读。下面是两种方法,一种是mode=sed的方式,一种是以replace直接替代为换行的方式。#case1,假设长串中以分号来连接key-value| makeresults| eval name="aaa",age="bbb",address="ccc"| eval原创 2022-02-28 22:37:33 · 1016 阅读 · 0 评论 -
Splunk中12小时制AM/PM的日期转换
在Splunk中对带有AM/PM的12小时制的日期格式转换成unix time时按照如下格式:| basesearch....| eval test_time="23/02/2022 04:30:00:000 PM"| eval test_time_epoch=strptime(test_time, "%d/%m/%Y %I:%M:%S:%3N %p")#这里要注意的是在12小时制中,小时是用I表示,24小时制中用H表示,如果在12小时制中写成了H,那么如果原始日期是PM的,转换的时候会转换原创 2022-02-23 20:16:03 · 750 阅读 · 0 评论 -
Splunk join 字段值区分大小写
在splunk中我们使用| search命令查询某个值的时候字段值是不区分大小写的,不管你指定的查询值是大写还是小写,它都会忽略大小写,但是字段名是区分大小写的。但有时我们会需要用到join命令对两个子查询中的某个字段进行连接得到更多的信息,但是可能左右两边的查询中要连接的字段值会不规范,比如存在大小写混写的情况,这时就要注意,splunk中的join命令在对值进行连接时,是区分大小写的,也就是说在这种情况下要对两边的该字段统一进行upper()或者lower(),使值完全一致,才能实现join的结果。原创 2022-02-22 18:45:23 · 848 阅读 · 0 评论 -
Splunk中where与search命令中条件连接AND与and
在splunk中我们对数据进行筛选或者过滤判断时,有时会使用多个条件进行筛选,就需要用到and来连接,但是这里要注意的是,| where命令后面可以用and来连接,但是| search命令后面必须用大写AND来连接。......原创 2022-02-19 15:15:20 · 1540 阅读 · 0 评论 -
Splunk中判断某字段值是否为空
在Splunk中有时会需要用到对字段值进行判断是否有值,这里指的是有值或者空白无值,不是指的字符串null的判断。isnull(fieldName) #返回true则表示该字段值是空白,无值,反之表示有值isnotnull(fieldName) #返回true则表示该字段值有值,非空白,反之表示没有值该布尔值的判断可以用在if等boolean类型的引用中或| where命令后面,但不可用在| search命令之后,否则不能识别该function。......原创 2022-02-19 14:15:50 · 1085 阅读 · 0 评论 -
splunk收集collectd metric数据
Splunk官方文档:https://docs.splunk.com/Documentation/Splunk/8.2.4/Metrics/GetMetricsInCollectd原创 2022-01-05 21:19:48 · 568 阅读 · 0 评论 -
Splunk中根据表格值设置颜色
在splunk中有时我们会以表格的形式对数据进行展示,但可能需要对某些字段的值根据不同的值设置不同的颜色:#case 1 使用map根据具体的字段值设置颜色,例如以Level字段为例...<format type="color" field="Level"> <colorPalette type="map">{"INFO":#32CD32,"WARN":#FFFF00,"ERROR":#FF0000}</colorPalette></format原创 2021-12-29 22:27:29 · 608 阅读 · 1 评论 -
Splunk中饼图颜色的设置
splunk中使用饼图时,如果想对聚合后的饼图中各部分内容设置不同的颜色,可以使用如下配置:<query>...| stats count by status</query><option name="charting.fieldColors">{"value1":$value1_color$,"value2":$value2_color$,"value3":$value3_color$}</option>#value1/value2/v原创 2021-12-29 21:55:02 · 343 阅读 · 0 评论 -
Splunk sort排序默认返回10000条数据
Splunk中使用sort命令对数据进行排序时,默认只会返回10000条数据,如果想要返回全部数据,需要在sort命令后面加上0即可:| sort 0 fieldname原创 2021-12-29 21:40:16 · 727 阅读 · 0 评论 -
Splunk alert中引用带有空格的字段名
在alert email中有时我们会通过$result.field$来引用spl中得到的某个字段值,当字段名是包含空格时,同样也是正常使用的,不需要额外添加引号或者其他符号去强调空格的存在:eg:Subject:The error is: $result.test field$#test field为带有空格的字段名......原创 2021-12-29 20:56:27 · 465 阅读 · 0 评论 -
Splunk alert邮件附件pdf禁用chart图
在splunk alert email的配置中,可以勾选"Attach CSV"将spl的结果以pdf的形式附在邮件中,但是默认情况下它还会添加一个chart图,比如说我们的spl是以table的形式取展示的,它自动添加一个chart图就显得不太合适,我们可以在alert列表中,选择edit里面的advanced edit,将display.visualizations.show的值设置为0即可。Solved: How do I remove the chart on the top of the PD原创 2021-12-29 20:50:29 · 402 阅读 · 0 评论 -
Splunk中event多值字段取特定下标的值
Splunk event中有的字段可能是有多个值,在该字段中呈多行展示,如果我们想要取特定下标的值,可以使用mvindex函数:index="xxx"| eval total_count=mvindex(count_value, 1)| table total_count#count_value为event 中含有多值的字段,下标从0开始,这里取1表示取count_value中的第二个值......原创 2021-12-29 20:42:25 · 983 阅读 · 0 评论 -
Splunk正则匹配提取字段
Splunk中提取字段可以在extract field中提取,但是有时extract太多,就会提示让我们去写正则来提取,也可以直接在spl中匹配字段。以下图中的event log为例,提取FIELD_A,FIELD_B,FIELD_C三个字段:index="xxx" source="yyy" ...| rex max_match=0 ".*\s*FIELD_A=\"(?<FIELD_A_NAME>[^\,]*)\".*\s*"| rex max_match=0 ".*\s*FI原创 2021-12-29 20:07:57 · 1622 阅读 · 0 评论 -
使用splunk for kafka connect实现连通,但是数据却没有进入splunk
在实现splunk与kafka数据通路时,需要的配置都配了,在kafka自身的consumer中可以读取到producer发送的数据,但是数据却一直没有进到splunk。思路:由于在kafka的consumer中可以读到数据,但是在splunk里读不到,就说明问题很可能出在connect这一环节,所以查看kafka的connect.log(kafka_2.12-2.8.1/logs/):从上面的报错信息可以看出是序列化错误,想到之前在connect-distributed.properti.原创 2021-12-07 21:29:28 · 514 阅读 · 0 评论 -
使用splunk for kafka connector实现splunk与kafka数据通路
在前一篇博客(使用DB Connect实现oracle与splunk数据通路_QYHuiiQ-CSDN博客)中已经安装过splunk enterprise了,这里直接安装kafka。官网下载kafkahttps://kafka.apache.org/downloadsgithub上下载splunk for kafka connector的jarhttps://github.com/splunk/kafka-connect-splunk在latest页面中下载jar启动sp原创 2021-12-07 20:52:43 · 945 阅读 · 0 评论 -
splunk alert email中引用查询结果中的字段
在splunk alert email中有一个配置是可以将查询结果的字段嵌入一个表格的:也就是在spl中最后的table命令后面指定了哪些字段,在email引用的表格中就会把这些字段全部显示出来。但是有些情况下我们只想让表格中展示某几个字段,然后还有一些字段想用在subject中或者是语言描述中。为了实现这个需求,可以将不展示在表格中的字段重命名为已下划线"_"开头的字段名,这样就可以既不展示在表格里又可以在邮件中的其他地方引用该字段:index="splunk_oracle_index".原创 2021-12-05 20:29:26 · 652 阅读 · 0 评论 -
使用DB Connect实现oracle与splunk数据通路
DBX可以装在HF上,也可以装在SH上,这里以HF为例安装DBX.https://docs.splunk.com/Documentation/Splunk/8.2.3/Forwarding/Typesofforwarders原创 2021-12-05 19:46:39 · 916 阅读 · 0 评论 -
DBX Server is not avaliable,please make sure it is started and listening on port...
在安装了Splunk DB Connect app之后,进入DBX界面时,头部可能会出现如下报错:DBX Server is not avaliable,please make sure it is started and listening on port...这种情况,可以修改一下port,也可能是java home没有读取到,所以重启一下splunk即可。......原创 2021-11-30 21:47:24 · 566 阅读 · 0 评论 -
Splunk alert email subject中引用查询结果中的多条数据的字段值
在splunk alert email subject中,我们有的时候会希望将查询结果中的某个字段值放在subject中引用,一般情况下我们使用result.fieldname即可,但是这种做法只可适用于单条数据,因为result的用法是只针对查询结果中的第一条数据有效:所以要想使多条数据中的某个字段值都引用到subject中,我们可以尝试使用eventstats然后使用nomv命令将多个值合并在一起,也许还有更好的获取值的方式,但是目前只找到了这一种可用方法:假设原来的数据是这样的:我们.原创 2021-10-28 15:16:47 · 553 阅读 · 0 评论 -
Splunk chart图中定义线条颜色
在chart图中,通常我们会做出一个chart by的结果分别展示多个曲线图,但是默认情况下这个线条的颜色是随机的,有时候线条颜色可能还是相近的,不好区分,我们可以添加如下配置定义线条颜色:<chart> <option>.......</option> ...... <option name="charting.seriesColors">[0xd24dff,0xffff33]</option> //有几条曲原创 2021-10-21 16:05:42 · 477 阅读 · 1 评论 -
Splunk中将一条多行记录拆成多条记录
在splunk中,有些数据可能是一条记录,但是这条记录存在换行,所以我们想把每一行都拆分成单独的一条数据,使用如下正则:index="xxx" source="yyy"| rex max_match=0 "^(?<lines>.+)\n*"| mvexpand lines| table lines......原创 2021-09-15 22:12:55 · 922 阅读 · 0 评论 -
Splunk中使用正则匹配复杂数据格式提取字段
在splunk中有的时候原始数据是没有字段的,但是每条数据中的某些值是有规律的,可以统一提取出来的,对于这种数据的提取,可以使用正则的方式:| makeresults| eval _raw="aaa-bbb,Hello World!,I am a student(my hometown/Fujian Province),1234"| rex field=_raw "(?<field1>[\w+-]*),(?<field2>[!\w+\s+]*),(?<field3&g原创 2021-09-15 22:01:19 · 1431 阅读 · 0 评论 -
Splunk csv自动提取字段
在使用splunk时,有时候我们想将csv格式的文件数据读入splunk,并且想要使其自动提取表头作为字段名,方便在splunk中使用spl对数据进行一些展示。经过一系列的测试与摸索,记录下目前的发现:使用Splunk Enterprise对文件进行monitor,如果文件名以csv结尾,在add data时splunk会自动识别为csv格式,并将其sourcetype设置为csv,这样,表头会被自动提取为字段,当所提取的字段名与splunnk内置的一些field重名时,被提取的字段会加上extra原创 2021-09-15 20:56:13 · 502 阅读 · 0 评论 -
Splunk ITSI中glass table设置global time token
在splunk中如果使用的是较低版本的ITSI,创建glass table时左上角默认会有一个time range是需要我们去指定token的,否则,在glass table中使用一些spl时会报错提示waiting for input。假设我们将time配置成如下:需要在glass table的source中做如下修改:......原创 2021-09-15 20:23:58 · 195 阅读 · 0 评论 -
使用python实现splunk 读取csv文件数据并存储到collection中
from configparser import ConfigParserimport splunklib.client as splunkClientimport requestsimport jsonimport sysimport urllib3import csvutllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)#load splunk configdef loadConfig(file.原创 2021-08-08 15:46:44 · 736 阅读 · 0 评论 -
Splunk KV Store
Rest API:https://dev.splunk.com/enterprise/docs/developapps/manageknowledge/kvstore/usetherestapitomanagekv/原创 2021-08-08 13:40:24 · 769 阅读 · 0 评论 -
Splunk dashboard中鼠标移到某个区域显示提示信息
...<fieldset></fieldset><row> <panel> <html> <style> .my-tooltip{ display: inline; position: absolute; } .原创 2021-06-20 22:51:12 · 279 阅读 · 0 评论 -
Splunk dashboard中头部加上一个超链接跳转到另一个dashboard
在实际应用中,有时候我们希望在一个主体的dashbaord中添加一个链接去引入它的一个相关的dashboard,如何添加这个链接:...<fieldset>...</fieldset><row> <panel> <html> <div class="my-link"> <a href="http...." target="_blank"&原创 2021-06-20 22:29:52 · 523 阅读 · 0 评论 -
Splunk中使用mvexpand mvzip将同一行的多值数据拆分成多条数据
参考:https://community.splunk.com/t5/Splunk-Search/mvexpand-multiple-multi-value-fields/m-p/21970原创 2021-06-20 21:17:08 · 1773 阅读 · 0 评论 -
Splunk chart中如何设置interval
我们在splunk dashboard中做一些chart图的时候可能需要设置一下横坐标中的时间间隔,但是splunk中只有timechart命令提供了span参数来设置时间间隔,如果我们的业务需要智能s原创 2021-06-20 20:13:03 · 664 阅读 · 0 评论