This project provides a utility to capture SBS-1 format messages from dump1090's output and then forwards them to SentinelOne's DataSet for further analysis and storage.
- About dump1090 and SBS-1
- About DataSet (formerly Scalyr)
- Setting Up dump1090 with rtl_sdr
- Requirements
- Usage
- Running Services with pmtr
- Setting up pmtr as a launchd service
- Contributions
- License
dump1090
is a popular ADS-B (Automatic Dependent Surveillance-Broadcast) Mode S decoder built specifically for RTL-SDR devices. When run, it outputs aircraft data in SBS-1 format on port 30003. This format provides real-time information about airborne aircraft, including details like speed, position, altitude, and more.
SentinelOne's DataSet, formerly known as Scalyr, offers high-speed logging and server metrics for engineers. It's known for its lightning-fast search capabilities. Engineers often rely on DataSet to troubleshoot server issues, understand application behaviors, and ensure smooth operations.
To get dump1090 producing SBS-1 messages from an RTL-SDR:
-
Ensure you have an RTL-SDR dongle.
-
Install
dump1090
:sudo apt-get install dump1090
-
Run
dump1090
in interactive mode:dump1090 --interactive
-
SBS-1 formatted data will be available on port
30003
. Ensure no firewall or other network restrictions block this port.
- Go
- dump1090 (or a derivative, like dump1090-fa or dump1090-mutability) or PiAware
-
Clone this repository.
-
If not installed, install Go.
-
Run:
go build
An executable adsb-go-dataset
will be created.
You can run the code by executing this binary:
./adsb-go-dataset --dataset_api_write_token=YOUR_TOKEN --dump1090_host=utilities.33901.cloud
You can also set the required configuration by environment variable:
DATASET_API_WRITE_TOKEN=YOUR_TOKEN DUMP1090_HOST=utilities.33901.cloud ./adsb-go-dataset
Ensure dump1090
is running and emitting SBS-1 messages on port 30003
.
pmtr
is a versatile tool for running background services. It restarts services that fail and can manage both dump1090
and this project as services.
Create a pmtr.conf
configuration file in /etc
:
job {
name dump1090
cmd /path/to/dump1090
}
job {
name adsb-go-dataset
cmd /path/to/adsb-go-dataset --dataset_api_write_token=YOUR_TOKEN --dump1090_host=utilities.33901.cloud --dump1090_port=30003
}
Replace /path/to/
with the appropriate paths.
Start the services with:
pmtr -c /etc/pmtr.conf
Both dump1090
and the SBS-1 forwarder will now run as managed background services. pmtr
will restart them if they fail.
Option 1: RPM
A RHEL/CentOS 7 x86_64 RPM package for pmtr can be found here.
Option 2: Build from source
-
Install the prerequisite tools:
Ubuntu:
sudo apt install git build-essential autoconf automake
RedHat/CentOS:
sudo yum install git gcc autoconf automake make
-
Clone pmtr:
git clone https://github.com/troydhanson/pmtr.git
-
Build and install:
cd pmtr ./autogen.sh ./configure --bindir=/usr/bin --sysconfdir=/etc make sudo make install sudo touch /etc/pmtr.conf
-
Set up initscript to start pmtr automatically at boot:
cd initscripts sudo ./setup-initscript --auto
This is where pmtr reports on starting jobs, or on any errors in parsing the configuration file. Any output generated by the jobs also appears in the syslog by default.
Pull requests are welcome! Please ensure that contributions adhere to the current coding style.
This code is licensed under the MIT License.