{"id":538,"date":"2022-04-18T17:32:02","date_gmt":"2022-04-18T20:32:02","guid":{"rendered":"https:\/\/demo.creativethemes.com\/blocksy\/business\/?p=538"},"modified":"2024-02-26T11:24:19","modified_gmt":"2024-02-26T14:24:19","slug":"cloudwatch-aws-sdk-javascript","status":"publish","type":"post","link":"https:\/\/www.8sq.io\/index.php\/2022\/04\/18\/cloudwatch-aws-sdk-javascript\/","title":{"rendered":"Enviar m\u00e9tricas y logs a CloudWatch AWS usando AWS-SDK de JAVASCRIPT"},"content":{"rendered":"\n<h4 class=\"wp-block-heading\">Introducci\u00f3n<\/h4>\n\n\n\n<p>Con CloudWatch y el AWS-SDK para Javascript y nuestra creatividad podemos lograr cosas bien interesantes y dar soluci\u00f3n a m\u00faltiples problemas de forma sencilla. <\/p>\n\n\n\n<p>Usualmente cuando se trabaja con servicios y plataformas que se despliegan en instancias <a href=\"https:\/\/aws.amazon.com\/es\/ec2\/\" target=\"_blank\" rel=\"noreferrer noopener\">EC2<\/a> o incluso en instancias locales, es necesario tener ciertos KPIs (o m\u00e9tricas) sobre lo que se espera de dicho servicio o plataforma. <\/p>\n\n\n\n<p>Por ejemplo uno podr\u00eda esperar que una plataforma transaccional en un estado de buena salud tenga una cantidad X de transacciones pasando segundo, por ejemplo,  10 trx\/s  (diez transacciones por segundo). <\/p>\n\n\n\n<p>Estos tipos de m\u00e9tricas son muy \u00fatiles y en la mayor\u00eda de los casos, necesarios, para \u00e1reas se soporte u operaciones, dado que con esas m\u00e9tricas pueden determinar si la plataforma tiene un comportamiento o rendimiento adecuado o en l\u00ednea a lo esperado.  <\/p>\n\n\n\n<p>Gracias al SDK de AWS, disponible en Javascript, podemos enviar m\u00e9tricas y LOGs directamente a <a href=\"https:\/\/aws.amazon.com\/es\/cloudwatch\/\" target=\"_blank\" rel=\"noreferrer noopener\">CloudWatch<\/a>, con lo que eventualmente se puede contar con dashboard, alertas y acciones autom\u00e1ticas en base a los datos que enviemos. A continuaci\u00f3n en <a href=\"https:\/\/www.8sq.io\/index.php\/productos-y-servicios\/\" target=\"_blank\" rel=\"noreferrer noopener\">Octasquare <\/a>te mostraremos c\u00f3mo hacerlo<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Entrando al c\u00f3digo<\/h4>\n\n\n\n<p>Supongamos que queremos enviar una m\u00e9trica de transacciones por segundo (en este caso las simularemos). Lo primero seria tener alguna funci\u00f3n que obtenga o cuente las transacciones que pasan por nuestra plataforma. Dado que el objeto de este articulo no es contar transacciones, simularemos con n\u00fameros aleatorios la cantidad de transacciones, para eso esta funci\u00f3n:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism off-numbers lang-js\" data-lang=\"JavaScript\"><code>const getRandomInt = (min, max) =&gt; {\n    min = Math.ceil(min);\n    max = Math.floor(max);\n    return Math.floor(Math.random() * (max - min + 1)) + min;\n}\nconst getTrx = (min,max) =&gt; { \/\/remplazar aqu\u00ed por lo que sea adecuado en cada caso\n    return getRandomInt(min,max);\n}<\/code><\/pre><\/div>\n\n\n\n<p>Ahora necesitamos generar el objeto de AWS para enviar los datos a CloudWatch, aqui se deben llenar los datos con las credenciales de un usuario con los privilegios adecuados para enviar data a CloudWatch.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism off-numbers lang-js\" data-lang=\"JavaScript\"><code>AWS.config.update({\n    region: &#39;xxxxxx&#39;, \/\/ por ejemplo&#39;us-east-1&#39;,\n    accessKeyId: &#39;xxxxxxxx&#39;, \/\/ el access Key del usuario program\u00e1tico \n    secretAccessKey: &#39;xxxxxxxx&#39; \/\/ la secret key del usuario program\u00e1tico \n});<\/code><\/pre><\/div>\n\n\n\n<p>ahora  generaci\u00f3n del objeto con la data a enviar<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism off-numbers lang-js\" data-lang=\"JavaScript\"><code>\/\/ usamos una version fija del a API, para evitar problema de compatibilidad\nvar cw = new AWS.CloudWatch({ apiVersion: &#39;2010-08-01&#39; });\n\/\/ creamos el JSON que tendr\u00e1 la data \nconst paramsCW = {\n    MetricData: [\n        {\n            MetricName: &#39;TRX_PER_SECOND&#39;, \/\/ nombre: Transacciones por segundo\n            Dimensions: [\n                {\n                    Name: &#39;TRX&#39;, \/\/ un nombre de dimension\n                    Value: &#39;Plataforma A&#39; \/\/ supongamos las trx\/s de Plataforma A\n                },\n            ],\n            Unit: &#39;Seconds&#39;, \/\/ en este caso, segundos, dado que medimos trx\/s\n            Value: getTrx(1, 100) \/\/ obtenemos un valor aleatorio entre 1 y 100 \n        },\n    ],\n    Namespace: &#39;MIS_METRICAS&#39; \/\/ un namespace que haga sentido\n};<\/code><\/pre><\/div>\n\n\n\n<p>Finalmente el env\u00edo de la data, imprimimos en consola los resultados. <\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism off-numbers lang-js\" data-lang=\"JavaScript\"><code>cw.putMetricData(paramsCW, function (err, data) {\n    if (err) {\n        console.log(&quot;Error&quot;, err);\n    } else {\n        console.log(&quot;Success&quot;, JSON.stringify(data));\n    }\n});<\/code><\/pre><\/div>\n\n\n\n<p>Y eso es todo, ahora si quisieramos enviar &#8220;LOGS&#8221; el proceso es similar, solo que la clase a utilizar es otra. Ej;<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>var cloudwatchlogs = new AWS.CloudWatchLogs({ apiVersion: &#39;2014-03-28&#39; });\n\nlet paramsPutLog = {\n    logEvents: [ \/* required *\/\n        {\n            message: &#39;[Note] trx 1 df 2 rt 4 hh 5&#39;, \/\/ este es mi log\n            timestamp: Date.now() \/\/ required, el timestamp, AWS lo necesita\n        },\n    ],\n    logGroupName: &#39;testgroup&#39;, \/\/ un grupo para el log\n    logStreamName: &#39;teststream&#39;, \/un nombre del stream, deben existir ambos previamente\n    \/\/sequenceToken: &#39;&#39;\n};\nconst paramsGetSeq = {\n    logGroupName: &#39;testgroup&#39;, \/* required *\/\n    logStreamNamePrefix: &#39;teststream&#39;\n};\n\n\/\/ env\u00edo el dato, pero validando si hay o no data previa,\n\/\/ de existir data previa obtengo el ultimo sequence token. \ncloudwatchlogs.describeLogStreams(paramsGetSeq, function (err, data) {\n    if (err) console.log(err, err.stack); \/\/ an error occurred\n    else { \/\/ successful response\n        if (data.logStreams[0].uploadSequenceToken) {\n            paramsPutLog.sequenceToken = data.logStreams[0].uploadSequenceToken;\n        }\n        cloudwatchlogs.putLogEvents(paramsPutLog, function (err, data) {\n            if (err) console.log(err, err.stack); \/\/ an error occurred\n            else console.log(&quot;putlog&quot;, data);           \/\/ successful response\n        });\n    }\n});<\/code><\/pre><\/div>\n\n\n\n<p>Resultados para cada caso:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"724\" height=\"139\" src=\"https:\/\/www.8sq.cl\/wp-content\/uploads\/2022\/04\/trx.png\" alt=\"cloudwatch metrics sample\" class=\"wp-image-809\" title=\"cloudwatch metrics sample\" srcset=\"https:\/\/www.8sq.io\/wp-content\/uploads\/2022\/04\/trx.png 724w, https:\/\/www.8sq.io\/wp-content\/uploads\/2022\/04\/trx-300x58.png 300w\" sizes=\"(max-width: 724px) 100vw, 724px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"558\" height=\"158\" src=\"https:\/\/www.8sq.cl\/wp-content\/uploads\/2022\/04\/trxlog.png\" alt=\"cloudwatch logs sample\" class=\"wp-image-810\" title=\"cloudwatch logs sample\" srcset=\"https:\/\/www.8sq.io\/wp-content\/uploads\/2022\/04\/trxlog.png 558w, https:\/\/www.8sq.io\/wp-content\/uploads\/2022\/04\/trxlog-300x85.png 300w\" sizes=\"(max-width: 558px) 100vw, 558px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Introducci\u00f3n Con CloudWatch y el AWS-SDK para Javascript y nuestra creatividad podemos lograr cosas bien interesantes y dar soluci\u00f3n a m\u00faltiples problemas de forma sencilla. Usualmente cuando se trabaja con servicios y plataformas que se despliegan en instancias EC2 o incluso en instancias locales, es necesario tener ciertos KPIs (o m\u00e9tricas) sobre lo que se [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":547,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,4],"tags":[8,9,11,10,12,13],"class_list":["post-538","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","category-useful","tag-aws","tag-aws-sdk","tag-cloudwatch","tag-javascript","tag-logs","tag-metrics"],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":6},"post_title_panel":"","has_hero_section":"default","ac93918dcf3827a8f7cd8cee483981cc":"","hero_section":"type-1","hero_elements":[{"id":"custom_title","enabled":true,"heading_tag":"h1","title":"Home"},{"id":"custom_description","enabled":true,"description_visibility":{"desktop":true,"tablet":true,"mobile":false}},{"id":"custom_meta","enabled":true,"meta_elements":[{"id":"author","enabled":true,"label":"By","has_author_avatar":"yes","avatar_size":25},{"id":"post_date","enabled":true,"label":"On","date_format_source":"default","date_format":"M j, Y"},{"id":"updated_date","enabled":false,"label":"On","date_format_source":"default","date_format":"M j, Y"},{"id":"categories","enabled":true,"label":"In","style":"simple"},{"id":"comments","enabled":true}],"page_meta_elements":{"joined":true,"articles_count":true,"comments":true}},{"id":"breadcrumbs","enabled":false}],"1682f68a7263d212bb734cbc6ae8b340":"","hero_alignment1":"CT_CSS_SKIP_RULE","hero_margin":40,"hero_alignment2":"center","hero_vertical_alignment":"center","877c6ce39fe0a1494e27067b0e60407b":"","hero_structure":"narrow","4d6632b90fdc89a75501ac73a32bb695":"","page_title_bg_type":"featured_image","custom_hero_background":{"attachment_id":null},"page_title_image_size":"full","parallax":{"desktop":false,"tablet":false,"mobile":false},"03be4bf6df6b285b2cd9e26e7678a5d4":"","hero_height":"250px","pageTitleFont":{"family":"Default","variation":"Default","size":"30px","line-height":"CT_CSS_SKIP_RULE","letter-spacing":"CT_CSS_SKIP_RULE","text-transform":"CT_CSS_SKIP_RULE","text-decoration":"CT_CSS_SKIP_RULE"},"pageTitleFontColor":{"default":{"color":"CT_CSS_SKIP_RULEDEFAULT"}},"pageMetaFont":{"family":"Default","variation":"n6","size":"12px","line-height":"1.3","letter-spacing":"CT_CSS_SKIP_RULE","text-transform":"uppercase","text-decoration":"CT_CSS_SKIP_RULE"},"pageMetaFontColor":{"default":{"color":"CT_CSS_SKIP_RULEDEFAULT"},"hover":{"color":"CT_CSS_SKIP_RULEDEFAULT"}},"page_meta_button_type_font_colors":{"default":{"color":"CT_CSS_SKIP_RULEDEFAULT"},"hover":{"color":"CT_CSS_SKIP_RULEDEFAULT"}},"page_meta_button_type_background_colors":{"default":{"color":"CT_CSS_SKIP_RULEDEFAULT"},"hover":{"color":"CT_CSS_SKIP_RULEDEFAULT"}},"pageExcerptFont":{"family":"Default","variation":"Default","size":"CT_CSS_SKIP_RULE","line-height":"CT_CSS_SKIP_RULE","letter-spacing":"CT_CSS_SKIP_RULE","text-transform":"CT_CSS_SKIP_RULE","text-decoration":"CT_CSS_SKIP_RULE"},"pageExcerptColor":{"default":{"color":"CT_CSS_SKIP_RULEDEFAULT"}},"breadcrumbsFont":{"family":"Default","variation":"Default","size":"CT_CSS_SKIP_RULE","line-height":"CT_CSS_SKIP_RULE","letter-spacing":"CT_CSS_SKIP_RULE","text-transform":"CT_CSS_SKIP_RULE","text-decoration":"CT_CSS_SKIP_RULE"},"breadcrumbsFontColor":{"default":{"color":"CT_CSS_SKIP_RULEDEFAULT"},"initial":{"color":"CT_CSS_SKIP_RULEDEFAULT"},"hover":{"color":"CT_CSS_SKIP_RULEDEFAULT"}},"pageTitleOverlay":{"background_type":"color","background_pattern":"type-1","background_image":{"attachment_id":null,"x":0,"y":0},"gradient":"linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%)","background_repeat":"repeat","background_size":"auto","background_attachment":"scroll","patternColor":{"default":{"color":"#e5e7ea"}},"overlayColor":{"default":{"color":"CT_CSS_SKIP_RULE"}},"backgroundColor":{"default":{"color":"CT_CSS_SKIP_RULE"}}},"pageTitleBackground":{"background_type":"color","background_pattern":"type-1","background_image":{"attachment_id":null,"x":0,"y":0},"gradient":"linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%)","background_repeat":"repeat","background_size":"auto","background_attachment":"scroll","patternColor":{"default":{"color":"#e5e7ea"}},"overlayColor":{"default":{"color":"CT_CSS_SKIP_RULE"}},"backgroundColor":{"default":{"color":"var(--theme-palette-color-6)"}}},"pageTitlePadding":{"top":"50px","bottom":"50px","left":"auto","right":"auto","linked":true},"b029dbed1a0effa631fc632d25d80ad7":"","page_structure_type":"default","e0c8f13f9e663f5aef8e09a6d2d7581c":"","content_style_source":"inherit","content_style":"wide","c1a75426e6712077ffcc3593f96b26a1":"","vertical_spacing_source":"inherit","content_area_spacing":"both","background":{"background_type":"color","background_pattern":"type-1","background_image":{"attachment_id":null,"x":0,"y":0},"gradient":"linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%)","background_repeat":"repeat","background_size":"auto","background_attachment":"scroll","patternColor":{"default":{"color":"#e5e7ea"}},"overlayColor":{"default":{"color":"CT_CSS_SKIP_RULE"}},"backgroundColor":{"default":{"color":"CT_CSS_SKIP_RULE"}}},"content_background":{"background_type":"color","background_pattern":"type-1","background_image":{"attachment_id":null,"x":0,"y":0},"gradient":"linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%)","background_repeat":"repeat","background_size":"auto","background_attachment":"scroll","patternColor":{"default":{"color":"#e5e7ea"}},"overlayColor":{"default":{"color":"CT_CSS_SKIP_RULE"}},"backgroundColor":{"default":{"color":"var(--theme-palette-color-8)"}}},"content_boxed_shadow":{"inherit":false,"blur":18,"spread":-6,"v_offset":12,"h_offset":0,"inset":false,"enable":true,"color":{"color":"rgba(34, 56, 101, 0.04)"}},"boxed_content_spacing":{"desktop":{"top":"40px","bottom":"40px","left":"40px","right":"40px","linked":true},"tablet":{"top":"35px","bottom":"35px","left":"35px","right":"35px","linked":true},"mobile":{"top":"20px","bottom":"20px","left":"20px","right":"20px","linked":true}},"content_boxed_radius":{"top":"3px","bottom":"3px","left":"3px","right":"3px","linked":true},"86fc98f823c98992b2b82eeedd3ca3be":"","disable_featured_image":"no","disable_post_tags":"no","disable_share_box":"no","disable_author_box":"no","disable_posts_navigation":"no","3f441dd2ab63abe34f61b3290e55b5b3":"","disable_related_posts":"no","disable_header":"no","disable_footer":"no"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Enviar m\u00e9tricas y LOGS a CloudWatch usando Node.JS Octasquare<\/title>\n<meta name=\"description\" content=\"C\u00f3mo enviar m\u00e9tricas a LOGS a CloudWatch usando el SDK de AWS para Javascript usando NodeJS de forma f\u00e1cil, segura y con poco c\u00f3digo\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.8sq.io\/index.php\/2022\/04\/18\/cloudwatch-aws-sdk-javascript\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Enviar m\u00e9tricas y LOGS a CloudWatch usando Node.JS Octasquare\" \/>\n<meta property=\"og:description\" content=\"C\u00f3mo enviar m\u00e9tricas a LOGS a CloudWatch usando el SDK de AWS para Javascript usando NodeJS de forma f\u00e1cil, segura y con poco c\u00f3digo\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.8sq.io\/index.php\/2022\/04\/18\/cloudwatch-aws-sdk-javascript\/\" \/>\n<meta property=\"og:site_name\" content=\"Octasquare\" \/>\n<meta property=\"article:published_time\" content=\"2022-04-18T20:32:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-02-26T14:24:19+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.8sq.io\/wp-content\/uploads\/2020\/08\/ryan-geller-4ZPsW7PCNfA-unsplash.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"8SQ\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"8SQ\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo estimado de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.8sq.io\/index.php\/2022\/04\/18\/cloudwatch-aws-sdk-javascript\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.8sq.io\/index.php\/2022\/04\/18\/cloudwatch-aws-sdk-javascript\/\"},\"author\":{\"name\":\"8SQ\",\"@id\":\"https:\/\/www.8sq.io\/#\/schema\/person\/768c651ed1ef791fb7f00c00846f8c10\"},\"headline\":\"Enviar m\u00e9tricas y logs a CloudWatch AWS usando AWS-SDK de JAVASCRIPT\",\"datePublished\":\"2022-04-18T20:32:02+00:00\",\"dateModified\":\"2024-02-26T14:24:19+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.8sq.io\/index.php\/2022\/04\/18\/cloudwatch-aws-sdk-javascript\/\"},\"wordCount\":349,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.8sq.io\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.8sq.io\/index.php\/2022\/04\/18\/cloudwatch-aws-sdk-javascript\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.8sq.io\/wp-content\/uploads\/2020\/08\/ryan-geller-4ZPsW7PCNfA-unsplash.jpg\",\"keywords\":[\"aws\",\"aws-sdk\",\"cloudwatch\",\"javascript\",\"logs\",\"metrics\"],\"articleSection\":[\"News\",\"Useful\"],\"inLanguage\":\"es-CL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.8sq.io\/index.php\/2022\/04\/18\/cloudwatch-aws-sdk-javascript\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.8sq.io\/index.php\/2022\/04\/18\/cloudwatch-aws-sdk-javascript\/\",\"url\":\"https:\/\/www.8sq.io\/index.php\/2022\/04\/18\/cloudwatch-aws-sdk-javascript\/\",\"name\":\"Enviar m\u00e9tricas y LOGS a CloudWatch usando Node.JS Octasquare\",\"isPartOf\":{\"@id\":\"https:\/\/www.8sq.io\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.8sq.io\/index.php\/2022\/04\/18\/cloudwatch-aws-sdk-javascript\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.8sq.io\/index.php\/2022\/04\/18\/cloudwatch-aws-sdk-javascript\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.8sq.io\/wp-content\/uploads\/2020\/08\/ryan-geller-4ZPsW7PCNfA-unsplash.jpg\",\"datePublished\":\"2022-04-18T20:32:02+00:00\",\"dateModified\":\"2024-02-26T14:24:19+00:00\",\"description\":\"C\u00f3mo enviar m\u00e9tricas a LOGS a CloudWatch usando el SDK de AWS para Javascript usando NodeJS de forma f\u00e1cil, segura y con poco c\u00f3digo\",\"breadcrumb\":{\"@id\":\"https:\/\/www.8sq.io\/index.php\/2022\/04\/18\/cloudwatch-aws-sdk-javascript\/#breadcrumb\"},\"inLanguage\":\"es-CL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.8sq.io\/index.php\/2022\/04\/18\/cloudwatch-aws-sdk-javascript\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es-CL\",\"@id\":\"https:\/\/www.8sq.io\/index.php\/2022\/04\/18\/cloudwatch-aws-sdk-javascript\/#primaryimage\",\"url\":\"https:\/\/www.8sq.io\/wp-content\/uploads\/2020\/08\/ryan-geller-4ZPsW7PCNfA-unsplash.jpg\",\"contentUrl\":\"https:\/\/www.8sq.io\/wp-content\/uploads\/2020\/08\/ryan-geller-4ZPsW7PCNfA-unsplash.jpg\",\"width\":800,\"height\":600},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.8sq.io\/index.php\/2022\/04\/18\/cloudwatch-aws-sdk-javascript\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/www.8sq.io\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Enviar m\u00e9tricas y logs a CloudWatch AWS usando AWS-SDK de JAVASCRIPT\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.8sq.io\/#website\",\"url\":\"https:\/\/www.8sq.io\/\",\"name\":\"Octasquare\",\"description\":\"Development &amp; Consulting apoyo en implementaci\u00f3n de soluciones cloud, gesti\u00f3n de proyectos y m\u00e1s\",\"publisher\":{\"@id\":\"https:\/\/www.8sq.io\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.8sq.io\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es-CL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.8sq.io\/#organization\",\"name\":\"Octasquare\",\"url\":\"https:\/\/www.8sq.io\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es-CL\",\"@id\":\"https:\/\/www.8sq.io\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.8sq.io\/wp-content\/uploads\/2022\/04\/logo_8sq_sticky.png\",\"contentUrl\":\"https:\/\/www.8sq.io\/wp-content\/uploads\/2022\/04\/logo_8sq_sticky.png\",\"width\":271,\"height\":121,\"caption\":\"Octasquare\"},\"image\":{\"@id\":\"https:\/\/www.8sq.io\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.8sq.io\/#\/schema\/person\/768c651ed1ef791fb7f00c00846f8c10\",\"name\":\"8SQ\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es-CL\",\"@id\":\"https:\/\/www.8sq.io\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/163c3e1152a56725f63510e928d969eb6e3760c257ae4139ea965a14b2fb4273?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/163c3e1152a56725f63510e928d969eb6e3760c257ae4139ea965a14b2fb4273?s=96&d=mm&r=g\",\"caption\":\"8SQ\"},\"sameAs\":[\"https:\/\/www.8sq.cl\"],\"url\":\"https:\/\/www.8sq.io\/index.php\/author\/rberrezueta\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Enviar m\u00e9tricas y LOGS a CloudWatch usando Node.JS Octasquare","description":"C\u00f3mo enviar m\u00e9tricas a LOGS a CloudWatch usando el SDK de AWS para Javascript usando NodeJS de forma f\u00e1cil, segura y con poco c\u00f3digo","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.8sq.io\/index.php\/2022\/04\/18\/cloudwatch-aws-sdk-javascript\/","og_locale":"es_ES","og_type":"article","og_title":"Enviar m\u00e9tricas y LOGS a CloudWatch usando Node.JS Octasquare","og_description":"C\u00f3mo enviar m\u00e9tricas a LOGS a CloudWatch usando el SDK de AWS para Javascript usando NodeJS de forma f\u00e1cil, segura y con poco c\u00f3digo","og_url":"https:\/\/www.8sq.io\/index.php\/2022\/04\/18\/cloudwatch-aws-sdk-javascript\/","og_site_name":"Octasquare","article_published_time":"2022-04-18T20:32:02+00:00","article_modified_time":"2024-02-26T14:24:19+00:00","og_image":[{"width":800,"height":600,"url":"https:\/\/www.8sq.io\/wp-content\/uploads\/2020\/08\/ryan-geller-4ZPsW7PCNfA-unsplash.jpg","type":"image\/jpeg"}],"author":"8SQ","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"8SQ","Tiempo estimado de lectura":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.8sq.io\/index.php\/2022\/04\/18\/cloudwatch-aws-sdk-javascript\/#article","isPartOf":{"@id":"https:\/\/www.8sq.io\/index.php\/2022\/04\/18\/cloudwatch-aws-sdk-javascript\/"},"author":{"name":"8SQ","@id":"https:\/\/www.8sq.io\/#\/schema\/person\/768c651ed1ef791fb7f00c00846f8c10"},"headline":"Enviar m\u00e9tricas y logs a CloudWatch AWS usando AWS-SDK de JAVASCRIPT","datePublished":"2022-04-18T20:32:02+00:00","dateModified":"2024-02-26T14:24:19+00:00","mainEntityOfPage":{"@id":"https:\/\/www.8sq.io\/index.php\/2022\/04\/18\/cloudwatch-aws-sdk-javascript\/"},"wordCount":349,"commentCount":0,"publisher":{"@id":"https:\/\/www.8sq.io\/#organization"},"image":{"@id":"https:\/\/www.8sq.io\/index.php\/2022\/04\/18\/cloudwatch-aws-sdk-javascript\/#primaryimage"},"thumbnailUrl":"https:\/\/www.8sq.io\/wp-content\/uploads\/2020\/08\/ryan-geller-4ZPsW7PCNfA-unsplash.jpg","keywords":["aws","aws-sdk","cloudwatch","javascript","logs","metrics"],"articleSection":["News","Useful"],"inLanguage":"es-CL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.8sq.io\/index.php\/2022\/04\/18\/cloudwatch-aws-sdk-javascript\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.8sq.io\/index.php\/2022\/04\/18\/cloudwatch-aws-sdk-javascript\/","url":"https:\/\/www.8sq.io\/index.php\/2022\/04\/18\/cloudwatch-aws-sdk-javascript\/","name":"Enviar m\u00e9tricas y LOGS a CloudWatch usando Node.JS Octasquare","isPartOf":{"@id":"https:\/\/www.8sq.io\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.8sq.io\/index.php\/2022\/04\/18\/cloudwatch-aws-sdk-javascript\/#primaryimage"},"image":{"@id":"https:\/\/www.8sq.io\/index.php\/2022\/04\/18\/cloudwatch-aws-sdk-javascript\/#primaryimage"},"thumbnailUrl":"https:\/\/www.8sq.io\/wp-content\/uploads\/2020\/08\/ryan-geller-4ZPsW7PCNfA-unsplash.jpg","datePublished":"2022-04-18T20:32:02+00:00","dateModified":"2024-02-26T14:24:19+00:00","description":"C\u00f3mo enviar m\u00e9tricas a LOGS a CloudWatch usando el SDK de AWS para Javascript usando NodeJS de forma f\u00e1cil, segura y con poco c\u00f3digo","breadcrumb":{"@id":"https:\/\/www.8sq.io\/index.php\/2022\/04\/18\/cloudwatch-aws-sdk-javascript\/#breadcrumb"},"inLanguage":"es-CL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.8sq.io\/index.php\/2022\/04\/18\/cloudwatch-aws-sdk-javascript\/"]}]},{"@type":"ImageObject","inLanguage":"es-CL","@id":"https:\/\/www.8sq.io\/index.php\/2022\/04\/18\/cloudwatch-aws-sdk-javascript\/#primaryimage","url":"https:\/\/www.8sq.io\/wp-content\/uploads\/2020\/08\/ryan-geller-4ZPsW7PCNfA-unsplash.jpg","contentUrl":"https:\/\/www.8sq.io\/wp-content\/uploads\/2020\/08\/ryan-geller-4ZPsW7PCNfA-unsplash.jpg","width":800,"height":600},{"@type":"BreadcrumbList","@id":"https:\/\/www.8sq.io\/index.php\/2022\/04\/18\/cloudwatch-aws-sdk-javascript\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/www.8sq.io\/"},{"@type":"ListItem","position":2,"name":"Enviar m\u00e9tricas y logs a CloudWatch AWS usando AWS-SDK de JAVASCRIPT"}]},{"@type":"WebSite","@id":"https:\/\/www.8sq.io\/#website","url":"https:\/\/www.8sq.io\/","name":"Octasquare","description":"Development &amp; Consulting apoyo en implementaci\u00f3n de soluciones cloud, gesti\u00f3n de proyectos y m\u00e1s","publisher":{"@id":"https:\/\/www.8sq.io\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.8sq.io\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es-CL"},{"@type":"Organization","@id":"https:\/\/www.8sq.io\/#organization","name":"Octasquare","url":"https:\/\/www.8sq.io\/","logo":{"@type":"ImageObject","inLanguage":"es-CL","@id":"https:\/\/www.8sq.io\/#\/schema\/logo\/image\/","url":"https:\/\/www.8sq.io\/wp-content\/uploads\/2022\/04\/logo_8sq_sticky.png","contentUrl":"https:\/\/www.8sq.io\/wp-content\/uploads\/2022\/04\/logo_8sq_sticky.png","width":271,"height":121,"caption":"Octasquare"},"image":{"@id":"https:\/\/www.8sq.io\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.8sq.io\/#\/schema\/person\/768c651ed1ef791fb7f00c00846f8c10","name":"8SQ","image":{"@type":"ImageObject","inLanguage":"es-CL","@id":"https:\/\/www.8sq.io\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/163c3e1152a56725f63510e928d969eb6e3760c257ae4139ea965a14b2fb4273?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/163c3e1152a56725f63510e928d969eb6e3760c257ae4139ea965a14b2fb4273?s=96&d=mm&r=g","caption":"8SQ"},"sameAs":["https:\/\/www.8sq.cl"],"url":"https:\/\/www.8sq.io\/index.php\/author\/rberrezueta\/"}]}},"_links":{"self":[{"href":"https:\/\/www.8sq.io\/index.php\/wp-json\/wp\/v2\/posts\/538","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.8sq.io\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.8sq.io\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.8sq.io\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.8sq.io\/index.php\/wp-json\/wp\/v2\/comments?post=538"}],"version-history":[{"count":12,"href":"https:\/\/www.8sq.io\/index.php\/wp-json\/wp\/v2\/posts\/538\/revisions"}],"predecessor-version":[{"id":949,"href":"https:\/\/www.8sq.io\/index.php\/wp-json\/wp\/v2\/posts\/538\/revisions\/949"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.8sq.io\/index.php\/wp-json\/wp\/v2\/media\/547"}],"wp:attachment":[{"href":"https:\/\/www.8sq.io\/index.php\/wp-json\/wp\/v2\/media?parent=538"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.8sq.io\/index.php\/wp-json\/wp\/v2\/categories?post=538"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.8sq.io\/index.php\/wp-json\/wp\/v2\/tags?post=538"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}