Skip to content

Commit 5e5a0af

Browse files
committed
Continue adding content
1 parent 881d287 commit 5e5a0af

File tree

3 files changed

+35
-27
lines changed

3 files changed

+35
-27
lines changed

docs/cse/troubleshoot/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ This section contains articles to help you troubleshoot problems with Cloud SIEM
1111
<div className="box-wrapper" >
1212
<div className="box smallbox card">
1313
<div className="container">
14-
<a href="/docs/cse/troubleshoot/cloud-siem-parsers"><img src={useBaseUrl('img/icons/operations/too-many-tools.png')} alt="Troubleshoot icon" width="40"/><h4>Troubleshoot Parsers</h4></a>
14+
<a href="/docs/cse/troubleshoot/troubleshoot-parsers"><img src={useBaseUrl('img/icons/operations/too-many-tools.png')} alt="Troubleshoot icon" width="40"/><h4>Troubleshoot Parsers</h4></a>
1515
<p>Learn how to troubleshoot problems with log parsers.</p>
1616
</div>
1717
</div>

docs/cse/troubleshoot/cloud-siem-parsers.md renamed to docs/cse/troubleshoot/troubleshoot-parsers.md

Lines changed: 33 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
id: cloud-siem-parsers
2+
id: troubleshoot-parsers
33
title: Troubleshoot Parsers
44
sidebar_label: Parsers
55
description: Learn how to troubleshoot problems with log parsers.
@@ -22,12 +22,11 @@ Parsing issues can manifest in several ways:
2222
* Parsing failures. All or part of a parser is not handling logs as intended.
2323
* Incorrect parsing. Specific fields or metadata being parsed incorrectly (wrong key value pairs or event_id metadata)
2424

25+
## Forwarding Logs to Cloud SIEM with Parsers
2526

27+
### Forwarding Methods
2628

27-
Forwarding Logs to Cloud SIEM with Parsers
28-
29-
Forwarding Methods
30-
SIEM Forward + Parser (recommended)
29+
#### SIEM Forward + Parser (recommended)
3130

3231
The recommended method is to set _siemForward = true and _parser = path/to/parser. This can be set several ways:
3332
At the source
@@ -40,7 +39,7 @@ Sending subsets of logs to Cloud SIEM is useful as not all log data is useful fr
4039

4140
Many Cloud-To-Cloud (C2C) sources set the _parser and _siemForward metadata within the parser bypassing the need to manually specify for these sources.
4241

43-
Other Methods
42+
#### Other Methods
4443

4544
Other methods depend upon legacy methods which bypass parsers and are generally not recommended. These include:
4645

@@ -49,7 +48,7 @@ For structured logs, this will use a Sumo Logic Ingest Mapping and has limited o
4948
For unstructured logs, this will utilize legacy “Grok” parsers which are approaching EOL and are not maintained outside of critical bug fixes.
5049
Older C2C sources set _siemForward and mapper metadata fields within the C2C.
5150

52-
Best Practices
51+
### Best Practices
5352

5453
Always use a parser when possible
5554
Provides consistent field extraction
@@ -62,28 +61,29 @@ Ensure parser matches the data format
6261
Use system parsers when available
6362
Create custom parsers only when necessary
6463
Following these fundamentals will help prevent common parsing issues and simplify troubleshooting when problems occur.
65-
Identifying Parser Issues
6664

67-
Using the Failed Records Dashboard
65+
## Identifying Parser Issues
66+
67+
### Using the Failed Records Dashboard
6868

6969
The Cloud SIEM Enterprise Audit App provides dashboards and queries for greater visibility into Cloud SIEM activity. Troubleshooting parser failures is aided by the Failed Record Analysis dashboard and query found within Enterprise Audit - Cloud SIEM>Record Analysis>Failed Record Analysis (Enterprise Audit - Cloud SIEM app must be installed).
7070

71-
Common Failure Types
71+
#### Common Failure Types
7272

7373
Parser Failures: Include parser path and specific parsing error
7474
Mapper Failures: Usually mention mapper or mapping issues
7575
Mixed Failures: May indicate parser output doesn't match mapper expectations
7676

7777

78-
Investigating Failed Records
78+
#### Investigating Failed Records
7979

80-
Identify the Pattern
80+
##### Identify the Pattern
8181

8282
Look for commonalities in failed records
8383
Note specific error messages
8484
Check if failures are limited to certain sources
8585

86-
Analyze Error Messages
86+
##### Analyze Error Messages
8787

8888
Common Errors
8989
Fatal: /Parsers/System/Vendor/Product Name did not produce an event.
@@ -99,13 +99,13 @@ Indicates an required key value pair is missing from the parsed log and the log
9999
Fatal:/Parsers/System/Vendor/Product Name- wrapper did not return the wrapped log entry
100100
A parser utilizing a wrapper transform did not find the log that is supposed to be present causing the parser failure
101101

102-
Check for Recent Changes
102+
##### Check for Recent Changes
103103
For log sources which were previously parsed successfully:
104104
Vendors will occasionally make modifications to the log format or field names within the logs which cannot be handled by existing parsers
105105
Source configuration changes to logging on the appliance, service, or application sending logs may result in parsing issues or failures
106106
Sumo Logic is continuously making updates to our parser catalog. While these changes undergo regression testing, there can be unforeseen cases not caught in regression testing. Cloud SIEM Content Release Notes will note any modifications to out-of-the-box parsers by date with a brief summary of the changes.
107107

