OpenTelemetry Binary
Set up and configure the Scout Collector through binary downloaded from releases page.
Overview​
This guide demonstrates how to set up and configure the Scout Collector binary for collecting and exporting telemetry data to base14 Scout.
- Binary installation and configuration
- Log collection setup with file monitoring
- Secure data export with OAuth2 authentication
- Sample application integration
Key Features​
- Easy Installation: Direct binary download and setup
- Flexible Configuration: YAML-based configuration
- Secure Authentication: Built-in OAuth2 support
- Data Processing: Log filtering and batching
- Real-time Monitoring: Live log collection and export
Prerequisites​
curlcommand-line toolNode.js(for running the example application)- A base14 Scout account with valid authentication credentials
Install the collector binary​
The collector binary can be downloaded from the releases page.
An example of how to download and extract the collector binary is shown below for macos arm64.
curl --proto '=https' --tlsv1.2 -fOL https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v0.127.0/otelcol_0.127.0_darwin_arm64.tar.gz
tar -xvf otelcol_0.127.0_darwin_arm64.tar.gz
Example configuration​
An example config can be seen to collect logs from a file to export to Scout
extensions:
oauth2client:
client_id: demo
client_secret: 01JM94R5DPSZXBGK5QA4D329N5
endpoint_params:
audience: b14collector
token_url: https://id.b14.dev/realms/playground/protocol/openid-connect/token
exporters:
debug:
otlphttp/auth:
endpoint: https://otel.play.b14.dev/01jm94npk4h8ys63x1kzw2bjes/otlp
auth:
authenticator: oauth2client
processors:
batch:
redaction:
blocked_values:
# MasterCard number
- "(5[1-5][0-9]{14})"
summary: debug
receivers:
# Data sources: traces, metrics, logs
filelog:
include: [ "app.log" ]
service:
extensions: [ oauth2client ]
pipelines:
logs:
receivers: [ filelog ]
processors: [ batch ]
exporters: [ otlphttp/auth, debug ]
Running the collector​
./otelcol --config ./config.yaml
Run a Sample Node.js Application​
Let's create a simple Node.js application that generates structured logs using
the pino logging library. The Scout Collector will collect these logs and
forward them to Scout.
1. Install Dependencies​
First, install the pino logging library, which provides structured JSON
logging capabilities:
npm install pino
2. Create the Application​
Create a new file called main.js with the following code that demonstrates
basic logging functionality:
const logger = require("pino")();
logger.info("hello world");
const child = logger.child({ a: "property" });
child.info("hello child!");
3. Run the Application​
Execute the application and redirect its output to app.log. The OpenTelemetry
Collector will monitor this file as configured in the previous section:
node main.js > app.log
View Logs in base14 Scout​
After running the application, you can view the collected logs in Scout:
- Open your base14 Scout dashboard
- Navigate to the
Dashboards > Library > Logs Viewin the main menu - You should see the following log entries:
- A "hello world" message from the root logger
- A "hello child!" message with an additional property
{a: 'property'}
The logs will appear with timestamps and other metadata added by the Scout Collector.
Related Guides​
- OTel Collector Configuration - Advanced configuration examples
- Scout Exporter Configuration - Detailed authentication setup
- Linux Installation - Production deployment with systemd