From a1846c008af64de097dadd26572447fb5218ee84 Mon Sep 17 00:00:00 2001 From: CheetoDa <31571545+Calm-Rock@users.noreply.github.com> Date: Thu, 24 Apr 2025 02:08:59 +0530 Subject: [PATCH] chore: added new datasources (#7659) * chore: added new datasources * chore: added integrations to json * chore: added quickstart * feat: handle internal redirects * chore: update onboarding-config-with-links.json * Update onboarding-config-with-links.json --------- Co-authored-by: Yunus M --- frontend/public/Logos/amazon-msk.svg | 1 + frontend/public/Logos/api-gateway.svg | 18 + frontend/public/Logos/aws-alb.svg | 1 + frontend/public/Logos/celery.svg | 1 + frontend/public/Logos/clickhouse.svg | 31 ++ frontend/public/Logos/confluent-kafka.svg | 30 ++ frontend/public/Logos/elasticache.svg | 18 + frontend/public/Logos/kafka.svg | 1 + frontend/public/Logos/mongo.svg | 5 + frontend/public/Logos/nginx.svg | 2 + frontend/public/Logos/nuxtjs.svg | 1 + frontend/public/Logos/postgresql.svg | 2 + frontend/public/Logos/quickstart.svg | 21 + frontend/public/Logos/reactjs.svg | 1 + frontend/public/Logos/redis.svg | 2 + frontend/public/Logos/strimzi.svg | 1 + .../AddDataSource/AddDataSource.tsx | 60 ++- .../onboarding-config-with-links.json | 384 +++++++++++++++++- 18 files changed, 557 insertions(+), 23 deletions(-) create mode 100644 frontend/public/Logos/amazon-msk.svg create mode 100644 frontend/public/Logos/api-gateway.svg create mode 100644 frontend/public/Logos/aws-alb.svg create mode 100644 frontend/public/Logos/celery.svg create mode 100644 frontend/public/Logos/clickhouse.svg create mode 100644 frontend/public/Logos/confluent-kafka.svg create mode 100644 frontend/public/Logos/elasticache.svg create mode 100644 frontend/public/Logos/kafka.svg create mode 100644 frontend/public/Logos/mongo.svg create mode 100644 frontend/public/Logos/nginx.svg create mode 100644 frontend/public/Logos/nuxtjs.svg create mode 100644 frontend/public/Logos/postgresql.svg create mode 100644 frontend/public/Logos/quickstart.svg create mode 100644 frontend/public/Logos/reactjs.svg create mode 100644 frontend/public/Logos/redis.svg create mode 100644 frontend/public/Logos/strimzi.svg diff --git a/frontend/public/Logos/amazon-msk.svg b/frontend/public/Logos/amazon-msk.svg new file mode 100644 index 0000000000..60883539fb --- /dev/null +++ b/frontend/public/Logos/amazon-msk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/public/Logos/api-gateway.svg b/frontend/public/Logos/api-gateway.svg new file mode 100644 index 0000000000..19247ff8f7 --- /dev/null +++ b/frontend/public/Logos/api-gateway.svg @@ -0,0 +1,18 @@ + + + Icon-Architecture/64/Arch_ Amazon-API-Gateway_64 + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/frontend/public/Logos/aws-alb.svg b/frontend/public/Logos/aws-alb.svg new file mode 100644 index 0000000000..d2c8b0ba6f --- /dev/null +++ b/frontend/public/Logos/aws-alb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/public/Logos/celery.svg b/frontend/public/Logos/celery.svg new file mode 100644 index 0000000000..24178cd306 --- /dev/null +++ b/frontend/public/Logos/celery.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/public/Logos/clickhouse.svg b/frontend/public/Logos/clickhouse.svg new file mode 100644 index 0000000000..db5047ec71 --- /dev/null +++ b/frontend/public/Logos/clickhouse.svg @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/frontend/public/Logos/confluent-kafka.svg b/frontend/public/Logos/confluent-kafka.svg new file mode 100644 index 0000000000..65c47cbd81 --- /dev/null +++ b/frontend/public/Logos/confluent-kafka.svg @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/frontend/public/Logos/elasticache.svg b/frontend/public/Logos/elasticache.svg new file mode 100644 index 0000000000..640f358200 --- /dev/null +++ b/frontend/public/Logos/elasticache.svg @@ -0,0 +1,18 @@ + + + + Icon-Architecture/64/Arch_Amazon-ElastiCache_64 + Created with Sketch. + + + + + + + + + + + + + \ No newline at end of file diff --git a/frontend/public/Logos/kafka.svg b/frontend/public/Logos/kafka.svg new file mode 100644 index 0000000000..6f3114a400 --- /dev/null +++ b/frontend/public/Logos/kafka.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/public/Logos/mongo.svg b/frontend/public/Logos/mongo.svg new file mode 100644 index 0000000000..65c4a12504 --- /dev/null +++ b/frontend/public/Logos/mongo.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/frontend/public/Logos/nginx.svg b/frontend/public/Logos/nginx.svg new file mode 100644 index 0000000000..27062a8304 --- /dev/null +++ b/frontend/public/Logos/nginx.svg @@ -0,0 +1,2 @@ + +file_type_nginx \ No newline at end of file diff --git a/frontend/public/Logos/nuxtjs.svg b/frontend/public/Logos/nuxtjs.svg new file mode 100644 index 0000000000..186522b6d2 --- /dev/null +++ b/frontend/public/Logos/nuxtjs.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/public/Logos/postgresql.svg b/frontend/public/Logos/postgresql.svg new file mode 100644 index 0000000000..ecfcb48da4 --- /dev/null +++ b/frontend/public/Logos/postgresql.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/frontend/public/Logos/quickstart.svg b/frontend/public/Logos/quickstart.svg new file mode 100644 index 0000000000..2c6b15cecc --- /dev/null +++ b/frontend/public/Logos/quickstart.svg @@ -0,0 +1,21 @@ + + + + + + + + + + \ No newline at end of file diff --git a/frontend/public/Logos/reactjs.svg b/frontend/public/Logos/reactjs.svg new file mode 100644 index 0000000000..eaed21a29c --- /dev/null +++ b/frontend/public/Logos/reactjs.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/public/Logos/redis.svg b/frontend/public/Logos/redis.svg new file mode 100644 index 0000000000..ed312206b9 --- /dev/null +++ b/frontend/public/Logos/redis.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/frontend/public/Logos/strimzi.svg b/frontend/public/Logos/strimzi.svg new file mode 100644 index 0000000000..dea789a675 --- /dev/null +++ b/frontend/public/Logos/strimzi.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/src/container/OnboardingV2Container/AddDataSource/AddDataSource.tsx b/frontend/src/container/OnboardingV2Container/AddDataSource/AddDataSource.tsx index f776151d2d..779c32f9d2 100644 --- a/frontend/src/container/OnboardingV2Container/AddDataSource/AddDataSource.tsx +++ b/frontend/src/container/OnboardingV2Container/AddDataSource/AddDataSource.tsx @@ -71,6 +71,7 @@ interface Entity { tags: string[]; relatedSearchKeywords?: string[]; link?: string; + internalRedirect?: boolean; } const setupStepItemsBase = [ @@ -203,29 +204,39 @@ function OnboardingAddDataSource(): JSX.Element { }; const handleSelectDataSource = (dataSource: Entity): void => { - setSelectedDataSource(dataSource); - setSelectedFramework(null); - setSelectedEnvironment(null); - - logEvent( - `${ONBOARDING_V3_ANALYTICS_EVENTS_MAP?.BASE}: ${ONBOARDING_V3_ANALYTICS_EVENTS_MAP?.DATA_SOURCE_SELECTED}`, - { - dataSource: dataSource.label, - }, - ); - - if (dataSource.question) { - setHasMoreQuestions(true); - - setTimeout(() => { - handleScrollToStep(question2Ref); - }, 100); + if (dataSource && dataSource.internalRedirect && dataSource.link) { + logEvent( + `${ONBOARDING_V3_ANALYTICS_EVENTS_MAP?.BASE}: ${ONBOARDING_V3_ANALYTICS_EVENTS_MAP?.DATA_SOURCE_SELECTED}`, + { + dataSource: dataSource.label, + }, + ); + history.push(dataSource.link); } else { - setHasMoreQuestions(false); + setSelectedDataSource(dataSource); + setSelectedFramework(null); + setSelectedEnvironment(null); - updateUrl(dataSource?.link || '', null); + logEvent( + `${ONBOARDING_V3_ANALYTICS_EVENTS_MAP?.BASE}: ${ONBOARDING_V3_ANALYTICS_EVENTS_MAP?.DATA_SOURCE_SELECTED}`, + { + dataSource: dataSource.label, + }, + ); - setShowConfigureProduct(true); + if (dataSource.question) { + setHasMoreQuestions(true); + + setTimeout(() => { + handleScrollToStep(question2Ref); + }, 100); + } else { + setHasMoreQuestions(false); + + updateUrl(dataSource?.link || '', null); + + setShowConfigureProduct(true); + } } }; @@ -431,6 +442,15 @@ function OnboardingAddDataSource(): JSX.Element { case 'infra-monitoring-k8s': history.push(ROUTES.INFRASTRUCTURE_MONITORING_KUBERNETES); break; + case 'messaging-queues-kafka': + history.push(ROUTES.MESSAGING_QUEUES_KAFKA); + break; + case 'messaging-queues-celery': + history.push(ROUTES.MESSAGING_QUEUES_CELERY_TASK); + break; + case 'integrations': + history.push(ROUTES.INTEGRATIONS); + break; default: history.push(ROUTES.APPLICATION); } diff --git a/frontend/src/container/OnboardingV2Container/onboarding-configs/onboarding-config-with-links.json b/frontend/src/container/OnboardingV2Container/onboarding-configs/onboarding-config-with-links.json index 7a4c091c0c..f760f21c79 100644 --- a/frontend/src/container/OnboardingV2Container/onboarding-configs/onboarding-config-with-links.json +++ b/frontend/src/container/OnboardingV2Container/onboarding-configs/onboarding-config-with-links.json @@ -1,4 +1,17 @@ [ + { + "dataSource": "quickstart", + "label": "Start with Demo Data in <5 minutes", + "tags": ["quickstart"], + "module": "apm", + "relatedSearchKeywords": [ + "send data", + "demo", + "quickstart" + ], + "imgUrl": "/Logos/quickstart.svg", + "link": "https://signoz.io/docs/cloud/quickstart/" + }, { "dataSource": "java", "entityID": "dataSource", @@ -372,6 +385,8 @@ "nestjs", "angular", "nextjs", + "reactjs", + "nuxtjs", "js", "typescript", "ts" @@ -537,6 +552,68 @@ } ] } + }, + { + "key": "reactjs", + "label": "ReactJS", + "imgUrl": "/Logos/reactjs.svg", + "link": "https://signoz.io/docs/instrumentation/opentelemetry-reactjs/", + "question": { + "desc": "What is your Environment?", + "type": "select", + "entityID": "environment", + "options": [ + { + "key": "vm", + "label": "VM", + "imgUrl": "/Logos/vm.svg", + "link": "https://signoz.io/docs/instrumentation/opentelemetry-reactjs/" + }, + { + "key": "k8s", + "label": "Kubernetes", + "imgUrl": "/Logos/kubernetes.svg", + "link": "https://signoz.io/docs/instrumentation/opentelemetry-reactjs/" + }, + { + "key": "windows", + "label": "Windows", + "imgUrl": "/Logos/windows.svg", + "link": "https://signoz.io/docs/instrumentation/opentelemetry-reactjs/" + } + ] + } + }, + { + "key": "nuxtjs", + "label": "NuxtJS", + "imgUrl": "/Logos/nuxtjs.svg", + "link": "https://signoz.io/docs/instrumentation/opentelemetry-nuxtjs/", + "question": { + "desc": "What is your Environment?", + "type": "select", + "entityID": "environment", + "options": [ + { + "key": "vm", + "label": "VM", + "imgUrl": "/Logos/vm.svg", + "link": "https://signoz.io/docs/instrumentation/opentelemetry-nuxtjs/" + }, + { + "key": "k8s", + "label": "Kubernetes", + "imgUrl": "/Logos/kubernetes.svg", + "link": "https://signoz.io/docs/instrumentation/opentelemetry-nuxtjs/" + }, + { + "key": "windows", + "label": "Windows", + "imgUrl": "/Logos/windows.svg", + "link": "https://signoz.io/docs/instrumentation/opentelemetry-nuxtjs/" + } + ] + } } ] } @@ -1703,7 +1780,8 @@ "rds logs to signoz" ], "imgUrl": "/Logos/rds.svg", - "link": "https://signoz.io/docs/aws-monitoring/rds-logs/" + "link": "https://signoz.io/docs/aws-monitoring/rds-logs/", + "internalRedirect": true }, { "dataSource": "aws-lambda", @@ -1714,7 +1792,6 @@ "aws lambda logs", "lambda observability", "lambda monitoring otel", - "lambda metrics collection", "opentelemetry aws lambda", "collect lambda telemetry", "serverless monitoring", @@ -1897,7 +1974,7 @@ { "dataSource": "sql-database-metrics", "label": "Azure SQL Database Metrics", - "tags": ["Azure"], + "tags": ["Azure","database"], "module": "metrics", "relatedSearchKeywords": [ "azure sql database metrics", @@ -2496,5 +2573,306 @@ "document load to signoz" ], "link": "https://signoz.io/docs/frontend-monitoring/document-load/" + }, + { + "dataSource": "self-hosted-kafka", + "label": "Self-Hosted Kafka", + "imgUrl": "/Logos/kafka.svg", + "tags": ["Messaging Queues"], + "module": "messaging-queues-kafka", + "relatedSearchKeywords": [ + "self hosted kafka", + "kafka setup", + "kafka open source", + "kafka observability", + "kafka integration" + ], + "link": "https://signoz.io/docs/messaging-queues/kafka/" + }, + { + "dataSource": "amazon-msk", + "label": "Amazon MSK", + "imgUrl": "/Logos/amazon-msk.svg", + "tags": ["Messaging Queues"], + "module": "messaging-queues-kafka", + "relatedSearchKeywords": [ + "amazon msk", + "msk kafka", + "aws kafka", + "msk tracing", + "msk monitoring" + ], + "link": "https://signoz.io/docs/messaging-queues/msk/" + }, + { + "dataSource": "confluent-kafka", + "label": "Confluent Kafka", + "imgUrl": "/Logos/confluent-kafka.svg", + "tags": ["Messaging Queues"], + "module": "messaging-queues-kafka", + "relatedSearchKeywords": [ + "confluent kafka", + "confluent cloud", + "kafka tracing", + "kafka cloud", + "kafka monitoring" + ], + "link": "https://signoz.io/docs/messaging-queues/confluent-kafka/" + }, + { + "dataSource": "strimzi-kafka", + "label": "Strimzi Kafka", + "imgUrl": "/Logos/strimzi.svg", + "tags": ["Messaging Queues"], + "module": "messaging-queues-kafka", + "relatedSearchKeywords": [ + "strimzi kafka", + "kafka on kubernetes", + "strimzi operator", + "kafka helm chart", + "monitor kafka strimzi" + ], + "link": "https://signoz.io/docs/messaging-queues/strimzi/" + }, + { + "dataSource": "celery", + "label": "Celery", + "imgUrl": "/Logos/celery.svg", + "tags": ["Messaging Queues"], + "module": "messaging-queues-celery", + "relatedSearchKeywords": [ + "celery python", + "celery tracing", + "celery monitoring", + "task queue tracing", + "celery opentelemetry" + ], + "link": "https://signoz.io/docs/messaging-queues/celery-setup/" + }, + { + "dataSource": "redis", + "label": "Redis", + "tags": ["integrations", "database"], + "module": "integrations", + "relatedSearchKeywords": [ + "redis", + "redis logs", + "redis metrics", + "database" + ], + "imgUrl": "/Logos/redis.svg", + "link": "/integrations?integration=builtin-redis", + "internalRedirect": true + }, + { + "dataSource": "postgresql", + "label": "PostgreSQL", + "tags": ["integrations", "database"], + "module": "integrations", + "relatedSearchKeywords": [ + "postgresql", + "postgresql logs", + "postgresql metrics", + "database" + ], + "imgUrl": "/Logos/postgresql.svg", + "link": "/integrations?integration=builtin-postgres", + "internalRedirect": true + }, + { + "dataSource": "nginx", + "label": "Nginx", + "tags": ["integrations"], + "module": "integrations", + "relatedSearchKeywords": [ + "nginx", + "nginx logs", + "nginx metrics", + "proxy" + ], + "imgUrl": "/Logos/nginx.svg", + "link": "/integrations?integration=builtin-nginx", + "internalRedirect": true + }, + { + "dataSource": "mongo", + "label": "Mongo", + "tags": ["integrations", "database"], + "module": "integrations", + "relatedSearchKeywords": [ + "mongodb", + "mongo logs", + "mongo metrics", + "nosql database", + "database" + ], + "imgUrl": "/Logos/mongo.svg", + "link": "/integrations?integration=builtin-mongo", + "internalRedirect": true + }, + { + "dataSource": "clickhouse", + "label": "ClickHouse", + "tags": ["integrations", "database"], + "module": "integrations", + "relatedSearchKeywords": [ + "clickhouse", + "clickhouse logs", + "clickhouse metrics", + "olap database", + "columnar database", + "database" + ], + "imgUrl": "/Logos/clickhouse.svg", + "link": "/integrations?integration=builtin-clickhouse", + "internalRedirect": true + }, + { + "dataSource": "aws-rds-postgresql", + "label": "AWS RDS (PostgreSQL)", + "tags": ["integrations", "database"], + "module": "integrations", + "relatedSearchKeywords": [ + "aws rds postgresql", + "postgresql", + "rds logs", + "rds metrics", + "aws database", + "database" + ], + "imgUrl": "/Logos/rds.svg", + "link": "/integrations?integration=builtin-aws_rds_postgresql", + "internalRedirect": true + }, + { + "dataSource": "aws-rds-mysql", + "label": "AWS RDS (MySQL)", + "tags": ["integrations", "database"], + "module": "integrations", + "relatedSearchKeywords": [ + "aws rds mysql", + "mysql", + "rds logs", + "rds metrics", + "aws database", + "database" + ], + "imgUrl": "/Logos/rds.svg", + "link": "/integrations?integration=builtin-aws_rds_mysql", + "internalRedirect": true + }, + { + "dataSource": "aws-elasticache-redis", + "label": "AWS ElastiCache (redis)", + "tags": ["integrations"], + "module": "integrations", + "relatedSearchKeywords": [ + "aws elasticache redis", + "elasticache", + "redis", + "cache metrics", + "aws cache", + "redis" + ], + "imgUrl": "/Logos/elasticache.svg", + "link": "/integrations?integration=builtin-aws_elasticache_redis", + "internalRedirect": true + }, + { + "dataSource": "aws-alb", + "label": "AWS ALB - One Click", + "tags": ["integrations"], + "module": "integrations", + "relatedSearchKeywords": [ + "alb", + "aws alb", + "application load balancer", + "alb logs", + "alb metrics", + "load balancer" + ], + "imgUrl": "/Logos/aws-alb.svg", + "link": "/integrations?integration=aws-integration&service=alb", + "internalRedirect": true + }, + { + "dataSource": "api-gateway", + "label": "AWS API Gateway - One Click", + "tags": ["integrations"], + "module": "integrations", + "relatedSearchKeywords": [ + "api gateway", + "aws api gateway", + "apigateway logs", + "apigateway metrics", + "api monitoring" + ], + "imgUrl": "/Logos/api-gateway.svg", + "link": "/integrations?integration=aws-integration&service=api-gateway", + "internalRedirect": true + }, + { + "dataSource": "ec2", + "label": "EC2 - One Click", + "tags": ["integrations"], + "module": "integrations", + "relatedSearchKeywords": [ + "ec2", + "aws ec2", + "ec2 logs", + "ec2 metrics", + "compute instance" + ], + "imgUrl": "/Logos/ec2.svg", + "link": "/integrations?integration=aws-integration&service=ec2", + "internalRedirect": true + }, + { + "dataSource": "aws-lambda", + "label": "AWS Lambda - One Click", + "tags": ["integrations"], + "module": "integrations", + "relatedSearchKeywords": [ + "aws lambda", + "lambda logs", + "lambda metrics", + "serverless monitoring", + "function logs" + ], + "imgUrl": "/Logos/lambda.svg", + "link": "/integrations?integration=aws-integration&service=lambda", + "internalRedirect": true + }, + { + "dataSource": "amazon-msk", + "label": "Amazon MSK - One Click", + "tags": ["integrations"], + "module": "integrations", + "relatedSearchKeywords": [ + "amazon msk", + "aws msk", + "msk logs", + "msk metrics", + "kafka" + ], + "imgUrl": "/Logos/amazon-msk.svg", + "link": "/integrations?integration=aws-integration&service=msk", + "internalRedirect": true + }, + { + "dataSource": "amazon-rds", + "label": "Amazon RDS - One Click", + "tags": ["integrations"], + "module": "integrations", + "relatedSearchKeywords": [ + "amazon rds", + "aws rds", + "rds logs", + "rds metrics", + "database" + ], + "imgUrl": "/Logos/rds.svg", + "link": "/integrations?integration=aws-integration&service=rds", + "internalRedirect": true } ]