From a2600e2f7bb3a8f3df319b0bc6f12d7b223ea2ef Mon Sep 17 00:00:00 2001 From: cecilia saixue watt Date: Thu, 24 Jul 2025 11:04:50 -0700 Subject: [PATCH] wip --- content/en/serverless/_index.md | 45 ++---------- layouts/partials/serverless/landscape.html | 64 ++++++++++++++++++ .../images/integrations_logos/aws_fargate.png | Bin 0 -> 3346 bytes .../azure_app_services-1.png | Bin 0 -> 6895 bytes .../azure_container_apps.png | Bin 0 -> 4309 bytes .../integrations_logos/azure_functions-1.png | Bin 0 -> 3475 bytes .../google_cloud_functions-1.png | Bin 0 -> 3541 bytes 7 files changed, 70 insertions(+), 39 deletions(-) create mode 100644 layouts/partials/serverless/landscape.html create mode 100644 static/images/integrations_logos/aws_fargate.png create mode 100644 static/images/integrations_logos/azure_app_services-1.png create mode 100644 static/images/integrations_logos/azure_container_apps.png create mode 100644 static/images/integrations_logos/azure_functions-1.png create mode 100644 static/images/integrations_logos/google_cloud_functions-1.png diff --git a/content/en/serverless/_index.md b/content/en/serverless/_index.md index f9b4d3931b70c..4d0289a7f52b8 100644 --- a/content/en/serverless/_index.md +++ b/content/en/serverless/_index.md @@ -1,5 +1,5 @@ --- -title: Serverless +title: Serverless Monitoring aliases: - /graphing/infrastructure/cloudfunctions - /graphing/infrastructure/serverless_functions @@ -28,69 +28,36 @@ cascade: rank: 70 --- -{{< vimeo url="https://player.vimeo.com/progressive_redirect/playback/543362476/rendition/1080p/file.mp4?loc=external&signature=4927d13b131aea1e3b4f77efca5af49bb509f5e7f1d6ca06a5267ba02a8c194a" poster="/images/poster/serverless.png" >}} - -
- -
Make sure to check out discussions going on in the #serverless channel in the Datadog Slack community.
- {{< learning-center-callout header="Join an enablement webinar session" hide_image="true" btn_title="Sign Up" btn_url="https://www.datadoghq.com/technical-enablement/sessions/?tags.topics-0=Serverless">}} Learn how serverless monitoring enables your teams to stay agile and focus their time on building revenue-generating applications while reducing operational overhead. {{< /learning-center-callout >}} -[Datadog Serverless Monitoring][1] provides full visibility into all of the managed services that power your serverless applications by bringing together real-time metrics, logs and traces from your serverless compute as well as related fully-managed APIs, queues, streams and data stores. +[Datadog Serverless Monitoring][1] provides visibility into the managed services that power your serverless applications. Serverless Monitoring brings together real-time metrics, logs, and traces from your serverless compute, as well as related fully-managed APIs, queues, streams and data stores. -Datadog provides solutions for monitoring [AWS Lambda](#aws-lambda), [Azure App Service](#azure-app-service), [Azure Container Apps](#azure-container-apps), and [Google Cloud Run](#google-cloud-run). +{{< partial name="serverless/landscape.html" >}} -### AWS Lambda +
Join discussions in the #serverless channel in the Datadog Slack community.
-[Serverless Monitoring for AWS Lambda][2] enables you to correlate high-level metrics from AWS resources with those of Lambda functions, so you can quickly spot issues and start your investigation. - -[Enhanced Lambda metrics][3], which appear in Datadog with the prefix `aws.lambda.enhanced`, are available at second granularity and in near real time. You can use enhanced Lambda metrics for alerts or SLOs on cold starts, estimated AWS costs, timeouts, out-of-memory errors, and memory usage across all of your Lambda functions. - -You can send [custom metrics][4] from a Lambda function by generating metrics from logs and traces, using the Datadog Lambda Extension, or using the Datadog Forwarder Lambda. +### AWS Lambda -With [Distributed Tracing][5], you can connect your serverless traces to metrics for a context-rich picture of your application's performance. The Datadog Python, Node.js, Ruby, Go, Java, and .NET tracing libraries support distributed tracing for AWS Lambda. -[Deployment Tracking][6] helps you to correlate serverless code, configuration, and deployment changes with metrics, traces, and logs from your functions for real-time insight into how these changes may affect the health and performance of your applications. ### AWS Step Functions -AWS Step Functions is a serverless orchestration service that lets developers create and manage multi-step application workflows in AWS. -Monitor metrics and logs from the [AWS Step Functions Integration][13] to view cloud-native telemetry within the Serverless app view. - -Identify bugs and bottlenecks with [execution traces][14]. Traces for step functions can be generated from Step Function logs and provide granular execution information, including the state machine execution path, inputs and outputs for each step, and step execution length. - -Enhanced Step Function metrics, which appear in Datadog with the prefix `aws.states.enhanced`, are available at second granularity and generated directly within Datadog. ### Azure App Service -The [Datadog extension for Azure App Service][7] provides tracing capabilities for Azure Web Apps. - -Use the [Azure App Service view][8] to: - -- Quickly identify apps with high latency or errors - -- Track the utilization of your Web Apps, Function Apps, and App Service Plans - -- Get insights into the costs of your App Service Plans by visualizing the number of active instances and seeing which are running apps that are submitting traces or logs to Datadog - -- Map the apps running on your App Service Plans to identify apps that may be impacting costs or performance -The Datadog extension for Azure App Service provides tracing capabilities for Azure Web Apps. For more information about setting up tracing in Azure, see [Azure App Service][7]. ### Azure Container Apps -Azure Container Apps is a fully managed serverless platform for deploying and scaling container-based applications. Datadog provides monitoring and log collection for Container Apps through the [Azure integration][9]. -Datadog also provides a solution, now in Preview, for [instrumenting your Container Apps applications][10] with a purpose-built Agent to enable tracing, custom metrics, and direct log collection. +### Azure Functions ### Google Cloud Run -Google Cloud Run is a lightweight, event-based, asynchronous compute solution that allows you to create small, single-purpose functions. To monitor serverless functions running on Google Cloud Platform, enable the [Google Cloud Platform integration][11]. -Datadog also provides a solution, now in Preview, for [instrumenting your Cloud Run applications][12] with a purpose-built Agent to enable tracing, custom metrics, and direct log collection. ## Further Reading diff --git a/layouts/partials/serverless/landscape.html b/layouts/partials/serverless/landscape.html new file mode 100644 index 0000000000000..60b86a2b88714 --- /dev/null +++ b/layouts/partials/serverless/landscape.html @@ -0,0 +1,64 @@ +{{ $dot := . }} +
+ +
+
diff --git a/static/images/integrations_logos/aws_fargate.png b/static/images/integrations_logos/aws_fargate.png new file mode 100644 index 0000000000000000000000000000000000000000..00d7322ea440105095ae9fc22800743be5d7eb9d GIT binary patch literal 3346 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 literal 0 HcmV?d00001 diff --git a/static/images/integrations_logos/azure_app_services-1.png b/static/images/integrations_logos/azure_app_services-1.png new file mode 100644 index 0000000000000000000000000000000000000000..7a3a6a7ebd4489fb7d0dc9d51ed35a2ac10d12b4 GIT binary patch literal 6895 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 cHa}EU9cME^+ENJ09D6aWBFC@ab7+%oFc-x3qv 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 TkqK3j|7I!6Ysgj0SVsH@bZ;z= literal 0 HcmV?d00001 diff --git a/static/images/integrations_logos/azure_functions-1.png b/static/images/integrations_logos/azure_functions-1.png new file mode 100644 index 0000000000000000000000000000000000000000..81b50cb8f875560828d657d04bd93a238952a69f GIT binary patch literal 3475 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 Hz%}kaXm^4* literal 0 HcmV?d00001 diff --git a/static/images/integrations_logos/google_cloud_functions-1.png b/static/images/integrations_logos/google_cloud_functions-1.png new file mode 100644 index 0000000000000000000000000000000000000000..58acd354f59b4ef050cbd0407acb064557784470 GIT binary patch literal 3541 zcma)9cQhLe*C$0oX=4d34ydw+b~&)vgYE zk5aS7>-o<2|NEYM?){x}*YDgv?mg!w80u@&(Xi2wk&)4%QAp!!?7P+oAl0?iH{mP1 z1}aA#Z6w*%zf#mznsJ?(h(@ZL2G4Hi-^w&I1Am0l(`!i8#5I%5#pv*`*s+0d2z63J zM1MDcL(f4%y!A_-bSw%Ee1p{z&5E#DiEU-j8Mr$-)b=yFY9dMmrH-LU4)NWg&1+XX z;G8TNZVK8N#pNlTKlR)W*ii`j;dj*b=TBiL*zXPZ;n4nh~|c>vuIl(84Ng>sQdjJJOZQ^_Qt*+w#@kvY@W%` zH#oUZ&tyLYZ&+LxqD14eRY5%MLS`7j^7z1PPY#qJjF*X;I#YgtN58=|JAoS-N%rin zG}aInvrvRWjsAMM3e1!j!JG0LnVHtH{sR8M5 zqZD=nSeYe3BvP8h@NqcJ?4~(Hz*-q!<$``d;h5;O_rW9Rk&#Vy(Q`0{t+uE-xf*#* zjaKLQo}pD|+=Kl(=MnUKj7@I!rB%?Dlnl$w@*x4n0oe@;<4J`S?#L=Z5W)X}P;TOl z^4^nTEi8o%1hsgJeb6f@Mn;D)8P!@ffz?(u^Q)N)A6 zvP{al%hVV_Y&|7+)@K>H9fk=+ad*r7O7VZ4Ikjb30BAq7;1%W_JpJMO7{Dty%8=5y zrmaH99pi804m%4+$4be6ml@#sY|A_EMsI8>KPzSXz2uG_ggu}r{zp-9v_Y@tE0 zHfi^KY=Eht*_OxZXRaIvZg92LNdQDJ1K^c#scBFPlK7cjA$R(~+8Ap{&~(V(gEEN# z=*&cvX=6T)Yf!3p$|3<7_7iNia!{MtZS;c-%D_yKwBZ~fJD`176rhD%aYA_PD*F%;x6nA z3`Lq4*iGaF;pIc#Q``R^R;~xTB(9+n}-9A?8pbk&86U+xo zNr@l`fc(0~BTi-XtTKvjQIz+N@_Xipy!gPzGAV+73(pa0dX6cx^<;34ESgx8YB1s$ zOqqz`WdfpO;ahRCKf8eHIJX;FGX>#p(RExl6l0w^yn^&7;gBr@70)c9E@Wo!XQM;X zqN;qVC=gu^SH=%n+Q><|VR{!0b3=ZwNnEou!TphIJYd;2S%GEI?<~%d zQ53J+gOJ9}!%fCftjGL@w*O9eKBF7O{pN$+9p|@sC%2yUs@>LGv-@Yj@;yv22C-x5 zXet~vM_|&<6K3#IaHdOmfB)`NJv{*eJTYbg!bIJpF2Il&T?^P_8CY1Vc%TdW)c)_% z)(nz4WgqP7jY91>uWyFyFut}P794CX)eG)9`;}P-`MU9^PiABKNxByk`ausq9wl&_ z!4yx_w zU@B0m9D07sif`=8>HDG>8GLfQ2CeVkiSy~irm?8s+5Ro91-$N+M5pOecpo^9_1>9D z1<=0KOYCqx5ceqgpq@4>4FCm8wd->yr#Xk2((c_N7v-TuNV!>LOY>XRp z%i(MF#%`lWKIO=4(nyVv5*SD5$@THaw$FcO5hwmC$1i~eb|0r73t_C|m1{%|v3cB} z5Eb3j$CXd67g zm{?^};yP1gUtLH12zSTUQ}oE`42)!OGR}Kl)OHLm)qyOf#4BqAkp&4bam=tz{Fzkej*F>w3i@f+v zlQJ`cv^aU`w?eD0>7sTE;Y(f034xXNRk`8e3H%dPH{FBYI80YLxLST-FAG`e_W3*| zXBpDI&JUVV^`g~wYPl7{XHamCp5#MQJC3Klt!}%o6+F-}Slj~Jz4)|dTo+dfUAOo4 z-r;Wzchg&%4qRfq(ea@E>1fME&^Z$J^&a?=lvb{6;s_*pT7J(`#X!2R! zw;ycmQtkc`WzG9j{UQ#(4V>Xhg{JEhjy4r`vi&8j?wzRY1%QOQ*{;`}dS^wE-%)AB zx7Du7D(UvK*F&`$v{wwCnOlv|S2f<7;V;OA7^Fs8sRV_6~D9^jFX6$0wBIS2C)~CErdW%b({`foY(Nmx|D0q*8 zbdttXI~Wv7=#BgtCC0Ft?JnoPS>S>nD|#sS_EAF5 zFQ(Eh`1sXa>x|hCk3|sjs-n`-ujlOvUb;Gz0CoFQ5pK+K+nZ)Y<*YR}uDyxF&c4ok z85P>T$!n0mbw%&MC61bDpGt-w*@L=teKRFWBS&6Jt+J8g{SHaAP3_++mka(WRu)-p zL=A4nzGYfBv4F($c#M9LA#&Zx1ilhE1ILFwhaT||E~9>ExNdNUi(TySNb6$m03;4W zsa1dlrdTEs^HP7CQ;bsFvc2Np|n{ zH0D=L%oM^GLot55LZGH2!@ z+Jw10r@~gGZ`(Y4pesDwdZ)%nXtDBfj^&~~wKG6y>@u0PE7(6*y6l3E;>2=lwg`8w zKbsGBJY^_UQfM^N3(hw`nxR6Ksd(7q`g8>F6khuAblkgo}t!@E)s8qJts{sC+ z>a*oVzGNF#lhwS?VVtECv>V={8Sy2lG`+L3s`;Uu+tjPHfQoEWFY!^m{pM-$%L986 zEtbvQMiZ;v%pgU;uYntCo$?mm#emN{%;(V@n>i*b+BQ8;hmvO`DT}`is^!Yj#mstw zz1{U8tVNxW$X{XKHW~l~XYbc?Z%f2{QQCt?rDw!$4`A0vv|VXZii_LwVueLo;)I{- z>knZ-8^M6yG**4ZowJXatA;bT{Eq>SH9Y_$sM9ws3LbTFukLvtb4chVrQ%w|-XA4j zC&SNkj)|a;pBGMmOIjE0p1;D}zEjlfoF}*me z;|;f=`~!9@d7uAyvLcZDg#CDtUE=mgp?Sb{fx`j>i}T7C45p;xddK`3VSPCD`Oe{ hhyUjPQ+}P?i@H0>DaoCYeEp}9p*8i96$tyN{{ZNGg53ZB literal 0 HcmV?d00001