108-
Other Considerations
108+
##### Other Considerations
109109
Parsing failures can occur when there is no issue with the parser for a variety of reasons:
110110
The parser was designed for a different version or log format than the ingested logs
111111
A new parser may be needed to accommodate these logs
@@ -120,15 +120,15 @@ There are niche use cases which can be accounted for by customizing a parser tha
120120
Verbose and Debug level logging frequently fall into this category
121121

122122

123-
Pivot to Raw Logs and Troubleshoot with the Parser
123+
##### Pivot to Raw Logs and Troubleshoot with the Parser
124124
With the error(s) identified, pivot to the raw message(s) for further troubleshooting. Note the specific parser(s) which are failing.
125125

126126
Extract metadata_sourcemessageId from the failed record
127127
Use _messageId (same as metadata_sourcemessageId) in a search to locate the original raw log.
128128
Copy the raw message(s) and paste into the parser UI
129129
Use the parser UI to search for _messageID(s) with the appropriate timeframe to bring the logs into the UI to test
130130

131-
Troubleshooting Existing Parsers
131+
### Troubleshooting Existing Parsers
132132
If you have identified a log message that should be parsed by an existing parser (the format is right, there is a clear security use case etc.) then it helps to understand the structure of the parser first to begin troubleshooting.
133133

134134
Some parsers are very simple (most often structured log formats)
@@ -151,8 +151,10 @@ Some logs may be missing a timestamp and _messagetime from the Sumo collector or
151151
Unstructured logs with many different event types or variations between events
152152
Each event type must be handled by its own transform and often requires a regular expression to parse.
153153
These will often use variable transforms and/or transform cascades.
154-
Example Scenario
155-
Linux Syslog Parsing Failure
154+
155+
#### Example Scenario
156+
157+
##### Linux Syslog Parsing Failure
156158
This is a particularly illustrative example of how a more complex parser processes a log.
157159

158160
Example:
@@ -167,21 +169,23 @@ In this parser, the log is first processed for its header to determine how it sh
167169

168170
Here we can see the header and process are parsed successfully. Examining the parser we find that there is a VARIABLE TRANSFORM which uses the syslog process to route the logs to another transform.
169171

172+
```
170173
# Direct parser based on the syslog process name
171174
# Process Name = Transform Parser
172175
VARIABLE_TRANSFORM_INDEX:syslog_message = syslog_process
176+
```
173177

174178
In this case there is a transform called for `systemd` processes called `parse_systemd` which takes the contents of syslog_message and passes it along to the named transform. Looking further down the parser we can find that specific transform.
175179

176180

177-
[transform:parse_systemd]
181+
transform:parse_systemd
178182
TRANSFORM_CASCADE:_$log_entry = parse_systemd_format_1,parse_systemd_format_2
179183

180184

181185
This particular transform passes along the contents of what it received from the variable transform and instructs it to pass along the field value stored in _$log_entry (syslog_message) to two additional parse transforms which it then attempts to use in the order shown in the transform cascade until a match is found.
182186

183187

184-
[transform:parse_systemd_format_1]
188+
transform:parse_systemd_format_1
185189
```
186190
#<86>Jan 01 00:00:00 hostname systemd[20460]: pam_unix(systemd-user:session): session opened for user root by (uid=0)
187191
TRANSFORM_CASCADE:_$log_entry = parse_su_format_6,parse_sudo_format_2,parse_systemd_user_format_1
@@ -200,12 +204,14 @@ In these transforms we helpfully have an example log for which the transform is
200204
Were this a useful log from a security context (it’s not) the failure could be addressed in a few ways, either by modifying one of the existing transform regular expressions (whichever is closer in format) or by creating a new transform as part of the transform cascade being called for the systemd process log. Since the particular log example is a significant departure from the intent of either existing transforms, a new one would be most appropriate. It would only require a modification to the parse_systemd transform cascade and the addition of a third transform with a regular expression to handle the particular log and then set the appropriate event_id.
201205

202206

203-
Escalating Parsing Issues
207+
### Escalating Parsing Issues
208+
204209
Sumo Logic Threat Labs Detection Engineering maintains all Out-Of-The-Box (OoTB) Cloud SIEM Content. Content includes Parsers, Mappers, Rules, and Normalization Schema.
205210

206211
Upon identifying an issue with a Cloud SIEM OoTB parser using this guide, it may be necessary to escalate the issue to Threat Labs.
207212

208-
Escalation requirements
213+
#### Escalation requirements
214+
209215
A concise description of the problem
210216
Screenshots are helpful for understanding current and potentially previous behavior if there was a change
211217
A representative raw log sample
@@ -220,10 +226,12 @@ Configuration Information
220226
Many data sources will have options for configuring logging.
221227
It is important to understand what those settings are to develop new global support for a data source or offer advice for a custom solution if a global one is not appropriate.
222228

223-
Gathering Raw Samples
229+
#### Gathering Raw Samples
230+
224231
Prior to opening a support request, it is helpful to gather sample raw logs (without Field Extraction Rules overwriting _raw) which represent the identified issue.
225232

226-
Ways to gather samples
233+
##### Ways to gather samples
234+
227235
Find Samples
228236
Search using the identified _messageId(s) of the failing to parse logs
229237
Example query:

sidebars.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2898,7 +2898,7 @@ integrations: [
28982898
collapsed: true,
28992899
link: {type: 'doc', id: 'cse/troubleshoot/index'},
29002900
items: [
2901-
'cse/troubleshoot/cloud-siem-parsers',
2901+
'cse/troubleshoot/troubleshoot-parsers',
29022902
],
29032903
},
29042904
],

0 commit comments

Comments
 (0)