All Splunk exams

Free Splunk Core Certified Power User practice test: 30 questions with answers

30 original questions for Splunk Core Certified Power User, drawn from every topic area. Answer each one to see whether you got it right and why. No sign-up.

Free questions
30
Full bank
112 questions
Real exam
65 questions, 60 min

Splunk Core Certified Power User exam guide: topics, cost and format

All 30 Splunk Core Certified Power User questions with answers

The same questions as the test above, grouped by exam topic. Open any question to see the answer and explanation.

Correlating Events (3 questions)

  1. Question 1

    A security analyst wants all events from the same client IP address to form one transaction, as long as no gap between consecutive events is longer than five minutes. Which search meets this requirement?

    1. Aindex=web | stats count by clientip
    2. Bindex=web | transaction clientip maxpause=5m
    3. Cindex=web | transaction clientip startswith="login"
    4. Dindex=web | dedup clientip
    Show answer and explanation
    Correct answer: B

    The maxpause option sets the largest allowed gap between consecutive events in a transaction, so a longer gap starts a new transaction. Stats returns one count per IP without grouping events, startswith defines a start event rather than a time gap, and dedup keeps only one event per IP.

  2. Question 2

    Which statement best compares the transaction command with the stats command?

    1. AThe transaction command can run on the indexers for every search, while stats must send every event to the search head before it can count anything.
    2. BThe stats command returns the raw text of each event in a grouped view, while transaction returns only numeric summary values for the grouped events.
    3. CStats can be distributed across indexers, while transaction works on grouped events at the search head, so stats suits aggregate results.
    4. DThe transaction and stats commands always produce identical duration and eventcount fields, so either command can be used in place of the other one.
    Show answer and explanation
    Correct answer: C

    Stats is a transforming command that can be distributed, which makes it lighter when aggregates such as counts or averages are enough. Transaction must assemble grouped raw events, and it is the right choice only when the grouped events themselves are needed; the other options reverse the roles or misdescribe the output.

  3. Question 3

    A team wants each web session to start at an event containing the word login and end at an event containing the word logout, with the session duration reported automatically. Which search should they use?

    1. Aindex=web | stats earliest(_time) latest(_time) count by clientip, sessionid
    2. Bindex=web | transaction clientip maxevents=2
    3. Cindex=web | dedup clientip sessionid
    4. Dindex=web | transaction clientip startswith="login" endswith="logout"
    Show answer and explanation
    Correct answer: D

    The startswith and endswith options of transaction define the boundary events of each session, and transaction adds a duration field automatically. Stats with earliest and latest does not bound sessions by the login and logout words, maxevents limits the event count without using those words, and dedup removes repeated rows instead of grouping events into sessions.

Filtering and Formatting Results (3 questions)

  1. Question 4

    An analyst needs to keep only the events in which bytes_out is greater than bytes_in. Which command should follow the initial search to do this?

    1. A| dedup bytes_out bytes_in
    2. B| search bytes_out > bytes_in
    3. C| where bytes_out > bytes_in
    4. D| table bytes_out bytes_in
    Show answer and explanation
    Correct answer: C

    The where command evaluates an expression that can compare two fields, so it keeps only the matching events. The search command matches keywords and literal field values and cannot compare two fields, dedup removes duplicate events, and table only chooses which columns to display.

  2. Question 5

    A stats report shows blank cells in the response_time column for some hosts. The administrator wants those blanks to display as 0 without removing any rows. Which command accomplishes this?

    1. A| where isnull(response_time) | sort host
    2. B| dedup host response_time status
    3. C| fillnull value=0 response_time
    4. D| table host response_time status
    Show answer and explanation
    Correct answer: C

    The fillnull command replaces null values in the named field with the value given, here 0, and keeps every row. The where isnull filter keeps only the rows with missing values, dedup removes repeated values, and table only selects displayed columns without changing the blanks.

  3. Question 6

    Which two statements about the search and where commands are correct? (Choose two.)

    1. AThe search command can compare two fields with an operator, such as field_a > field_b.
    2. BThe where command accepts eval-style expressions, so it can compare two fields in one filter.
    3. CThe search command can be placed after a pipe to filter the results of an earlier command.
    4. DThe where command must be the first command in every search that uses an index.
    5. EThe search command can call eval functions such as len() inside its filter expression.
    Show answer and explanation
    Correct answer: B, C

    The where command evaluates expressions, including comparisons between two fields, and the search command can filter earlier results when it follows a pipe. The search command cannot compare two fields or call eval functions, and where does not have to be the first command in a search.

