1 - Azure Event Hubs
Axoflow can collect data from your Azure Event Hubs. At a high level, the process looks like this:
- Deploy an Axoflow Cloud Connector that will collect the data from your Event Hub. Axoflow Cloud Connector is a simple container that you can deploy into Azure, another cloud provider, or on-prem.
- The connector forwards the collected data to the OpenTelemetry connector of an AxoRouter instance. This AxoRouter can be deployed within Azure, another cloud provider, or on-prem.
- Configure a Flow on Axoflow Console that processes and routes the collected data to your destination (for example, Splunk or another SIEM).
Prerequisites
- An Azure account with an active subscription.
- A virtual machine or Kubernetes node running to deploy Axoflow Cloud Connector on.
- An AxoRouter instance that can receive data from the connector. Verify that it has an OpenTelemetry Connector (it’s enabled by default).
-
You know the IP address the AxoRouter. To find it:
- Open the Axoflow Console.
- Select the Hosts or the Topology page.
- Click on AxoRouter instance that is going to receive the logs.
- Check the Networks > Address field.
- The Axoflow Cloud Connector must be able to access the AxoRouter on the port the OpenTelemetry Connector is listening on (by default, port 4317). Depending on where the Axoflow Cloud Connector and AxoRouter are deployed, you might need to adjust firewall and ingress/egress rules in your environment.
- An Event Hubs connection string.
Steps
To collect data from Azure Event Hubs, complete the following steps.
-
Deploy an Axoflow Cloud Connector into Azure.
-
Access the Kubernetes node or virtual machine.
-
Set the following environment variable to the IP address of the AxoRouter where you want to forward the data from Event Hubs. This IP address must be accessible from the connector. You can find the IP address of AxoRouter on the Hosts > AxoRouter > Overview page.
export AXOROUTER_ENDPOINT=<AxoRouter-IP-address>
-
(Optional) By default, the connector stores positional and other persistence-related data in the
/etc/axoflow-otel-collector/storage
directory. In case you want to use a different directory, set theSTORAGE_DIRECTORY
environment variable. -
Run the following command to generate a UUID for the connector. Axoflow Console will use this ID to identify the connector.
UUID_FULL=$(uuidgen 2>/dev/null || cat /proc/sys/kernel/random/uuid 2>/dev/null || python3 -c "import uuid; print(uuid.uuid4())") export AXOCLOUDCONNECTOR_DEVICE_ID=$(echo "$UUID_FULL" | cut -d'-' -f1)
-
Set TLS encryption to secure the communication between Axoflow Cloud Connector and AxoRouter.
Configure the TLS-related settings of Axoflow Cloud Connector using the following environment variables.
Variable Required Default Description AXOROUTER_TLS_INSECURE
No false
Disables TLS encryption if set to true
AXOROUTER_TLS_INCLUDE_SYSTEM_CA_CERTS_POOL
No false
Set to true
to use the system CA certificatesAXOROUTER_TLS_CA_FILE
No - Path to the CA certificate file used to validate the certificate of AxoRouter AXOROUTER_TLS_CA_PEM
No - PEM-encoded CA certificate AXOROUTER_TLS_INSECURE_SKIP_VERIFY
No false
Set to true
to disable TLS certificate verification of AxoRouterAXOROUTER_TLS_CERT_FILE
No - Path to the certificate file of Axoflow Cloud Connector AXOROUTER_TLS_CERT_PEM
No - PEM-encoded client certificate AXOROUTER_TLS_KEY_FILE
No - Path to the client private key file of Axoflow Cloud Connector AXOROUTER_TLS_KEY_PEM
No - PEM-encoded client private key AXOROUTER_TLS_MIN_VERSION
No 1.2
Minimum TLS version to use AXOROUTER_TLS_MAX_VERSION
No - Maximum TLS version to use Note You’ll have to include the TLS-related environment variables you set in the docker command used to deploy Axoflow Cloud Connector. -
Set the
AZURE_EVENTHUB_CONNECTION_STRING
environment variable.export AZURE_EVENTHUB_CONNECTION_STRING="Endpoint=sb://<NamespaceName>.servicebus.windows.net/;SharedAccessKeyName=<KeyName>;SharedAccessKey=<KeyValue>;EntityPath=<EventHubName>"
-
Deploy the Axoflow Cloud Connector by running the following command. Also, pass the TLS-related settings you’ve set earlier.
docker run --rm \ -v "${STORAGE_DIRECTORY}":"${STORAGE_DIRECTORY}" \ -e AZURE_EVENTHUB_CONNECTION_STRING="${AZURE_EVENTHUB_CONNECTION_STRING}" \ -e AXOROUTER_ENDPOINT="${AXOROUTER_ENDPOINT}" \ -e STORAGE_DIRECTORY="${STORAGE_DIRECTORY}" \ -e <TlS-related-environment-variable>="${<TlS-related-environment-variable>}" \ -e AXOCLOUDCONNECTOR_DEVICE_ID="${AXOCLOUDCONNECTOR_DEVICE_ID}" \ ghcr.io/axoflow/axocloudconnectors:latest
The Axoflow Cloud Connector starts forwarding logs to the AxoRouter instance.
-
-
Add the appliance to Axoflow Console.
- Open the Axoflow Console and select Topology.
- Select + > Source.
- Select Azure Event Hubs.
- Enter the IP address and the FQDN of the Axoflow Cloud Connector instance.
- Select Create.
-
Create a Flow to route the data from the AxoRouter instance to a destination. You can use the Labels of this source to select messages from this source.
Labels
Axoflow automatically adds the following labels to data collected from this source:
label | value |
---|---|
vendor | microsoft |
product | azure-event-hubs |
format | otlp |
Event Hubs Audit logs labels
label | value |
---|---|
vendor | microsoft |
product | azure-event-hubs-audit |
format | otlp |
Event Hubs Provisioning logs labels
label | value |
---|---|
vendor | microsoft |
product | azure-event-hubs-provisioning |
format | otlp |
Event Hubs Signin logs labels
label | value |
---|---|
vendor | microsoft |
product | azure-event-hubs-signin |
format | otlp |
Sending data to Splunk
When sending the data collected from this source to Splunk, Axoflow uses the following sourcetype and index settings:
sourcetype | index |
---|---|
mscs:azure:eventhub:log | azure-activity |
Configure the TLS-related settings of Axoflow Cloud Connector using the following environment variables.
Variable | Required | Default | Description |
---|---|---|---|
AXOROUTER_TLS_INSECURE |
No | false |
Disables TLS encryption if set to true |
AXOROUTER_TLS_INCLUDE_SYSTEM_CA_CERTS_POOL |
No | false |
Set to true to use the system CA certificates |
AXOROUTER_TLS_CA_FILE |
No | - | Path to the CA certificate file used to validate the certificate of AxoRouter |
AXOROUTER_TLS_CA_PEM |
No | - | PEM-encoded CA certificate |
AXOROUTER_TLS_INSECURE_SKIP_VERIFY |
No | false |
Set to true to disable TLS certificate verification of AxoRouter |
AXOROUTER_TLS_CERT_FILE |
No | - | Path to the certificate file of Axoflow Cloud Connector |
AXOROUTER_TLS_CERT_PEM |
No | - | PEM-encoded client certificate |
AXOROUTER_TLS_KEY_FILE |
No | - | Path to the client private key file of Axoflow Cloud Connector |
AXOROUTER_TLS_KEY_PEM |
No | - | PEM-encoded client private key |
AXOROUTER_TLS_MIN_VERSION |
No | 1.2 |
Minimum TLS version to use |
AXOROUTER_TLS_MAX_VERSION |
No | - | Maximum TLS version to use |
2 - Windows hosts
To collect event logs from Microsoft Windows hosts, Axoflow supports both agent-based and agentless methods.
- For a collector agent, we recommend using the Axoflow OpenTelemetry Collector distribution. For details, see Windows host - agent based solution.
- To use an agentless solution, see Windows Event Collector (WEC).
Labels
Labels assigned to data received from Windows hosts depend on how AxoRouter receives the data. For details, see Windows host - agent based solution and Windows Event Collector (WEC).
Sending data to Splunk
When sending the data collected from this source to Splunk, Axoflow uses the following sourcetype and index settings:
sourcetype | index |
---|---|
windows:eventlog:snare | oswin |
windows:eventlog:xml | oswin |