Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
acf1cdc
Initial setup of Observability OTEL demo using Opensearch as store
YANG-DB Apr 26, 2023
c842150
Initial setup of Observability OTEL demo using Opensearch as store
YANG-DB Apr 26, 2023
b83ea99
Merge remote-tracking branch 'origin/opensearch-observability-otel' i…
YANG-DB Apr 26, 2023
9850688
Initial setup of Observability OTEL demo using Opensearch as store
YANG-DB May 1, 2023
0db3223
Merge branch 'main' into opensearch-observability-otel
YANG-DB May 2, 2023
bf41276
add curl to the basic docker O/S
YANG-DB May 3, 2023
4292136
Merge pull request #1 from open-telemetry/main
YANG-DB May 3, 2023
f0600be
add monitoring & opinionated assets for this demo
YANG-DB May 4, 2023
418d196
Merge remote-tracking branch 'origin/opensearch-observability-otel' i…
YANG-DB May 4, 2023
b0db9fc
export F/E & Load-Generator port services
YANG-DB May 8, 2023
9629fb7
Merge pull request #2 from open-telemetry/main
YANG-DB May 8, 2023
ba709f1
fix jaeger service name
YANG-DB May 9, 2023
daedfab
adding nginx as frontend proxy, fluent-bit.conf as log emitter
YANG-DB May 10, 2023
d58ed46
adding nginx & fluent-bit docs
YANG-DB May 10, 2023
a8e3f5d
Merge pull request #3 from open-telemetry/main
YANG-DB May 15, 2023
b6a018a
adding integrationbs docker-compose service for assets loading into o…
YANG-DB May 15, 2023
6031c17
Merge remote-tracking branch 'origin/opensearch-observability-otel' i…
YANG-DB May 15, 2023
92240ba
adding datasource for query prometheus
YANG-DB May 15, 2023
12d52cb
adding architecture.md including images
YANG-DB May 15, 2023
85fefce
add images and service links
YANG-DB May 16, 2023
73e2680
add jaeger-agent container name
YANG-DB May 16, 2023
f6067c6
add data-prepper support for traces ingestion & serviceMap creation
YANG-DB May 16, 2023
24d278c
fix auth issues for data-prepper
YANG-DB May 16, 2023
7410478
add documentation for different ingestion capabilities
YANG-DB May 16, 2023
d8a2abf
Merge pull request #4 from YANG-DB/otel-opensearch-data-prep
YANG-DB May 16, 2023
fe655cc
Initial setup of Observability OTEL demo using Opensearch as store
YANG-DB Apr 26, 2023
0be11cd
Initial setup of Observability OTEL demo using Opensearch as store
YANG-DB May 1, 2023
f54a011
add curl to the basic docker O/S
YANG-DB May 3, 2023
90c9a61
add monitoring & opinionated assets for this demo
YANG-DB May 4, 2023
379372a
[shippingservice] update rust version and dependencies (#865)
julianocosta89 May 3, 2023
6ae5c80
[load generator] Bump loagen dependencies (#869)
julianocosta89 May 3, 2023
a69595a
[grafana] fix demo dashboard to be compatible with spanmetrics connec…
fatsheep9146 May 3, 2023
1c28220
export F/E & Load-Generator port services
YANG-DB May 8, 2023
42537be
[kafka] remove KRaft mode support workarounds (#880)
styblope May 8, 2023
8bd25ad
enabling batch span processor metrics for quoteservice (#878)
brettmc May 8, 2023
2cc7484
Generate random errors in cartservice (#824)
alanwest May 8, 2023
54e3b6f
fix jaeger service name
YANG-DB May 9, 2023
daf0d08
adding nginx as frontend proxy, fluent-bit.conf as log emitter
YANG-DB May 10, 2023
88e0171
adding nginx & fluent-bit docs
YANG-DB May 10, 2023
d292741
adding integrationbs docker-compose service for assets loading into o…
YANG-DB May 15, 2023
6f55bd8
[currencyservice] Fix OTel C++ build and update OTel version (#886)
julianocosta89 May 12, 2023
193552f
adding datasource for query prometheus
YANG-DB May 15, 2023
febdfe1
adding architecture.md including images
YANG-DB May 15, 2023
904ed80
add images and service links
YANG-DB May 16, 2023
9cf4326
add jaeger-agent container name
YANG-DB May 16, 2023
c14aa11
add data-prepper support for traces ingestion & serviceMap creation
YANG-DB May 16, 2023
a55d74f
fix auth issues for data-prepper
YANG-DB May 16, 2023
6032e3e
add documentation for different ingestion capabilities
YANG-DB May 16, 2023
5954bdf
Merge remote-tracking branch 'origin/opensearch-observability-otel' i…
YANG-DB May 18, 2023
4d1d72e
add assets manager flast app for loading the integration assets
YANG-DB May 18, 2023
91f7a0e
remove experimental assets mgr app
YANG-DB May 18, 2023
78b38e6
Opensearch otel demo observability tutorial (#5)
YANG-DB May 23, 2023
fe8a551
Merge pull request #2 from open-telemetry/main
YANG-DB May 26, 2023
b422bc7
Update local-config.md
YANG-DB May 26, 2023
4431d7b
Update README.md
YANG-DB May 26, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
adding integrationbs docker-compose service for assets loading into o…
…pensearch / dashboards

Signed-off-by: YANGDB <[email protected]>
  • Loading branch information
YANG-DB committed May 18, 2023
commit d2927416b67aedd85da172d0b9284afb3cdbf8fa
2 changes: 1 addition & 1 deletion .env
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ EMAIL_SERVICE_PORT=6060
EMAIL_SERVICE_ADDR=http://emailservice:${EMAIL_SERVICE_PORT}

# Feature Flag Service
FEATURE_FLAG_SERVICE_PORT=8081
FEATURE_FLAG_SERVICE_PORT=8881
FEATURE_FLAG_SERVICE_ADDR=featureflagservice:${FEATURE_FLAG_SERVICE_PORT}
FEATURE_FLAG_SERVICE_HOST=feature-flag-service
FEATURE_FLAG_GRPC_SERVICE_PORT=50053
Expand Down
19 changes: 19 additions & 0 deletions add_hosts_locally.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#!/bin/bash
# Local host that are used to help developing and debugging the OTEL demo locally

# The IP address you want to associate with the hostname
IP="127.0.0.1"

# The hostname you want to associate with the IP address
OPENSEARCH_HOST="opensearch-node1"
OPENSEARCH_DASHBOARD="opensearch-dashboards"
OTEL_STORE="frontend"
OTEL_LOADER="loadgenerator"
PROMETHEUS="prometheus"

# Add the entry to the /etc/hosts file
echo "$IP $OPENSEARCH_HOST" | sudo tee -a /etc/hosts
echo "$IP $OPENSEARCH_DASHBOARD" | sudo tee -a /etc/hosts
echo "$IP $OTEL_STORE" | sudo tee -a /etc/hosts
echo "$IP $PROMETHEUS" | sudo tee -a /etc/hosts
echo "$IP $OTEL_LOADER" | sudo tee -a /etc/hosts
18 changes: 12 additions & 6 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ services:
memory: 175M
restart: unless-stopped
ports:
- "${FEATURE_FLAG_SERVICE_PORT}" # Feature Flag Service UI
- "${FEATURE_FLAG_SERVICE_PORT}:${FEATURE_FLAG_SERVICE_PORT}" # Feature Flag Service UI
- "${FEATURE_FLAG_GRPC_SERVICE_PORT}" # Feature Flag Service gRPC API
environment:
- FEATURE_FLAG_SERVICE_PORT
Expand Down Expand Up @@ -306,6 +306,7 @@ services:
- quoteservice
- recommendationservice
- shippingservice
- paymentservice
logging: *logging

# Load Generator
Expand Down Expand Up @@ -463,6 +464,7 @@ services:
- frontend
- fluentbit
- otelcol
- loadgenerator
links:
- fluentbit
logging:
Expand Down Expand Up @@ -712,7 +714,7 @@ services:
volumes:
- opensearch-data1:/usr/share/opensearch/data # Creates volume called opensearch-data1 and mounts it to the container
healthcheck:
test: ["CMD", "curl", "-f", "http://opensearch-node1:9200/_cluster/health?wait_for_status=yellow"]
test: ["CMD", "curl", "-f", "https://opensearch-node1:9200/_cluster/health?wait_for_status=yellow"]
interval: 5s
timeout: 25s
retries: 4
Expand Down Expand Up @@ -755,10 +757,14 @@ services:
- opensearch-node1

# Observability OSD Integrations
# observability-integration:
# build: ./src/integrations/Dockerfile
# depends_on:
# - opensearch-dashboards
integrations:
build:
context: ./src/integrations
dockerfile: Dockerfile
volumes:
- ./src/integrations:/integrations
depends_on:
- opensearch-dashboards

# *****
# Tests
Expand Down
14 changes: 10 additions & 4 deletions src/fluent-bit/fluent-bit.conf
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
[SERVICE]
Parsers_File parsers.conf

Log_Level info
Daemon off
[INPUT]
Name forward
Port 24224
Expand All @@ -19,12 +20,17 @@

[OUTPUT]
Name opensearch
Match nginx.access
Host opensearch
Match nginx.*
Host opensearch-node1
Port 9200
tls On
tls.verify Off
HTTP_Passwd admin
HTTP_User admin
Index sso_logs-nginx-prod
Generate_ID On
Retry_Limit False
Suppress_Type_Name On

[OUTPUT]
Name stdout
Match nginx.access
12 changes: 7 additions & 5 deletions src/integrations/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
FROM alpine:latest
FROM python:3.9

RUN apk update && apk add curl netcat-openbsd
WORKDIR .

COPY install-observability.sh /install-observability.sh
RUN chmod +x /install-observability.sh
COPY src/requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt

CMD /install-observability.sh
COPY . .

CMD [ "python", "./src/install.py" ]
8 changes: 8 additions & 0 deletions src/integrations/datasource/prometheus.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"name" : "prometheus",
"connector": "prometheus",
"properties" : {
"prometheus.uri" : "http://prometheus:9090"
},
"allowedRoles" : ["prometheus_access"]
}
10 changes: 10 additions & 0 deletions src/integrations/display/nginx-logs-dashboard-new.ndjson

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions src/integrations/indices/data-stream.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"data-stream" : ["sso_logs-nginx-prod","opensearch-prod"]
}
24 changes: 1 addition & 23 deletions src/integrations/install-observability.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,27 +12,5 @@ until nc -z -v -w30 "$host" "$port"; do
done

echo "Service is up and ready! Executing command:"
# create datasource for prometheus
echo "create datasource for prometheus"
echo "importing assets into opensearch"
exec $cmd

# create index template for logs,traces,metrics
echo "create index template for logs,traces,metrics,serviceMaps"
exec $cmd

# create data-streams for logs,traces,metrics
echo "create data-streams for logs,traces,metrics"
exec $cmd

# create email channel for alerting
echo " create email channel for alerting"
exec $cmd

# create saves searches for services KPI
echo " create saves searches for services KPI"
exec $cmd

# create Alerts queries for monitoring services
echo " create Alerts queries for monitoring services
exec $cmd

70 changes: 70 additions & 0 deletions src/integrations/mapping-components/cloud.mapping
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
{
"template": {
"mappings": {
"properties": {
"cloud": {
"properties": {
"provider": {
"type": "keyword"
},
"availability_zone": {
"type": "keyword"
},
"region": {
"type": "keyword"
},
"machine": {
"type": "object",
"properties": {
"type": {
"type": "keyword"
}
}
},
"account": {
"type": "object",
"properties": {
"id": {
"type": "keyword"
},
"name": {
"type": "keyword"
}
}
},
"service": {
"type": "object",
"properties": {
"name": {
"type": "keyword"
}
}
},
"project": {
"type": "object",
"properties": {
"id": {
"type": "keyword"
},
"name": {
"type": "keyword"
}
}
},
"instance": {
"type": "object",
"properties": {
"id": {
"type": "keyword"
},
"name": {
"type": "keyword"
}
}
}
}
}
}
}
}
}
96 changes: 96 additions & 0 deletions src/integrations/mapping-components/communication.mapping
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
{
"template": {
"mappings": {
"properties": {
"communication": {
"properties": {
"sock.family": {
"type": "keyword",
"ignore_above": 256
},
"source": {
"type": "object",
"properties": {
"address": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 1024
}
}
},
"domain": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 1024
}
}
},
"bytes": {
"type": "keyword",
"ignore_above": 256
},
"ip": {
"type": "ip"
},
"port": {
"type": "long"
},
"mac": {
"type": "keyword",
"ignore_above": 1024
},
"packets": {
"type": "long"
}
}
},
"destination": {
"type": "object",
"properties": {
"address": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 1024
}
}
},
"domain": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 1024
}
}
},
"bytes": {
"type": "keyword",
"ignore_above": 256
},
"ip": {
"type": "ip"
},
"port": {
"type": "long"
},
"mac": {
"type": "keyword",
"ignore_above": 1024
},
"packets": {
"type": "long"
}
}
}
}
}
}
}
}
}
Loading