Creating and Managing Fields (3 questions)

  1. Question 7

    Application logs contain lines such as 2026-11-01|10.1.4.20|GET|/index.html|200, where a pipe character separates every value and the events contain no field names. Which Field Extractor approach fits best?

    1. AUse the Delimiters method, choose the pipe as the delimiter, and name the fields in the order they appear.
    2. BCreate a tag for each column value so the search can locate every value through a shared tag label in the events.
    3. CCreate a field alias that maps each column of the raw event text to a new field name.
    4. DAdd an index-time transform to indexes.conf that writes each column of every event to its own separate indexed field.
    Show answer and explanation
    Correct answer: A

    The Delimiters method extracts fields by splitting each event on a consistent character, and you name the fields in column order. Tags label existing field values, field aliases rename fields that already exist, and indexes.conf controls index storage rather than field extraction.

  2. Question 8

    Which description best fits a regular expression field extraction created with the Field Extractor?

    1. AAn index-time field that is written into the index for every event as the raw data is first ingested and parsed by the indexer.
    2. BA search-time field definition that uses named capture groups to read values from matching events when a search runs.
    3. CA field alias that gives an existing field a second name without extracting anything from the raw text.
    4. DA calculated field that evaluates an eval expression against fields that already exist in each matching event.
    Show answer and explanation
    Correct answer: B

    A regular expression extraction from the Field Extractor is a search-time definition that relies on named capture groups, and values are read from the raw event when a search runs. Index-time fields are stored in the index, calculated fields compute new values from existing fields, and field aliases only give an existing field another name.

  3. Question 9

    A one-time investigation requires pulling a ticket number, such as ticket=48213, from the raw event text into a field for the current search only. The team does not want to change any configuration. Which approach should they use?

    1. AUse the rex command with a named capture group, such as rex field=_raw "ticket=(?<ticket>\d+)", inside the search.
    2. BCreate a permanent extraction in the Field Extractor that applies to the sourcetype for all users and every app that reads it.
    3. CCreate a lookup definition that matches the raw text against a table to produce a ticket field.
    4. DCreate a field alias that renames the ticket field so it can be used in this search.
    Show answer and explanation
    Correct answer: A

    The rex command defines a field inside a single search without saving any configuration, which fits a one-time task. A Field Extractor extraction is a permanent saved setting that the task does not need, a lookup enriches events from a table, and a field alias only renames a field that already exists.

Creating Field Aliases and Calculated Fields (3 questions)

  1. Question 10

    Two sourcetypes store the client address under different names: one uses src_ip and the other uses client_ip. An analyst wants searches to use src_ip for both, while the raw data and existing searches stay unchanged. Which knowledge object should be created?

    1. AAn index-time extraction that rewrites client_ip to src_ip in every event
    2. BA field alias for the second sourcetype that maps client_ip to src_ip
    3. CA tag named src_ip applied to all values of the client_ip field
    4. DAn event type whose search string contains client_ip so it is labeled src_ip
    Show answer and explanation
    Correct answer: B

    A field alias is a search-time mapping that makes an existing field available under another name and leaves the raw data untouched. An index-time change alters what is stored, a tag only labels values, and an event type classifies events by search criteria without renaming any field.

  2. Question 11

    Which statement about calculated fields is correct?

    1. AA calculated field is defined with an eval expression and is computed at search time from existing fields.
    2. BA calculated field creates a new event for every value that its expression returns during a search.
    3. CA calculated field is stored in the index, so its expression must be reindexed before a change takes effect.
    4. DA calculated field replaces the raw text of each event with the result of its expression.
    Show answer and explanation
    Correct answer: A

    Calculated fields use eval-style expressions that Splunk evaluates at search time, so they do not store values in the index or change raw events. The reindexing claim is wrong because calculated fields are search-time settings, and the other two options misdescribe what a calculated field produces.

  3. Question 12

    An analyst wants a field named bytes_kb, equal to the bytes field divided by 1000, to appear automatically in every search of one sourcetype. Which knowledge object should an administrator create?

    1. AA field alias that maps the bytes field to a new field named bytes_kb for the same sourcetype
    2. BA tag named bytes_kb applied to the values of the bytes field for the sourcetype
    3. CAn event type that searches for events where the bytes field is present
    4. DA calculated field for the sourcetype that uses an eval expression to divide bytes by 1000
    Show answer and explanation
    Correct answer: D

    A calculated field computes a new field from an eval expression and applies to the sourcetype automatically. A field alias only renames bytes and cannot divide it, a tag labels field values, and an event type classifies events by search criteria without creating a numeric field.

