This study plan is tailored to ensure efficient and effective learning for the SPLK-1001 certification, using:
Goal: Develop a clear understanding of Splunk Basics and Basic Searching.
Objective: Learn to write basic SPL queries and work with time-based searches.
Tasks:
Search Language Fundamentals:
search criteria | command.AND, OR, NOT).Keyword Searching:
Write queries like:
error
Combine keywords:
error AND critical
Time-Based Searching:
2025-01-01 to 2025-01-02).Self-Test:
Pomodoro Plan:
Objective: Learn to manipulate and extract fields.
Tasks:
Field Commands:
Practice the fields command:
index=main | fields host, source
Use rename to create meaningful aliases:
index=main | rename host as server_name
Field Calculations:
Use eval to create new fields:
index=main | eval error_level=if(severity>=3, "high", "low")
Manual Field Extraction:
Practice rex with sample data:
index=main | rex field=_raw "user=(?<username>\w+)"
Self-Test:
Pomodoro Plan:
fields and rename commands.eval for field calculations.rex.Objective: Use commands like stats, chart, and timechart to summarize and visualize data.
Tasks:
Aggregation:
Practice stats for counts and averages:
index=main | stats count by host
Visualization:
Use chart for bar and pie charts:
index=main | chart avg(response_time) by host
Use timechart for trends:
index=main | timechart count by sourcetype
Combination:
Chain commands to create complex queries:
index=main | stats avg(response_time) by host | sort -avg(response_time)
Self-Test:
Pomodoro Plan:
stats command with examples.chart and timechart.fields, rename, and eval.Goal: Master field commands, transforming commands, lookups, and begin working with reports and dashboards.
Objective: Deepen understanding of fields and their role in refining search results.
Tasks:
Discover Fields:
_time, host, source, and sourcetype.Field Commands Practice:
Write queries to include/exclude fields using fields:
index=main | fields host, source
Rename fields for clarity using rename:
index=main | rename host as server_name
Field Calculations:
Create new fields dynamically with eval:
index=main | eval response_status=if(response_time>500, "slow", "fast")
Manual Field Extraction:
Use rex to extract fields from raw log data:
index=main | rex field=_raw "user=(?<username>\w+)"
Self-Test:
rex to unstructured data.Pomodoro Plan:
fields and rename.eval to calculate new fields.rex.Objective: Learn to summarize, group, and visualize data using transforming commands.
Tasks:
Study Transforming Commands:
stats, chart, and timechart commands.Hands-On Practice:
Use stats to group and count events:
index=main | stats count by host
Visualize data with chart:
index=main | chart avg(response_time) by host
Analyze trends with timechart:
index=main | timechart count by sourcetype
Combine Commands:
Use pipelines (|) to combine commands:
index=main | stats avg(response_time) by host | sort -avg(response_time)
Self-Test:
stats, chart, and timechart to solve hypothetical scenarios.Pomodoro Plan:
stats syntax and examples.chart.timechart for trend analysis.Objective: Understand how to enrich Splunk data using lookup tables.
Tasks:
Learn About Lookups:
user_id to user_name.Practice Static Lookups:
Upload a CSV file as a lookup table:
Example:
user_id,user_name
101,Alice
102,Bob
Define the lookup in Settings > Lookups > Lookup Definitions.
Use the lookup in a query:
index=main | lookup users.csv user_id OUTPUT user_name
Automatic Lookups:
lookup commands.Troubleshooting:
Use the inputlookup command to validate your lookup data:
| inputlookup users.csv
Self-Test:
Pomodoro Plan:
Objective: Learn to create, customize, and schedule reports.
Tasks:
Creating Reports:
Save a search as a report:
index=main error | stats count by host
Add a descriptive title and notes about the report’s purpose.
Customizing Reports:
Scheduling Reports:
Self-Test:
Pomodoro Plan:
host.Objective: Consolidate Week 2 knowledge and apply it to real-world scenarios.
Tasks:
Flashcard Review:
Practice Queries:
Solve scenarios such as:
Monitor server errors:
index=main error | stats count by host | where count > 10
Analyze sales trends:
index=sales_logs | timechart sum(sales_amount) by region
Self-Assessment:
Cheat Sheet Creation:
Pomodoro Plan:
Goal: Develop advanced proficiency in SPL, build complex dashboards, configure alerts, and solve real-world scenarios.
Objective: Learn how to create, configure, and troubleshoot alerts for monitoring critical conditions.
Tasks:
Understand Alerts:
count > 10).Create a Basic Alert:
Write a query to monitor error events:
index=main error | stats count by host | where count > 10
Save the query as an alert:
count > 10.Advanced Alert Features:
Self-Test:
Create an alert to monitor CPU usage exceeding 90%:
index=system_metrics | stats avg(cpu_usage) as avg_cpu by host | where avg_cpu > 90
Pomodoro Plan:
Objective: Build fully interactive dashboards with advanced features like drilldowns and dynamic filtering.
Tasks:
Enhance Existing Dashboards:
Add dropdown filters to control data dynamically.
Example Query:
index=main host=$host_name$ | stats count by error_type
$host_name$ is a token linked to the dropdown input.Add a time picker for custom date ranges.
Drilldowns:
Dashboard Permissions:
Self-Test:
Pomodoro Plan:
Objective: Integrate lookup tables into dashboards for enriched visualizations and interactive insights.
Tasks:
Lookup Enrichment:
Use a CSV file to map error_code to error_description:
error_code,error_description
404,Page Not Found
500,Internal Server Error
Query Example:
index=main | lookup error_codes.csv error_code OUTPUT error_description
Integrate Lookups into Dashboards:
Self-Test:
host or region.Pomodoro Plan:
Objective: Solve real-world Splunk scenarios using advanced SPL and dashboards.
Tasks:
Scenario 1: Security Monitoring:
Monitor failed login attempts:
index=auth_logs status=failed | stats count by user | where count > 5
Save as an alert or dashboard panel.
Scenario 2: Sales Performance:
Analyze daily sales trends:
index=sales_logs | timechart sum(sales_amount) by region
Build a report summarizing sales by product and region.
Scenario 3: Error Trends:
Create a visualization for weekly error trends:
index=errors | timechart count by error_type
Self-Test:
Pomodoro Plan:
Objective: Continue solving advanced scenarios and creating practical outputs.
Tasks:
Scenario 4: System Health Monitoring:
Query:
index=system_logs | stats avg(cpu_usage) as avg_cpu, max(memory_usage) as max_memory by host
Build a dashboard panel showing key metrics by host.
Scenario 5: User Behavior Analysis:
Query:
index=user_activity | stats count by user_action
Save as a report showing top user actions.
Scenario 6: Custom Alert Configuration:
Self-Test:
Pomodoro Plan:
Goal: Consolidate all knowledge, focus on exam-style practice, and strengthen weak areas for SPLK-1001 success.
Objective: Review foundational and intermediate topics thoroughly.
Tasks:
Splunk Basics Review:
Basic Searching and SPL Syntax:
error).AND, OR, NOT).Last 24 hours, -30m).Field Commands:
Revisit and practice:
fields: Include/exclude fields.rename: Rename fields for clarity.eval: Create new calculated fields.rex: Extract fields using regex.Example Query:
index=main | eval status=if(response_time>500, "slow", "fast")
Self-Test:
Pomodoro Plan:
Objective: Master data aggregation, visualization, and enrichment techniques.
Tasks:
Transforming Commands:
Practice:
stats: Aggregations (count, avg, sum).
chart: Create visualizations grouped by fields.
timechart: Analyze trends over time.
Example:
index=main | timechart count by host
Lookups:
Review how to:
Upload and define lookup tables.
Use lookups to enrich data dynamically:
index=main | lookup users.csv user_id OUTPUT user_name
Configure automatic lookups for seamless enrichment.
Hands-On Practice:
error_type.Self-Test:
Pomodoro Plan:
stats, chart, and timechart commands.Objective: Refine skills in creating and customizing reports and dashboards.
Tasks:
Reports:
Revisit how to:
Example:
index=errors | stats count by error_type
Dashboards:
Self-Test:
Refinement:
Pomodoro Plan:
Objective: Strengthen alerting skills and troubleshoot common SPL errors.
Tasks:
Review Alert Basics:
Create alerts for:
High error counts:
index=main error | stats count by host | where count > 10
CPU usage exceeding 90%:
index=system_metrics | stats avg(cpu_usage) as avg_cpu by host | where avg_cpu > 90
Throttling and Notifications:
Troubleshooting:
Self-Test:
Pomodoro Plan: