Appearance
Custom Application Logs: CEF Format
Realm supports ingesting custom logs in CEF (Common Event Format) from any source. Choose a transport method based on where your log source runs and how it delivers data.
| Transport | Best for |
|---|---|
| AWS S3 | Logs already delivered to an S3 bucket |
| Azure Blob Storage | Logs already delivered to Azure Blob Storage |
| Cloud HTTP (Webhook) | Sources that can POST CEF events over HTTPS |
| Cloud Syslog | Sources that send CEF events wrapped in syslog to Realm Cloud |
| Collector | On-premises sources that cannot reach Realm Cloud directly |
Create a Source in Realm
Before configuring any transport, create a source in Realm:
- In Realm, go to Sources > Add Source.
- Enter a name for your source.
- Set Product Format to Custom CEF.
- Click Save.
Then follow the section below for your chosen transport method.
AWS S3
Use this transport when your log source delivers CEF log files to an S3 bucket.
Add an AWS S3 Input Feed
- On the Select Transport Method step in the Add Source flow, or from the source page, click Add Input Feed.
- Select AWS S3 and give it a name.
- Enter the AWS credentials and S3/SQS configuration:
Access Key ID:
<iam_access_key>
Secret Access Key:<iam_secret_key>
SQS Queue URL:<sqs_queue_url>
S3 Bucket Name:<bucket_name>
AWS Region:<region>
- Click Save.
Configure AWS Resources
Set up the SQS queue, IAM policy, IAM user, and S3 event notifications to deliver object-create events to Realm. Follow the AWS S3 source setup guide for complete instructions — the setup is identical regardless of log format.
Azure Blob Storage
Use this transport when your log source delivers CEF log files to an Azure Storage Container.
Add an Azure Blob Storage Input Feed
- On the Select Transport Method step in the Add Source flow, or from the source page, click Add Input Feed.
- Select Azure Blob Storage and give it a name.
- Enter the Azure credentials and storage configuration:
Tenant ID:
<tenant_id>
Client ID:<client_id>
Client Secret:<client_secret>
Event Hub Namespace:<namespace>.servicebus.windows.net
Event Hub Name:<event_hub_name>
Storage Account Name:<storage_account_name>
Container Name:<container_name>
- Click Save.
Configure Azure Resources
Set up the App Registration, Event Hub, Storage Account, and Event Grid notification subscription so Azure notifies Realm when new blobs are created. Follow the Azure Blob Storage source setup guide for complete instructions — the setup is identical regardless of log format.
Cloud HTTP (Webhook)
Use this transport when your log source can POST CEF events over HTTPS to a webhook URL.
Add a Cloud HTTP Input Feed
- On the Select Transport Method step in the Add Source flow, or from the source page, click Add Input Feed.
- Select Cloud HTTP and give it a name.
- Enter a token if you have one or leave it empty to have the system generate a random token for you.
- Click Save.
- Click
...> Edit on the newly created input feed. - Click on eye icon in the token field to view token value.
- Copy the Webhook URL and Token — you will need these when configuring your log source.
- By default, the webhook uses a public CA. You can switch to using a Realm private CA from the new or edit input feed form. After saving the feed, Private CA value will be shown. You can copy and paste it in to the source product.
Configure Your Log Source
Configure your application or log pipeline to POST CEF events to the Realm webhook endpoint.
Request format:
shell
curl -X POST "<webhook_url>" \
-H "Content-Type: text/plain" \
-H "Authorization: Bearer <token>" \
-d 'CEF:0|Security|threatmanager|1.0|100|worm successfully stopped|10|src=10.0.0.1 dst=2.1.2.2 spt=1232'Payload requirements:
Content-Typemust betext/plain- Each CEF event must be on its own line when sending multiple events in a single request
Cloud Syslog
Use this transport when your log source sends CEF events wrapped in syslog directly to Realm Cloud. CEF is natively syslog-based, making this the most common transport for network devices and security appliances that emit CEF.
Add a Cloud Syslog Input Feed
- On the Select Transport Method step in the Add Source flow, or from the source page, click Add Input Feed.
- Select Cloud Syslog and give it a name.
- Click Save.
- Click
...> Edit on the newly created input feed. - Copy the Syslog Hostname, Port, Protocol — you will need these to configure your log source.
- By default, the Cloud syslog uses a public CA. You can switch to using a Realm private CA from the new or edit input feed form. After saving the feed, Private CA value will be shown. You can copy and paste it in to the source product.
Configure Your Log Source
Update your log source to send CEF events to the Realm Cloud syslog endpoint. The syslog message body must be a valid CEF event string.
Example syslog message format (RFC 5424):
<134>1 2024-01-01T00:00:00Z myhost threatmanager - - - CEF:0|Security|threatmanager|1.0|100|worm successfully stopped|10|src=10.0.0.1 dst=2.1.2.2 spt=1232- The syslog header fields (facility, severity, hostname, app name) are parsed alongside the CEF body.
- Configure TLS using the Realm CA Certificate saved above.
For rsyslog, see the Rsyslog guide for TLS configuration examples that apply here as well.
Collector
Use this transport when your CEF log source is on-premises and cannot send data directly to Realm Cloud. The Realm Collector runs in your environment and forwards logs on behalf of the source.
Collector support ingesting
- CEF logs that are new line delimited or
- CEF formatted log wrapped in Syslog RFC-5424 over TCP or UDP.
Add a Collector Input Feed
- On the Select Transport Method step in the Add Source flow, select Collector > create a new collector or select an existing one > click Continue to add a stream.
- Configure the collector stream:
- Name: Give the stream a name.
- Protocol: Select TCP or UDP.
- Port: Use the preconfigured port or change it to suit your environment.
- Framing Trailer: Select the framing trailer that defines the delimiter for log messages.
- Click
Create Stream.
Note: Alternatively, create a stream from the Collectors page by selecting a collector and clicking Add Stream.
- Configure the collector stream:
- Name: Give the stream a name.
- Protocol: Select TCP or UDP.
- Port: Use the preconfigured port or change it to suit your environment.
- Framing Trailer: Select the framing trailer that defines the delimiter for log messages.
- Source: Select the source node in the Realm Fabric to which the logs should be forwarded to.
- Click
Create Stream.
Configure the Realm Collector
If you have not yet deployed the Realm Collector in your environment, follow the Collector setup guide first.
Once the Collector is running, follow the steps above to add a Stream to the collector.
Note: The Collector is the recommended option when your log source is behind a firewall or on a private network that cannot reach Realm Cloud endpoints.