Creating Tags and Event Types (3 questions)

  1. Question 13

    A SOC team wants every host value that belongs to the production environment to carry a shared label, so analysts can search for the label instead of typing a long list of hostnames. Which feature provides this?

    1. AA calculated field that copies the host field into a new field
    2. BA field alias that renames the host field to production
    3. CA tag applied to the production host values
    4. DA dashboard panel that lists all production hostnames in a table
    Show answer and explanation
    Correct answer: C

    A tag is a label attached to specific field-value pairs, so searches can use the label instead of repeating the values. A field alias renames a field, a calculated field computes a new value, and a dashboard panel only displays results without labeling anything.

  2. Question 14

    Which statement about event types is correct?

    1. AAn event type permanently moves matching events into a separate index so that they can be searched faster by analysts.
    2. BAn event type is a saved search definition that classifies matching events, searchable by name with the eventtype field.
    3. CAn event type renames fields in matching events so they follow the Common Information Model names.
    4. DAn event type can only be created by editing the indexes.conf file on the indexer.
    Show answer and explanation
    Correct answer: B

    An event type stores a search definition that groups matching events under a name, and you search it with eventtype=name. Event types do not move data between indexes, rename fields, or require editing indexes.conf.

  3. Question 15

    An analyst needs only the events that belong to the event type failed_login and that come from host vpn01. Which search expresses this?

    1. Aeventtype=failed_login host=vpn01
    2. Bfailed_login AND host=vpn01 index=vpn
    3. Ctag=failed_login host=vpn01 index=vpn
    4. Dmacro failed_login host=vpn01 index=vpn
    Show answer and explanation
    Correct answer: A

    The eventtype field selects the events that match the event type, and host=vpn01 narrows those results to one host. A bare keyword searches for the word itself, tag= looks for a tag rather than an event type, and macro is not a search keyword.

Creating and Using Macros (3 questions)

  1. Question 16

    A team repeats the same long base search, including index, sourcetype, and filter terms, across dozens of saved searches. They want to store that text once and update it in one place. Which feature should they use?

    1. AA lookup definition that maps the search terms to a table of values
    2. BA field alias that gives the sourcetype a second name
    3. CA search macro that holds the reusable search text
    4. DA workflow action that runs the base search from a field menu
    Show answer and explanation
    Correct answer: C

    A search macro stores reusable search text under a name, so a change made in the macro applies to every search that calls it. A lookup definition enriches events from a table, a field alias renames a field, and a workflow action builds a link or search from field values.

  2. Question 17

    How is a search macro called from inside a search string?

    1. ABy adding the macro name to the sourcetype stanza in props.conf so it runs for each event.
    2. BBy typing the macro name after a pipe character, followed by a colon and the arguments as key=value pairs in the search.
    3. CBy using the macro keyword followed by the macro name, for example macro name=base_search.
    4. DBy wrapping the macro name in backticks, with arguments in parentheses after the name and separated by commas.
    Show answer and explanation
    Correct answer: D

    Splunk expands a macro when the search runs, and the call is written as the macro name inside backticks, with positional arguments in parentheses. The pipe-and-colon syntax, the macro keyword, and a props.conf entry are not valid ways to call a search macro.

  3. Question 18

    A search macro named count_hosts is defined as: search index=$idx$ sourcetype=$stype$ | stats count by host. Which call counts hosts in the web index for sourcetype access_combined?

    1. A`count_hosts(index=web, stype=access_combined)`
    2. B`count_hosts(web)`
    3. C`count_hosts(access_combined, web)`
    4. D`count_hosts(web, access_combined)`
    Show answer and explanation
    Correct answer: D

    Macro arguments are matched by position, so the first value fills $idx$ and the second fills $stype$. Name=value pairs are not supported in the call, omitting the second argument leaves the macro incomplete, and reversing the order puts the sourcetype into the index slot.

