Skip to content

Commit 73cfb67

Browse files
authored
Add/integrations (#132)
* added Integration page for Vercel * added Integration page for Heroku * moved database pages under database section * resolved 404s * fixed heroku page * added mongodb integration page * added integration page for redis * added integration page for zookeeper * added Integration page for Cassandra * added integration page for Aerospike * added integration page for MySQL * made fixes to index headers * added Integration page for Oracle --------- Co-authored-by: simranquirky <simranquirky>
1 parent 66d2788 commit 73cfb67

24 files changed

+828
-3
lines changed

docs/integration/database/.pages

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,11 @@
11
nav:
2-
2+
- Database Integrations Overview: index.md
33
- PostgreSQL: postgresql.md
4+
- Oracle Database: oracle.md
45
- Snowflake: snowflake.md
6+
- MySQL: mysql.md
7+
- MongoDB: mongodb.md
8+
- Redis: redis.md
9+
- Apache Zookeeper: zookeeper.md
10+
- Cassandra: cassandra.md
11+
- Aerospike: aerospike.md
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
---
2+
title: Aerospike Metrics Integration Guide
3+
description: Learn how to integrate Aerospike with OpenObserve using the OpenTelemetry Collector.
4+
---
5+
# Aerospike Integration with OpenObserve
6+
7+
This guide provides step-by-step instructions to collect and monitor Aerospike metrics using OpenTelemetry Collector and forward them to OpenObserve.
8+
9+
## Overview
10+
11+
Aerospike is a high-performance, distributed database designed for **low-latency, real-time data processing**.
12+
By integrating **Aerospike with OpenTelemetry and OpenObserve**, you can:
13+
14+
- Detect performance bottlenecks
15+
- Gain insights into resource usage
16+
- Monitor database health and metrics in real time
17+
18+
## Steps to Integrate
19+
20+
??? "Prerequisites"
21+
- Running **Aerospike instance(s)**
22+
- OpenObserve account ([Cloud](https://cloud.openobserve.ai/web/) or [Self-Hosted](../../../quickstart/#self-hosted-installation))
23+
24+
??? "Step 1: Install OpenTelemetry Collector Contrib"
25+
26+
Download and install the latest release of `otelcol-contrib`:
27+
28+
```bash
29+
curl --proto '=https' --tlsv1.2 -fOL https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v0.115.1/otelcol-contrib_0.115.1_darwin_arm64.tar.gz
30+
tar -xvf otelcol-contrib_0.115.1_darwin_arm64.tar.gz
31+
sudo mv otelcol-contrib /usr/local/bin/
32+
otelcol-contrib --version
33+
```
34+
35+
> Replace `v0.115.1` with the latest version for your OS/architecture.
36+
37+
??? "Step 2: Configure the Collector"
38+
39+
Create a file named `config.yaml` with the following configuration:
40+
41+
```yaml
42+
receivers:
43+
aerospike:
44+
endpoint: "localhost:3000"
45+
46+
processors:
47+
batch:
48+
send_batch_size: 10000
49+
send_batch_max_size: 11000
50+
timeout: 10s
51+
52+
exporters:
53+
otlphttp/openobserve:
54+
endpoint: https://<your-openobserve-endpoint>/api/default
55+
headers:
56+
Authorization: Basic <your_auth_token>
57+
stream-name: default
58+
59+
service:
60+
pipelines:
61+
metrics:
62+
receivers: [aerospike]
63+
processors: [batch]
64+
exporters: [otlphttp/openobserve]
65+
```
66+
67+
Replace `<your-openobserve-endpoint>` and `<your_auth_token>` with your OpenObserve details.
68+
69+
![OpenObserve Redis Creds](../images/databases/otel-metrics-cred.png)
70+
71+
72+
??? "Step 3: Run the Collector"
73+
74+
Start the Collector with your configuration:
75+
76+
```bash
77+
otelcol-contrib --config /path/to/config.yaml
78+
```
79+
80+
![Run the Collector](../images/databases/otel-collector.png)
81+
82+
??? "Step 4: Visualize in OpenObserve"
83+
84+
1. Open **OpenObserve → Streams** and select your metrics stream.
85+
![Visualize Aerospike Metrics](../images/databases/aerospike-stream.png)
86+
2. Explore the metrics, run queries , create dashboards for insights
87+
![Visualize Aerospike Metrics](../images/databases/aerospike-metric-explore.png)
88+
89+
90+
## Troubleshooting
91+
92+
??? "Collector not starting"
93+
- Check the logs for misconfigurations:
94+
95+
```journalctl -u otel-collector -f
96+
```
97+
98+
??? "No metrics in OpenObserve"
99+
100+
- Verify Aerospike is running: systemctl status aerospike
101+
- Check if the Aerospike receiver is binding to the correct port (default: 3000).
102+
- Confirm your OPENOBSERVE_TOKEN and OPENOBSERVE_STREAM are correct.
Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
---
2+
title: Cassandra Metrics and Logs Integration Guide
3+
description: This guide explains how to monitor Apache Cassandra by collecting metrics via the OpenTelemetry JMX receiver and logs via file-based collection, and forward them to OpenObserve for visualization and analysis.
4+
---
5+
6+
# Integration with Cassandra Metrics and Logs
7+
8+
This guide provides step-by-step instructions to collect and monitor Apache Cassandra metrics and logs using **OpenTelemetry Collector Contrib** and forward them to OpenObserve.
9+
10+
## Overview
11+
12+
Apache Cassandra is a highly scalable, distributed NoSQL database designed for applications that demand high availability and low-latency read/write operations.
13+
14+
To effectively monitor Cassandra, we will set up OpenTelemetry (OTel) to collect both metrics and logs. OpenTelemetry’s JMX receiver helps gather JVM and Cassandra-specific metrics, while file-based log collection ensures log visibility. The collected logs and metrics will then be forwarded to Openobserve.
15+
16+
17+
## Steps to Integrate
18+
19+
??? "Prerequisites"
20+
- Running **Apache Cassandra** instance(s)
21+
- OpenObserve account ([Cloud](https://cloud.openobserve.ai/web/) or [Self-Hosted](../../../quickstart/#self-hosted-installation))
22+
23+
??? "Step 1: Download OpenTelemetry JMX Metrics JAR"
24+
25+
1. The JMX receiver is used to gather Cassandra and JVM metrics. Install it using the command:
26+
27+
```bash
28+
wget https://github.com/open-telemetry/opentelemetry-java-contrib/releases/download/v1.32.0/opentelemetry-jmx-metrics.jar -O /opt/opentelemetry-java-contrib-jmx-metrics.jar
29+
```
30+
31+
??? "Step 2: Configure JMX Remote Access in Cassandra"
32+
33+
1. Edit `/etc/cassandra/cassandra-env.sh` and add:
34+
```bash
35+
JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.port=9000"
36+
JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.rmi.port=9000"
37+
JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.authenticate=false"
38+
JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.ssl=false"
39+
```
40+
41+
2. Restart Cassandra:
42+
```bash
43+
systemctl restart cassandra
44+
```
45+
> Note: The file location may vary depending on your system.
46+
47+
??? "Step 3: Configure the OpenTelemetry Collector"
48+
49+
1. Create or update `/etc/otel-collector-config.yaml`:
50+
51+
```yaml
52+
receivers:
53+
jmx:
54+
jar_path: /opt/opentelemetry-java-contrib-jmx-metrics.jar
55+
endpoint: localhost:9000
56+
target_system: cassandra,jvm
57+
collection_interval: 60s
58+
59+
filelog/std:
60+
include:
61+
- /var/log/cassandra/*.log #File location varies, example for macOS: /opt/homebrew/var/log/cassandra/*.log
62+
start_at: beginning
63+
64+
otlp:
65+
protocols:
66+
grpc:
67+
http:
68+
69+
processors:
70+
resourcedetection:
71+
detectors: ["system"]
72+
system:
73+
hostname_sources: ["os"]
74+
batch:
75+
76+
exporters:
77+
otlphttp/openobserve:
78+
endpoint: https://<your-openobserve-endpoint>/api/default
79+
headers:
80+
Authorization: Basic <your_auth_token>
81+
stream-name: cassandra
82+
83+
service:
84+
pipelines:
85+
metrics:
86+
receivers: [jmx]
87+
processors: [resourcedetection, batch]
88+
exporters: [otlphttp/openobserve]
89+
90+
logs:
91+
receivers: [filelog/std, otlp]
92+
processors: [batch]
93+
exporters: [otlphttp/openobserve]
94+
```
95+
96+
Replace `<your-openobserve-endpoint>` and `<your_auth_token>` with values from OpenObserve’s **Data Sources → Metrics/Logs → Otel Collector**.
97+
98+
![OpenObserve Cassandra Creds](../images/databases/otel-metrics-cred.png)
99+
100+
??? "Step 4: Restart the OpenTelemetry Collector"
101+
102+
1. Restart OpenTelemetry Collector
103+
```bash
104+
systemctl restart otel-collector
105+
```
106+
107+
2. Verify the service:
108+
```bash
109+
systemctl status otel-collector
110+
```
111+
112+
??? "Step 5: Visualize in OpenObserve"
113+
114+
1. Go to **OpenObserve → Streams**.
115+
2. Explore metrics such as node health, read/write latency, and JVM performance.
116+
![Visualize Cassandra Metrics](../images/databases/cassandra-metrics.png)
117+
3. Explore logs to debug errors, failed queries, etc.
118+
![Visualize Cassandra Logs](../images/databases/cassandra-logs.png)
119+
120+
121+
## Troubleshooting
122+
123+
??? "No JMX Metrics Collected"
124+
- Ensure JMX port (9000) is open and Cassandra was restarted after enabling JMX.
125+
- Verify `jar_path` points to the correct JMX metrics jar.
126+
127+
??? "Logs Not Appearing"
128+
- Confirm Cassandra logs exist under `/var/log/cassandra/`.
129+
- Ensure `filelog` receiver has read permissions.
130+
131+
??? "No Data in OpenObserve"
132+
- Double-check exporter endpoint and token.
133+
- Ensure Collector can reach OpenObserve.
134+
- Inspect Collector logs for errors.
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
---
2+
title: MongoDB Metrics Integration Guide
3+
description: This guide explains how to monitor MongoDB metrics using the OpenTelemetry Collector with the MongoDB receiver, and forward them to OpenObserve for visualization and analysis.
4+
---
5+
6+
# Integration with MongoDB Metrics
7+
8+
This guide provides step-by-step instructions to collect and monitor MongoDB metrics using **OpenTelemetry Collector Contrib** and forward them to OpenObserve.
9+
10+
## Overview
11+
12+
To effectively monitor MongoDB, we will utilize the OpenTelemetry Collector with the MongoDB receiver. This setup allows us to collect metrics from MongoDB instances and push them to OpenObserve, enabling us to visualize performance data and respond proactively to issues.
13+
14+
Supported MongoDB versions: **4.0+**.
15+
16+
## Steps to Integrate
17+
18+
??? "Prerequisites"
19+
- Running **MongoDB instance(s)**
20+
- OpenObserve account ([Cloud](https://cloud.openobserve.ai/web/) or [Self-Hosted](../../../quickstart/#self-hosted-installation))
21+
22+
??? "Step 1: Install OpenTelemetry Collector Contrib"
23+
24+
Download and install the latest release of `otelcol-contrib`:
25+
26+
```bash
27+
curl --proto '=https' --tlsv1.2 -fOL https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v0.115.1/otelcol-contrib_0.115.1_darwin_arm64.tar.gz
28+
tar -xvf otelcol-contrib_0.115.1_darwin_arm64.tar.gz
29+
sudo mv otelcol-contrib /usr/local/bin/
30+
otelcol-contrib --version
31+
```
32+
33+
> Replace `v0.115.1` with the latest version for your OS/architecture.
34+
35+
??? "Step 2: Configure the Collector"
36+
37+
Create a file named `config.yaml` with the following configuration:
38+
39+
```yaml
40+
receivers:
41+
mongodb:
42+
hosts:
43+
- endpoint: localhost:27017
44+
username: otel #the user with clusterMonitor permissions
45+
password: password123 #password
46+
collection_interval: 60s
47+
initial_delay: 1s
48+
tls:
49+
insecure: true
50+
insecure_skip_verify: true
51+
52+
processors:
53+
batch:
54+
send_batch_size: 10000
55+
timeout: 10s
56+
57+
exporters:
58+
otlphttp/openobserve:
59+
endpoint: https://<your-openobserve-endpoint>/api/default
60+
headers:
61+
Authorization: Basic <your_auth_token>
62+
stream-name: default
63+
64+
service:
65+
pipelines:
66+
metrics:
67+
receivers: [mongodb]
68+
processors: [batch]
69+
exporters: [otlphttp/openobserve]
70+
```
71+
72+
Replace `<your-openobserve-endpoint>` and `<your_auth_token>` with your actual OpenObserve API endpoint and authentication token, which you can find in your Data Sources -> Databases -> MongoDB
73+
74+
![Collect OpenObserve Credentials](../images/databases/otel-metrics-cred.png)
75+
76+
??? "Step 3: Run the Collector"
77+
78+
Start the Collector with your configuration:
79+
80+
```bash
81+
otelcol-contrib --config /path/to/config.yaml
82+
```
83+
![Run the Collector](../images/databases/otel-collector.png)
84+
85+
??? "Step 4: Visualize in OpenObserve"
86+
87+
1. Open **OpenObserve → Streams**. Select your metrics stream .
88+
![Visualize in OpenObserve](../images/databases/visualize-mongo-metrics.png)
89+
2. Explore MongoDB metrics in dashboards or create custom queries.
90+
91+
## Troubleshooting
92+
93+
??? "Authentication Errors"
94+
- Double-check username/password in config.
95+
96+
??? "Connection Refused"
97+
- Verify MongoDB is running and accessible on the specified port.
98+
- Check firewall or container networking settings.
99+
100+
??? "TLS Issues"
101+
- If using TLS, configure valid certs.
102+
- Use `tls.insecure_skip_verify: true` for testing only.
103+
104+
??? "No Metrics in OpenObserve"
105+
- Check Collector logs for errors.
106+
- Confirm `endpoint` and `Authorization` headers in the exporter are correct.
107+
- Verify OpenObserve is reachable from the Collector.

0 commit comments

Comments
 (0)