Skip to content

Commit

Permalink
F1 2024 documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
rcastley committed Nov 22, 2024
1 parent 0782e31 commit 96d3596
Show file tree
Hide file tree
Showing 9 changed files with 2,637 additions and 3 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
26 changes: 26 additions & 0 deletions docs/f1_2024/configuration.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Configuration

## Number of Rigs

Usually this will be 1, but in some cases at large events multiple rigs will be used. In this case you can specify the number of rigs here.

## Observability Cloud

**Realm:** Realm name for the Observability Cloud realm you want to send data to e.g. `us1`, `eu0` etc.

**Access Token:** Observability Cloud access token (must have `ingest` capability). This can be done by following the instructions [here](https://docs.splunk.com/Observability/admin/authentication-tokens/org-tokens.html#ingest-tokens).

## Splunk Cloud/Enterprise

**HEC URL:** HEC URL for Splunk Cloud/Enterprise e.g. `https://simulator.prod.splunkcloud.com:8088`.

**HEC Token:** HEC Token for Splunk Cloud/Enterprise.

## Enable sending metrics

You are able to send the metrics to both Observability Cloud and Splunk Cloud/Enterprise. To enable either or both just tick the relevant boxes.

* Tick **Enable Observability Cloud** to enable sending data to O11y Cloud.
* Tick **Enable Splunk Cloud** to enable sending data to Splunk Cloud.

Finally click **Save Configuration**
9 changes: 9 additions & 0 deletions docs/f1_2024/dashboards.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Dashboards

## Splunk Observability Cloud

You can import the following dashboard into your Observability Cloud Organization. You will need an existing dashboard group to import the dashboard into. If you don't have one, you can create one by following the instructions [here](https://docs.splunk.com/observability/en/data-visualization/dashboards/dashboard-group.html#dashboard-group).

Download the JSON file [here](https://github.com/splunk/f1-simulator/blob/main/observability/dashboard_F1%202024%20-%20Current%20Player.json).

## Splunk Enterprise/Cloud
18 changes: 18 additions & 0 deletions docs/f1_2024/game.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# F1 2024 Telemetry Configuration

In the F1 2024 you will need to configure the telemetry settings to send data to the F1 2024 container.

On the main screen select **Game Options**, then click on **Settings** and then **Telemetry Settings**.

Here you will need to set the following:

* UDP Telemetry: **On**
* UDP Broadcast Mode: **Off**
* UDP IP Address: **IP address of the laptop/EC2 instance running the container**
* UDP Port: **20777**
* UDP Send Rate: **10Hz**
* UDP Format: **2024**

If you are running multiple simulators, you will need to repeat the above for each remebering to change the UDP Port for each simulator.

![F1 2024 Telemetry Settings](../assets/screenshots/f1_2023_telemetry_settings.png)
45 changes: 45 additions & 0 deletions docs/f1_2024/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Overview

This site will guide you on:

- Familiarize you on how to setup the local Data Drivers racing simulators to expose data
- Get data into Splunk for the simulators
- Access the Splunk Dashboards

Please reach out Slack on [#datadrivers-inh](https://splunk.slack.com/archives/C03M3BSPLN7) if you have any emergencies arise. Please email [datadrivers@splunk.com](mailto:datadrivers@splunk.com) for any feedback or feature requests.

## Pre-requisites

- Apple MacBook (Apple Silicon M1/M2)
- AWS/EC2 (Ubuntu 22.04 or above)
- t2.large (2 vCPU, 8GB RAM)
- External IP address
- Inbound access on ports `8501/tcp` and `20777-20784/udp`

### Install Docker

Docker is required to run the F1 2024 Collector and UI. The Collector will take the UDP stream from F1 2024 and transform the stream into a metric payload for Splunk Observability Cloud and Splunk Enterprise/Cloud. The UI is used to configure where to send the metrics, start/stop the Collector(s) and change the name of the current driver.

The following instructions will install Docker on your laptop or EC2 instance:

=== "Mac OS"

[Download Docker Desktop for Mac with Apple Silicon](https://desktop.docker.com/mac/main/arm64/Docker.dmg?utm_source=docker&utm_medium=webreferral&utm_campaign=docs-driven-download-mac-arm64)

=== "Ubuntu"

```bash
sudo apt remove docker docker-engine docker.io containerd runc
sudo apt update
sudo apt install ca-certificates curl gnupg -y
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
sudo usermod -aG docker $USER
```
45 changes: 45 additions & 0 deletions docs/f1_2024/setup.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Running the F1 2023 container

## Docker

The following Docker command will run the F1 2023 container (support for `amd/64` and `arm/64` architectures) and expose the required ports for the UI and UDP listener(s):

```bash
docker run --name f1_2024 -d \
-p 8501:8501/tcp \
-p 20777:20777/udp \
ghcr.io/splunk/f1_2024:latest
```

The above will run the F1 2023 container in the background and expose port `8501` for the UI and port `20777` for the UDP listener.

!!! note

If you are using more than one simulator you can expose up to **8 UDP** ports, for example, if you have 4 simulators running you would start the container by running:

```bash
docker run --name f1_2024 -d \
-p 8501:8501/tcp \
-p 20777:20777/udp \
-p 20778:20778/udp \
-p 20779:20779/udp \
-p 20780:20780/udp \
ghcr.io/splunk/f1_2024:latest
```

## Validation

To validate the container is running correctly you can run the following command:

=== "Command"

``` bash
docker port f1_2024
```

=== "Output"

``` bash
8501/tcp -> 0.0.0.0:8501
20777/udp -> 0.0.0.0:20777
```
7 changes: 7 additions & 0 deletions docs/f1_2024/ui.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# F1 2024 Web Interface

To access the UI open a browser and navigate to `http://<ip_address>:8501` where `<ip_address>` is the IP address of the laptop/EC2 instance running the container.

Here you can configure where the game data is going to be sent.

![Listener Down](../assets/screenshots/f1_2024_web_ui_settings.png)
12 changes: 9 additions & 3 deletions mkdocs.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
site_name: Splunk Data Drivers - F1 2023
site_name: Splunk Data Drivers
repo_name: splunk/f1-simulator
repo_url: https://github.com/splunk/f1-simulator
edit_uri: edit/main/docs
Expand All @@ -14,7 +14,7 @@ theme:
features:
- navigation.instant
- navigation.tabs
- toc.integrate
#- toc.integrate
custom_dir: material/overrides
font:
code: Roboto Mono
Expand All @@ -39,6 +39,12 @@ nav:
- Configuration: f1_2023/configuration.md
#- Game Configuration: f1_2023/game.md
- Dashboards: f1_2023/dashboards.md
- F1 2024 Collector:
- Pre-requisites: f1_2024/index.md
- Setup: f1_2024/setup.md
- Accessing the Web Interface: f1_2024/ui.md
- Configuration: f1_2024/configuration.md
- Dashboards: f1_2024/dashboards.md
- F1 2023 Event Guide:
- Game Configuration:
- Telemetry: event_guide/telemetry.md
Expand Down Expand Up @@ -70,4 +76,4 @@ plugins:
extra_css:
- stylesheets/custom.css

copyright: Copyright &copy; 2023 - Splunk Inc.
copyright: Copyright &copy; 2024 - Splunk Inc.
Loading

0 comments on commit 96d3596

Please sign in to comment.