Creating and Using Workflow Actions (3 questions)

  1. Question 19

    A SOC analyst wants a link in the event actions menu that opens an external IP reputation website in a new browser tab, filled in with the src_ip value from the selected event. Which workflow action type should the administrator configure?

    1. AA POST workflow action that sends the src_ip value in a request body
    2. BA tag that labels the src_ip value so it appears in the event actions menu
    3. CA Search workflow action that runs a new search for the src_ip value
    4. DA GET workflow action that builds a URL from the src_ip field value
    Show answer and explanation
    Correct answer: D

    A GET workflow action opens a URL built from field values, which is what a link to an outside site needs. A POST workflow action submits data to a target system rather than a simple link, a Search workflow action runs a Splunk search instead of opening a website, and a tag labels values without creating any link.

  2. Question 20

    An analyst clicks a user field value in an event and wants a new search that shows all events for that user, without leaving the Splunk interface. Which workflow action type fits this need?

    1. AA GET workflow action that opens a URL built from the user field value
    2. BA POST workflow action that submits the user field value to a web service
    3. CA calculated field that copies the user field value into a second field
    4. DA Search workflow action that runs a new search with the user value
    Show answer and explanation
    Correct answer: D

    A Search workflow action builds a new Splunk search from field values and runs it, so the analyst stays in Splunk. A GET action opens an external URL, a POST action submits data to a web service, and a calculated field creates another field without running any search.

  3. Question 21

    A security team wants a field containing an alert ID to be sent automatically, in an HTTP request body, to a ticketing system's API when an analyst selects an event action. Which configuration fits this requirement?

    1. AA POST workflow action that submits the alert ID field to the target URL
    2. BA Search workflow action that sends the alert ID field to the ticketing system
    3. CA field alias that maps the alert ID field to the ticketing system's field name
    4. DAn event type that matches events with the alert ID field present
    Show answer and explanation
    Correct answer: A

    A POST workflow action sends selected field values to a target URL in an HTTP POST request, which suits a ticketing API. A Search workflow action only runs a Splunk search, a field alias renames a field inside Splunk, and an event type classifies events without sending anything.

Creating Data Models (3 questions)

  1. Question 22

    A team wants analysts to build pivot tables from web access events without writing SPL, and only events from the access_combined sourcetype should appear in the dataset. Which object should the team create?

    1. AA lookup table that lists the access_combined sourcetype and each analyst's pivot fields
    2. BA data model with a root event object whose constraint limits events to sourcetype access_combined
    3. CA search macro that expands into the access_combined sourcetype search for all web events in the environment
    4. DA dashboard with a table panel that shows the access_combined sourcetype events
    Show answer and explanation
    Correct answer: B

    A data model is the dataset that pivot works from, and a root event object with a sourcetype constraint restricts it to the intended events. A lookup table enriches events, a macro only reuses search text, and a dashboard panel displays results without creating a dataset for pivot.

  2. Question 23

    A data model developer defines a bytes attribute as a string type. Pivot users can only count events and cannot sum the bytes values. Which change fixes the problem?

    1. AChange the attribute data type from string to number on the data model object
    2. BChange the object to a transaction object so that pivot can sum its grouped values
    3. CAdd a tag to the bytes attribute so that pivot can group its values numerically
    4. DRename the attribute to bytes_total so that pivot treats the field as a count-based field
    Show answer and explanation
    Correct answer: A

    Pivot sum and average functions need a numeric attribute, and a string attribute supports only counting. Renaming and tagging do not change the data type, and a transaction object groups events rather than converting field types.

  3. Question 24

    Which three statements about data models are correct? (Choose three.)

    1. AA data model is a hierarchy of objects, such as event, search, and transaction objects, that describes a dataset.
    2. BAccelerating a data model builds summary data so that pivot and tstats searches can run faster.
    3. CA child object inherits the constraints of its parent object and can add its own constraints.
    4. DData models replace indexes, so raw events are no longer stored once a data model is created.
    5. EData models can only be created by editing the props.conf file on the search head.
    Show answer and explanation
    Correct answer: A, B, C

    A data model organizes objects in a hierarchy, acceleration creates summaries for faster pivot and tstats searches, and child objects inherit the constraints of their parents. Data models do not replace indexes or remove stored raw events, and they can be created in Splunk Web without editing props.conf.

