All Posts

Find Answers
Ask questions. Get answers. Find technical product solutions from passionate members of the Splunk community.

All Posts

Hi there, i have a small lab at home on which I am running splunk enterprise 9.0.0 build 6818ac46f2ec and a developer license. The Licensing » Installed licenses page shows 3 valid licenses with the ... See more...
Hi there, i have a small lab at home on which I am running splunk enterprise 9.0.0 build 6818ac46f2ec and a developer license. The Licensing » Installed licenses page shows 3 valid licenses with the following information: . Splunk Enterprise Term Non-Production License creation_time 2024-08-11 07:00:00+00:00 expiration_time 2025-02-11 07:59:59+00:00 features Acceleration AdvancedSearchCommands AdvancedXML Alerting ArchiveToHdfs Auth ConditionalLicensingEnforcement CustomRoles DeployClient DeployServer FwdData GuestPass KVStore LocalSearch MultifactorAuth NontableLookups RcvData RollingWindowAlerts SAMLAuth ScheduledAlerts ScheduledReports ScheduledSearch ScriptedAuth SigningProcessor SplunkWeb SubgroupId SyslogOutputProcessor     is_unlimited False label Splunk Enterprise Term Non-Production License max_violations 5 notes None payload None quota_bytes 53687091200.0 sourcetypes   stack_name enterprise status VALID type enterprise window_period 30   Splunk Forwarder creation_time 2010-06-20 07:00:00+00:00 expiration_time 2038-01-19 03:14:07+00:00 features Auth DeployClient FwdData RcvData SigningProcessor SplunkWeb SyslogOutputProcessor hash FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD is_unlimited False label Splunk Forwarder max_violations 5 notes None payload None quota_bytes 1048576.0 sourcetypes   stack_name forwarder status VALID type forwarder window_period 30   Splunk Free creation_time 2010-06-20 07:00:00+00:00 expiration_time 2038-01-19 03:14:07+00:00 features FwdData KVStore LocalSearch RcvData ScheduledSearch SigningProcessor SplunkWeb hash FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF is_unlimited False label Splunk Free max_violations 3 notes None payload None quota_bytes 524288000.0 sourcetypes   stack_name free status VALID type free window_period 30   I would like to experiment with Splunk Stream for capturing DNS records before implementing in our production environment. I have installed Splunk Stream 8.1.3 and most of the menu's within the app work, however when I go to Configuration > Distributed Forwarder Management it just displays a blank page. When i look at the splunk_app_stream.log I can see the following error   2024-08-15 14:51:58,543 ERROR rest_indexers:62 - failed to get indexers peer Traceback (most recent call last): File "/opt/splunk/etc/apps/splunk_app_stream/bin/rest_indexers.py", line 55, in handle_GET timeout=splunk.rest.SPLUNKD_CONNECTION_TIMEOUT File "/opt/splunk/lib/python3.7/site-packages/splunk/rest/__init__.py", line 612, in simpleRequest raise splunk.LicenseRestriction splunk.LicenseRestriction: [HTTP 402] Current license does not allow the requested action 2024-08-15 14:51:58,580 ERROR indexer:52 - failed to list indexers Traceback (most recent call last): File "/opt/splunk/etc/apps/splunk_app_stream/bin/splunk_app_stream/models/indexer.py", line 43, in get_indexers timeout=splunk.rest.SPLUNKD_CONNECTION_TIMEOUT File "/opt/splunk/lib/python3.7/site-packages/splunk/rest/__init__.py", line 669, in simpleRequest raise splunk.InternalServerError(None, serverResponse.messages) splunk.InternalServerError: [HTTP 500] Splunkd internal error; [] Does this mean that the splunk dev license does not support Splunk Stream app?
"Every device on the network" doesn't have to necessarily be identically configured. That's from experience. Also - we don't know your data, we don't know how your data is onboarded. Check your eve... See more...
"Every device on the network" doesn't have to necessarily be identically configured. That's from experience. Also - we don't know your data, we don't know how your data is onboarded. Check your events as they come with something like index=whatever_index_you're_using host=your_router | head 10 And run this over "all time (real-time)" - that's practically the only use case I've ever seen where real-time search is actually useful. See the timestamp in the event itself, see the timestamp Splunk uses (either parsed out of the event or not recognized and assumed to be something). That's to check if your data is OK. BTW, if all your routers' logs are getting indexed in the same index there is no way (unless you have a very botched distributed indexing setup which I assume you haven't) that data from the same index for those hosts is rolled and for other hosts is retained.
You haven't asked a question. I assume your base tstats search does work (I don't have data to test it). Anyway, your base search (the tstats alone) will give you possibly multivalued fields for whi... See more...
You haven't asked a question. I assume your base tstats search does work (I don't have data to test it). Anyway, your base search (the tstats alone) will give you possibly multivalued fields for which there is no relation between atomic values (this might be what you want but it often isn't). It will also give you data splt by fields you're not including in your table command. And you will probably get a lot of data as a result - almost as if you were searching raw data. It's not how you use base search - you'll probably get way too many base results to work with.
Hello, I'm not getting  the login to splunk cloud portal page after signing up for the free trial.  Can anyone help with this issue please?  Thank you
I had to remove these 2 lines from the very top because they emptied the _time column: | eval _time=strptime(date,"%m/%d/%Y") | fields - date But after that it works like a charm.  Thanks so much
Don't take it wrong but please leave this to someone who has the skills and experience. It's not something that cannot be done but you haven't even tried to test it in a lab environment but you're t... See more...
Don't take it wrong but please leave this to someone who has the skills and experience. It's not something that cannot be done but you haven't even tried to test it in a lab environment but you're trying to change your production env based on bits and pieces of advice you're getting on an internet forum. I suppose your already indexed data and work already done on your infrastructure is worth more than the bucks you're trying to save by either using external help (there are friendly Splunk Partners in every region) or at least investing in your own abilities by taking a course or two, digging through te docs, building and breaking a few lab environments. While this is not something that's difficult for a seasoned Splunk admin, there are several things that can go wrong and you wouldn't want to lose your data because of misconfiguring your indexes or something like that. And don't do multiple changes at the same time. Separating a search-head from existing AIO setup is one thing. Clustering indexers is another. Don't do too many things in one step.
I may be wrong (please contradict me if I am), but, I think this may still be one of the (many?) deficiencies of Studio when compared to SimpleXML - let's hope this and the other deficiencies are res... See more...
I may be wrong (please contradict me if I am), but, I think this may still be one of the (many?) deficiencies of Studio when compared to SimpleXML - let's hope this and the other deficiencies are resolved before Simple XML support is withdrawn!
See this presentation https://conf.splunk.com/files/2017/slides/splunk-data-life-cycle-determining-when-and-where-to-roll-data.pdf It will tell you what you're dealing with.
Regardless of what M-21-31 is, there is a very important issue with your "config". The only time-based retention you can apply here is cold (assuming we're talking on-prem and we're not talking smar... See more...
Regardless of what M-21-31 is, there is a very important issue with your "config". The only time-based retention you can apply here is cold (assuming we're talking on-prem and we're not talking smartstore - that's territory I don't feel very comfortable with). Warm and hot are limited using different criteria. You can try to estimate their limits but that's only gonna be that - a rough estimate. Also - that will be the _limit_ and will tell you when data will _surely_ get rolled out to next tier and eventually to frozen whereas you most probably want it the other way - the limits under which the data will surely _not_ get rolled.
I have a dropdown where I select the event name and that event name value is passed as a token to the variable search. This variable search is a multiselect. One issue that I've noticed is that the m... See more...
I have a dropdown where I select the event name and that event name value is passed as a token to the variable search. This variable search is a multiselect. One issue that I've noticed is that the multiselect values stay populated when a different event is selected. The search for variable will update the dropdown, though. Is there a way to reset the selected variables when a different event is selected? I have seen the simple xml versions for this but haven't seen any information on how to do this in dashboard stuido. Any help is greatly appreciated. { "visualizations": { "viz_Visualization": { "type": "splunk.line", "dataSources": { "primary": "ds_mainSearch" }, "options": { "overlayFields": [], "y": "> primary | frameBySeriesNames($dd2|s$)", "y2": "> primary | frameBySeriesNames('')", "lineWidth": 3, "showLineSmoothing": true, "xAxisMaxLabelParts": 2, "showRoundedY2AxisLabels": false, "x": "> primary | seriesByName('_time')" }, "title": "Visualization", "containerOptions": { "visibility": {} }, "eventHandlers": [ { "type": "drilldown.linkToSearch", "options": { "type": "auto", "newTab": false } } ] } }, "dataSources": { "ds_dd1": { "type": "ds.search", "options": { "query": "index=index source=source sourcetype=sourcetype |dedup EventName \n| sort str(EventName)" }, "name": "dd1Search" }, "ds_mainSearch": { "type": "ds.search", "options": { "query": "index=index source=source sourcetype=sourcetype EventName IN (\"$dd1$\") VariableName IN ($dd2|s$) \n| timechart span=5m max(Value) by VariableName", "enableSmartSources": true }, "name": "mainSearch" }, "ds_dd2": { "type": "ds.search", "options": { "enableSmartSources": true, "query": "index=index source=source sourcetype=sourcetype EventName = \"$dd1$\" |dedup VariableName \n| sort str(VariableName)" }, "name": "dd2Search" } }, "defaults": { "dataSources": { "ds.search": { "options": { "queryParameters": { "latest": "$global_time.latest$", "earliest": "$global_time.earliest$" } } } } }, "inputs": { "input_global_trp": { "type": "input.timerange", "options": { "token": "global_time", "defaultValue": "-24h@h,now" }, "title": "Global Time Range" }, "input_dd1": { "options": { "items": ">frame(label, value) | prepend(formattedStatics) | objects()", "token": "dd1" }, "encoding": { "label": "primary[0]", "value": "primary[0]" }, "dataSources": { "primary": "ds_dd1" }, "title": "Event Name", "type": "input.dropdown", "context": { "formattedConfig": { "number": { "prefix": "" } }, "formattedStatics": ">statics | formatByType(formattedConfig)", "statics": [], "label": ">primary | seriesByName(\"EventName\") | renameSeries(\"label\") | formatByType(formattedConfig)", "value": ">primary | seriesByName(\"EventName\") | renameSeries(\"value\") | formatByType(formattedConfig)" } }, "input_dd2": { "options": { "items": ">frame(label, value) | prepend(formattedStatics) | objects()", "token": "dd2" }, "encoding": { "label": "primary[0]", "value": "primary[0]" }, "dataSources": { "primary": "ds_dd2" }, "title": "Variable(s)", "type": "input.multiselect", "context": { "formattedConfig": { "number": { "prefix": "" } }, "formattedStatics": ">statics | formatByType(formattedConfig)", "statics": [], "label": ">primary | seriesByName(\"VariableName\") | renameSeries(\"label\") | formatByType(formattedConfig)", "value": ">primary | seriesByName(\"VariableName\") | renameSeries(\"value\") | formatByType(formattedConfig)" } } }, "layout": { "type": "grid", "options": { "width": 1440, "height": 960 }, "structure": [ { "item": "viz_Visualization", "type": "block", "position": { "x": 0, "y": 0, "w": 1440, "h": 653 } } ], "globalInputs": [ "input_global_trp", "input_dd1", "input_dd2" ] }, "description": "", "title": "Test" }  
| makeresults format=csv data="date,OTHER,arc,dev,test,prod 7/16/2024,5.76,0.017,2.333,2.235,19.114 7/17/2024,5.999,0.018,2.595,2.26,18.355 7/18/2024,6.019,0.018,2.559,1.962,16.879 7/19/2024,5.650,01... See more...
| makeresults format=csv data="date,OTHER,arc,dev,test,prod 7/16/2024,5.76,0.017,2.333,2.235,19.114 7/17/2024,5.999,0.018,2.595,2.26,18.355 7/18/2024,6.019,0.018,2.559,1.962,16.879 7/19/2024,5.650,018,2.177,1.566,14.573 7/20/2024,4.849,0.013,2.389,1.609,12.348 7/21/2024,4.619,0.013,2.19,1.618,12.296 7/22/2024,5.716,0.019,2.425,1.626,14.286 7/23/2024,5.716,0.019,2.425,1.626,14.286" | eval _time=strptime(date,"%m/%d/%Y") | fields - date ``` the lines above simulate the data from your loadjob (with 22nd duplicated to 23rd to give 2 Tuesdays) ``` ``` there is no need for the transpose as the untable will work with the _time and index fields in the other order ``` | untable _time index size | eval date=strftime(_time,"%F") | eval day=strftime(_time, "%a") | where day="Tue" | fields - day _time | sort 0 index date | streamstats last(size) as previous window=1 global=f current=f by index | eval relative_size = 100 * size / previous | fields - previous | appendpipe [| eval date=date." change" | xyseries index date relative_size] | appendpipe [| xyseries index date size] | fields - date size relative_size | stats values(*) as * by index
Mr. Galloway Thank you for your reply and input  The retention requirements are  Data / Log Retention:  Hot / Warm  for 30 Months  which I broke out              Hot: 6 months            Warm:... See more...
Mr. Galloway Thank you for your reply and input  The retention requirements are  Data / Log Retention:  Hot / Warm  for 30 Months  which I broke out              Hot: 6 months            Warm: 24 months      But I understand that 6 months is to long per you reply and will adjust to 1 or 2 days    Cold:  18 months   Archive or Frozen: 18 months  with data ceiling and data deletion Revised indexes.conf maxHotSpanSecs =  86400 or 172800 (1 or 2 day of hot bucket data)  maxHotIdleSecs = 86400 or 172800 maxWarmDBCount = The maximum number of warm buckets. How does one set the warm bucket for SIZE - would prefer to use SIZE and NOT # of Buckets  coldPath.maxDataSizeMB = 47335428  frozenTimePeriodInSecs = 47335428 coldToFrozenDir = "$SPLUNK_HOME/myfrozenarchive     
Amazing, worked exactly as you explained it will.
Looks like init blocks happen too early, so try adding a hidden row/panel like this <row depends="$alwaysHidden$"> <panel> <table> <search> <query>| makeresults | eval ... See more...
Looks like init blocks happen too early, so try adding a hidden row/panel like this <row depends="$alwaysHidden$"> <panel> <table> <search> <query>| makeresults | eval sid1="$SID1$", sid2="$SID2$"</query> <done> <set token="selected_shift">$result.sid1$</set> </done> </search> </table> </panel> </row> You will notice that you still get waiting for input initially but after a short time the panel will display with the initial search results. If you want to get really fancy, you could change the search in the hidden panel to take the current time into account and set the default / initial dataset accordingly.
  OTHER arc dev test prod 7/16/2024 5.76 0.017 2.333 2.235 19.114 7/17/2024 5.999 0.018 2.595 2.26 18.355 7/18/2024 6.019 0.018 2.559 1.962 16.879 7/19/20... See more...
  OTHER arc dev test prod 7/16/2024 5.76 0.017 2.333 2.235 19.114 7/17/2024 5.999 0.018 2.595 2.26 18.355 7/18/2024 6.019 0.018 2.559 1.962 16.879 7/19/2024 5.65 0.018 2.177 1.566 14.573 7/20/2024 4.849 0.013 2.389 1.609 12.348 7/21/2024 4.619 0.013 2.19 1.618 12.296 7/22/2024 5.716 0.019 2.425 1.626 14.286
That didn't format well.  I'll post the data in a separate reply from my comments. I was able to play around with what you sent and this gives me rows with the size and the change in size, which i... See more...
That didn't format well.  I'll post the data in a separate reply from my comments. I was able to play around with what you sent and this gives me rows with the size and the change in size, which is the data I want, but I can't seem to get it back to the table format I need.  if I add "| stats values(*) as * by index" then I end up with a format that is multivalue and I haven't been able to get that untangled either.  I am OK at this stuff, but am definitely not a pro level user. | loadjob "" | eval date=(strftime(_time,"%Y-%m-%d")) | fields - _time | transpose header_field=date | rename column AS index | sort index | untable index date size | sort 0 index date | streamstats last(size) as previous window=1 global=f current=f by index | eval relative_size = 100 * size / previous | fields - previous | appendpipe [| eval date=strftime(date, "%F")." change" | xyseries index date relative_size] | appendpipe [| eval date=strftime(date, "%F") | xyseries index date size]
Thanks for your help, I really appreciate it. Here's the output from the report job: OTHER arc dev test prod 2024-07-16 5.760 0.017 2.333 2.235 19.114 2024-07-17 5.999 0.018 2.595 2... See more...
Thanks for your help, I really appreciate it. Here's the output from the report job: OTHER arc dev test prod 2024-07-16 5.760 0.017 2.333 2.235 19.114 2024-07-17 5.999 0.018 2.595 2.260 18.355 2024-07-18 6.019 0.018 2.559 1.962 16.879 2024-07-19 5.650 0.018 2.177 1.566 14.573 2024-07-20 4.849 0.013 2.389 1.609 12.348 2024-07-21 4.619 0.013 2.190 1.618 12.296 2024-07-22 5.716 0.019 2.425 1.626 14.286 I was able to play around with what you sent and this gives me rows with the size and the change in size, which is the data I want, but I can't seem to get it back to the table format I need.  if I add "| stats values(*) as * by index" then I end up with a format that is multivalue and I haven't been able to get that untangled either.  I am OK at this stuff, but am definitely not a pro level user. | loadjob "" | eval date=(strftime(_time,"%Y-%m-%d")) | fields - _time | transpose header_field=date | rename column AS index | sort index | untable index date size | sort 0 index date | streamstats last(size) as previous window=1 global=f current=f by index | eval relative_size = 100 * size / previous | fields - previous | appendpipe [| eval date=strftime(date, "%F")." change" | xyseries index date relative_size] | appendpipe [| eval date=strftime(date, "%F") | xyseries index date size]
Just to clarify. Every device on this network is being logged by splunk, but these two firewalls are the only two that have this problem. All the other devices can pull logs normally, so I don't beli... See more...
Just to clarify. Every device on this network is being logged by splunk, but these two firewalls are the only two that have this problem. All the other devices can pull logs normally, so I don't believe the time format is the issue.
All of this has been through the GUI. On the search head I enabled clustering and added it as the Search peer. Is that not the way to do it?
Does it work if you make a selection to trigger the change handler? If so, you could add a set of the token in the init block of the dashboard. This might not work depending on whether it is executed... See more...
Does it work if you make a selection to trigger the change handler? If so, you could add a set of the token in the init block of the dashboard. This might not work depending on whether it is executed before or after the base searches. If it is executed before the base searches, you may have to do something a bit more complicated to ensure the order of searches are execute in a controlled manner