Using the Common Information Model (CIM) Add-On (3 questions)

  1. Question 25

    A company collects firewall logs and proxy logs, and each source names the source IP address differently. The team wants one search and one dashboard to report network traffic across both sources. Which approach fits?

    1. ARewrite the raw firewall and proxy logs before they are indexed so that every event contains both a src field and a dest field
    2. BInstall the CIM Add-On and use its knowledge objects to map each source's fields to CIM field names such as src
    3. CCreate a separate dashboard panel for each source and combine the panels into one report with the append command
    4. DStore each source in its own index and rely on index names to keep the reports separate
    Show answer and explanation
    Correct answer: B

    The CIM Add-On supplies field aliases, tags, event types, and data models that map source-specific names to CIM standard names, so one search can cover both sources. Rewriting raw logs is unnecessary, appended panels still use each source's own field names, and separate indexes keep the data apart rather than normalizing it.

  2. Question 26

    Which two statements about the Splunk Common Information Model (CIM) Add-On are correct? (Choose two.)

    1. AIt supplies knowledge objects such as field aliases, tags, event types, and data models that map data to shared field names.
    2. BIt gives analysts standard field names such as src, dest, and user, so one search can cover data from several sources.
    3. CIt must be installed on every universal forwarder to rewrite raw events before they are indexed.
    4. DIt replaces the need for data models by storing all normalized events in a separate CIM index.
    5. EIt changes the raw text of every indexed event so that it matches the CIM field names exactly.
    Show answer and explanation
    Correct answer: A, B

    The CIM Add-On delivers knowledge objects and data models that normalize fields, and its standard names let one search span several sources. It is not a forwarder rewrite tool, it does not replace data models with a separate index, and it does not change raw event text.

  3. Question 27

    After the CIM Add-On is configured, an analyst wants a count of failed authentication attempts by user across every data source that feeds the Authentication data model. Which search meets this need?

    1. Aindex=* sourcetype=linux_secure "Failed password" | stats count by host
    2. B| tstats count from datamodel=Authentication where Authentication.action="failure" by Authentication.user
    3. Cindex=* | rename Account_Name AS user | where isnotnull(user) | stats count by user, host, dest, src, sourcetype
    4. Dindex=* | stats count by sourcetype
    Show answer and explanation
    Correct answer: B

    The tstats command reads the Authentication data model, whose CIM field names apply across sources, so one search covers every normalized source. The other searches depend on a single sourcetype's keywords or on fields that are not normalized, and one rename does not normalize data for all sources.

Using Transforming Commands for Visualizations (3 questions)

  1. Question 28

    A network team wants a line chart that shows how many failed logins occurred each hour over the past day, with a separate line for each data center. Which search meets this requirement?

    1. Aindex=auth action=failure | timechart span=1h count by datacenter
    2. Bindex=auth action=failure | chart count by datacenter, username, host
    3. Cindex=auth action=failure | top limit=5 datacenter
    4. Dindex=auth action=failure | table _time datacenter
    Show answer and explanation
    Correct answer: A

    The timechart command places _time on the x-axis and buckets results by the span, so span=1h with count by datacenter gives an hourly line for each data center. The chart command with no time field has no time axis, top returns ranked values rather than a time series, and table lists rows without aggregating them.

  2. Question 29

    Which statement correctly describes the difference between the chart and timechart commands?

    1. AThe chart command always uses _time for the x-axis, while the timechart command uses the over clause to choose its row values and the by clause for series.
    2. BThe timechart command can only count events, while the chart command can apply statistical functions such as avg, sum, and max to the results.
    3. CThe timechart command always uses _time for the x-axis and buckets results by span, while chart uses over and by clauses to set rows and columns.
    4. DBoth commands return raw events on the Events tab, and the timechart command also sorts those events by _time before they are displayed.
    Show answer and explanation
    Correct answer: C

    Timechart is built around _time and span, while chart uses over for rows and by for columns. The first option reverses the two commands, the second wrongly limits timechart to counting, and the third is false because both are transforming commands that return aggregated results rather than events.

  3. Question 30

    A sales team wants a column chart that shows the total number of purchases for each product category, with no time dimension. Which search should be used?

    1. Aindex=sales | timechart count by category
    2. Bindex=sales | sort category
    3. Cindex=sales | table category
    4. Dindex=sales | chart count over category
    Show answer and explanation
    Correct answer: D

    The chart command with count over category returns one row per category with its purchase count and no time axis. Timechart always places _time on the x-axis, table lists fields without aggregating them, and sort only reorders events without counting anything.