{
    "componentChunkName": "component---src-templates-issues-tsx",
    "path": "/issues/622",
    "result": {"data":{"issuesJson":{"id":"c990c638-ece2-5371-aaf6-b2bfb0cfa7ee","title":"nerdswords/yet-another-cloudwatch-exporter: AWS CloudWatch 的 Prometheus 导出器 - 通过 AWS 标签发现服务，获取 CloudWatch 指标数据，并以 AWS 标签作为标签，将其作为 Prometheus 指标提供","number":622,"bodyHTML":"<div align=\"center\" dir=\"auto\">\n<p dir=\"auto\"><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/a15b413168923d02e21292705ceaf86b92675f98e250c5c896a02ba7504a6eae/68747470733a2f2f63646e2e6a7364656c6976722e6e65742f67682f657279616a662f7475406d61696e2f696d672f696d6167655f32303234303432305f3231343430382e676966\"><img src=\"https://camo.githubusercontent.com/a15b413168923d02e21292705ceaf86b92675f98e250c5c896a02ba7504a6eae/68747470733a2f2f63646e2e6a7364656c6976722e6e65742f67682f657279616a662f7475406d61696e2f696d672f696d6167655f32303234303432305f3231343430382e676966\" width=\"100%\" height=\"3\" data-animated-image=\"\" data-canonical-src=\"https://cdn.jsdelivr.net/gh/eryajf/tu@main/img/image_20240420_214408.gif\" style=\"max-width: 100%; height: auto; max-height: 3px;\"></a><br><br></p>\n<markdown-accessiblity-table><table role=\"table\">\n<thead>\n<tr>\n<th align=\"right\">Repos</th>\n<th align=\"left\"><a href=\"https://github.com/nerdswords/yet-another-cloudwatch-exporter\">nerdswords/yet-another-cloudwatch-exporter</a></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td align=\"right\"><strong>Views</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/4be4a83bb987abc4084abf4bd653803c06c158e78d0d436bee31674a63856f17/68747470733a2f2f76696577732e77686174696c656172656e65642e746f6461792f76696577732f6769746875622f6e65726473776f7264732f7965742d616e6f746865722d636c6f756477617463682d6578706f727465722e737667\" alt=\"views\" data-canonical-src=\"https://views.whatilearened.today/views/github/nerdswords/yet-another-cloudwatch-exporter.svg\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>Stars</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/7d0e59fcd793ca69ce66937b34a96f386b0330b982b1687c5357a6dfa50bb225/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6e65726473776f7264732f7965742d616e6f746865722d636c6f756477617463682d6578706f727465723f636f6c6f723d663266303864266c6f676f3d556e64657274616c65266c6f676f436f6c6f723d656234363330\" alt=\"stars\" data-canonical-src=\"https://img.shields.io/github/stars/nerdswords/yet-another-cloudwatch-exporter?color=f2f08d&amp;logo=Undertale&amp;logoColor=eb4630\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>Forks</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/2017cd360712f196aaf7746df60bbaf90fe21e6137b68c2dd8eb5acd312f47d5/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f6e65726473776f7264732f7965742d616e6f746865722d636c6f756477617463682d6578706f727465723f636f6c6f723d626138366562266c6f676f3d48616e647368616b65266c6f676f436f6c6f723d656136616136\" alt=\"forks\" data-canonical-src=\"https://img.shields.io/github/forks/nerdswords/yet-another-cloudwatch-exporter?color=ba86eb&amp;logo=Handshake&amp;logoColor=ea6aa6\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>License</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/20512e97462beb82b3b9752df8851aef13827378d0fc8d6c3e36c41fc708bf58/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6e65726473776f7264732f7965742d616e6f746865722d636c6f756477617463682d6578706f727465723f6c6f676f3d64617461253341696d616765253246706e672533426261736536342532436956424f5277304b47676f414141414e53556845556741414144414141414177434159414141425841766d48414141414358424957584d41414173544141414c457745416d70775941414144336b6c45515652346e4f335953557a5555426748384a726f57567255474a66456d3773584e63534446784d544c327069347348456778654e526f77586770455742445552522532424e414e4f4b4f4b36366f6f4b4a4742586545475263574163455646475152484677516d483525324630774861655748493944554455354c356b6e6568644f62377a66652532423139636e434a47495243516945596c514237594a4979474c38616f73756c565a36695246516a69474b6b7564576735614c6c704f70704e586e665071773555304459524a6d56786a4367464633424c755a476d416f5655694b4541726d583744375553677351706f72674761336748664b34483663754262435644334771683141352532424c6745253242467749656e514d306a6f446f66714c6f48564e7742796d384370546e416d327a51713073676478624964515a556c416b7150415a3664676a303541446f59526f6f66792532466f5869726f376b3551586a4c6f70677a4b69514e6c4c4461716f4967754577426a7a7150355066446a45394479495879493633464d547751464d43567271774e61763451666f52673538514625324266724d485172454b3844546f434d714e4179574e4866786d54526f4c4f726d5352566747744466714345715a4f4851727a6f34706243557341333431365169364551394b476a6345465267484f724f4b6e5536574162396247455459656b4b7843766a546167394534706a653534446b3551503862624d4859762532464333756541654a6b50304f4778422532424a70426e4172595238455951516e6f4e31414e4661426e5050356c385372736559514c303641646b30464a5938484f5761424d6c6541486a683068506f73497a6c6f3876304125324633345a694f6548726130714b52504d5653493774762532423932747725324676687855654252713456454c674d376642714b354770526d6f514c584e7075625475367a6f4e52706754386e5051627138347764253246494375767978694b4871694e41664933774d367549684271476b4c696977414f734b44714f68743749747239567938536a52424557667941627225324668523142667056514664484a42253246423268683778376a36517077435665655951326b72554235436c636a3641326d3067576a25324244306d4c34397a573563517943484c4e37726a6c6d6d6174457958582532464372547a412532466f51785a6b576c39474a5443566f25324279546a3837253242346769504b6376307149486f344156344430565a727251493334706e70524d36357875652532467a417265453425324654253246536f676c664542794d7369517441546c4c3352414a355948725378365a44665337307337754d486842705225324659423573305057366f455270316236253246667252684b3353444c35546965364f515548516c5133735644752532427a50636b397657453973747225324236496a533967486d5750616861444a25324277434b364e494242587348423948796b587378774470686c436d416476706c6162554a4e6e5a504239342532464e7436784f6538587a4562503257684d335741673147756236744825324233513150673337365239713475716c6e6f36676448476a444f5139306562303141484d3672596975554a314f713472344656756a35765239427a4d3957674e764f7977446869495951467667626366774166774d764863615067425041253246447948476a50624e394138616d6562636477416444354e6633373574787165774e5552656f797677424958594c645170576c6877465771745061435044334173467541535636717171496c62304a766b564331464c39576b4c55556c55574b337a585a4c46432532423125324642726f46746f364f7358497545594a5034447a7a5732594656316f4a614141414141456c46546b5375516d4343\" alt=\"license\" data-canonical-src=\"https://img.shields.io/github/license/nerdswords/yet-another-cloudwatch-exporter?logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAD3klEQVR4nO3YSUzUUBgH8JroWVrUGJfEm7sXNcSDFxMTL2pi4sHEgxeNRowXgpEWBDURR%2BNANOKOK66ooKJGBXeEGRcWAcEVFGQRHFwQmH5%2F0wHaeWHI9DUDU5L5knehdOb7zfe%2B19cnCJGIRCQiEYlQB7YJIyGL8aosulVZ6iRFQjiGKkudWg5aLlpOppNXnfPqw5U0DYRJmVxjCgFF3BLuZGmAoVUiKEArmX7D7USgsQporgGa3gHfK4H6cuBbCVD3Gqh1A5%2BLgE%2BFwIenQM0joDofqLoHVNwBym8CpTnAm2zQq0sgdxbIdQZUlAkqPAZ6dgj05ADoYRoofy%2FoXiro7k5QXjLopgzKiQNlLDaqoIguEwBjzqP5PfDjE9DyIXyI63FMTwQFMCVrqwNav4QfoRg58QF%2BfrMHQrEK8DToCMqNAyWNHfxmTRoLOrmSRVgGtDfqCEqZOHQrzo4pbCUsA3416Qi6EQ9KGjcEFRgHOrOKnU6WAb9bGETYekKxCvjTag9E4pje54Dk5QP8bbMHYv%2FC3ueAeJkP0OGxB%2BJpBnArYR8EYQQnoN1ANFaBnPP5l8SrseYQL06Adk0FJY8HOWaBMleAHjh0hPosIzlo8v0A%2F34ZiOeHra0qKRPMVSI7tv%2B92tw%2FvhxUeBRq4VELgM7fBqK5GpRmoQLXNpubTu6zoNRpgT8nPQbq84wd%2FICuvyxiKHqiNAfI3wM6uIhBqGkLiiwAOsKDqOht7Itr9Vy8SjRBEWfyAbr%2FhR1BfpVQFdHJB%2FB2hh7x7j6QpwCVeeYQ2krUB5Clcj6A2m0gWj%2BD0mL49zW5cQyCHLN7rjlmmatEyXX%2FCrTzA%2FoQxZkWl9GJTCVo%2ByTj87%2B4giPKcv0qIHo4AV4D0VZrrQI34pnpRM65xue%2FzAreE4%2FT%2FSoglfEByMsiQtATlL3RAJ5YHrSx6ZDfS70s7uMHhBpR%2FYB5s0PW6oERp1b6%2FfrRhK3SDL5Tie6OQUHQlQ3sVDu%2BzPck9vWE9str%2B6IjS9gHmWPahaDJ%2BwCK6NIBBXsHB9HykXsxwDphlCmAdvplabUJNnZPB94%2FNt6xOe8XzEbP2WhM3WAg1Gub6tH%2B3Q1Pg376R9q4uqlno6gdHGjDOQ90eb01AHM6rYiuUJ1Oq4r4FVuj5vR9BzM9WgNvOywDhiIYQFvgbcfwAfwMvHcaPgBPA%2FDyHGjPbN9A8amebcdwAdD5Nf375txqewNUReoyvwBIXYLdQpWlhwFWqtPaCPD3AsFuASV6qqqIlb0JvkVC1FL9WkLUUlUWK3zXZLFC%2B1%2FBroFto6OsXIuEYJP4DzzW2YFV1oJaAAAAAElFTkSuQmCC\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>UpdatedAt</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/81e3dbc43b7be01cc806d8766f42919431542cff41f250f40b868366f63e6894/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6173742d636f6d6d69742f6e65726473776f7264732f7965742d616e6f746865722d636c6f756477617463682d6578706f727465723f646973706c61795f74696d657374616d703d636f6d6d6974746572266c6f676f3d64617461253341696d616765253246706e672533426261736536342532436956424f5277304b47676f414141414e5355684555674141414234414141416543415941414141374d4b3669414141414358424957584d41414173544141414c457745416d7077594141414648556c45515652346e4c5658375539615678776d3236646c582532466468627825324232253246516e626b7655627264554151674a4a496655444e574454546d4f76314651554661504a346b7573725630314a7431734e70637453327533626f745a746d786439744a5346536f714b71494635625944464c436f76436c656673747a4a387758524c445a4c7a6e6b634f343535376e3364332532466e655a3472454f515a74315771462532423858467234253242664f4c4565326a6f59307a776638546f795a50766a45676b4c592532426b306d6d72584f36644b696e787a476b30666a5430782532425279723055716e6359637a4d317263347451253242497270324c4758646f344e4334567657715453373277716c632532427231334f527269364b6458646e624f484c6c776c7a4a70524b6e3657342532424b36706f4f434e6e494166486a253246253242776168495a4234764b6e715a6630714a704e49716c2532467638545530634e6c3572627963337730516e54703379324c54614a374d314e617844723266526e315370504736476961323174664533345463614f617931694d55564f5146624659714957536f31573854694156616e43306576584f4542375770313448466232327a453566714c4f433545524c515769644e614e49347545636339693768634a6c644868324e57725135674464624f6c7061756d49754c62326174415144506e7a3062384e6257636d785656524a33486d7870536377777a4f4a6d4b44524765384c6c435a444c4739673754496e5631516c376462586256316533675430574b697243466f6d6b5079767758466c5a474a4f6a563625324253743634757564445a4f55354555636f782532464d455144567674364d62634e3237593341797a687633737061557242365a3971724a534f3139657a6a387032704c426b4a792532426343484a7857493567573574636652527a31645531394766476b6f7539505a4f34736d52396a4746777065783444793362766e6d4b79706f74625531335669646a71595a68726a343972764d457425324625324659714c7a396430304e6a57253246637a67796f394f35317a7336614e6c6f354644747530445a675146686c47584a30644241446f4e6864367576703657686f617967374e394c564748386d443462253246486e667455516f4e4734764c51306769784d716c5725324234714f6a744e48446733723166365969525347785279375576714c62395534716b716e78504f4e7661356c447048723125324279794b524e4b57425a793565644d554842326d3572792532422532424551772532427a6766347a6f39253246306f634e3357527a4c4277344a2532424a7950574372716d4967475974554f735744346f785a46516f50556a4770564871493425324661666b51504336665a5165654d31253242764c7549516e6a754257514444437363726d485039656f4e5041744271664f6e5875614b25324268364a45624772732532427076764d6d78654962683836336162565065597953456f39464a48704e4d464a59253242503563575a6b6667374f3174537759436553514c54593345385130392532464256504a556c78516a7368543142736343593032723955445542667643484236367063665041336c794165336e6772332532463437584467614a7a736c7937787741364e5a746c555550437541487161536a5549502532427375653842525741432532464e6651374a5a505a35397330476a3756747049537a34685125324243706658474d4b685a63764c70554b7866574d386f68766637702532464f446a4842666356463849736b383267314648796b63564645253242555a414158343761452532464d6c34504f3530506e75683025324678346e6d637957507364774468427836436d6b4c562532466746446a594b784f4a4f4674623077517949684c39527943774b33414f664947703159464542686e4d4a634c525745624b644b516f55366e63545a6b494544696341792532463831645675454d3552775066657934784f7830496b25324649324e6e466b692532425761664f6f464959466367595a43797864376543556a626334416d46363566742532466b4d686b336f25324235686337734d4a79716a4a45477659466151464972375930775077384246415925324236253242766d6b3377367a7a5275444d6d5a5652736668385274413075455453443775434254364459514e36697665553066706b594c6a453671725672744f78654e4b553954484c5a4a396b4255324a427342685635416976422532466f4b61514e4b675043427744596149665a4334616454684f71463457454e56694c4a77566f586f62664c424b56773637414f6154734c6336355461564b32317651344c613939654b6359673576627873624f627a5451394e37554b4467554f3177446a6944494942736868357a746733396e514d4c535a4248344f7a424f55444551586d323036643366634c67737762585141345068634b336e6873775531427a3877765130395248472532466f597933656a6677424e6d746f59714c4130586741414141424a52553545726b4a676767253344253344266c6162656c3d557064617465644174\" alt=\"last-commit\" data-canonical-src=\"https://img.shields.io/github/last-commit/nerdswords/yet-another-cloudwatch-exporter?display_timestamp=committer&amp;logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFHUlEQVR4nLVX7U9aVxwm26dlX%2Fdhbx%2B2%2FQnbkvUbrdUAQgJJIfUDNWDTTmOv1FQUFaPJ4kusrV01Jt1sNpctS2u3botZtmxd9tJSFSoqKqIF5bYDFLCovClefstzJ8wXRLDZLznkcO4557n3d3%2FneZ4rEOQZt1WqF%2B8XFr4%2BfOLEe2joY0zwf8ToyZPvjEgkLY%2Bk0mmrXO6dKinxzGk0fjT0x%2BRyr0UqncYczM1rc4tQ%2BIrp2LGXdo4NC4VvWqTS72wqlc%2Br13ORri6KdXdnbOHLlwlzJpRKn6W4%2BK6poOCNnIAfHj%2F%2BwahIZB4vKnqZf0qJpNIql%2Fv8TU0cNl5rbyc3w0QnTp3y2LTaJ7M1NaxDr2fRn1SpPG6Gia21tfE34TcaOay1iMUVOQFbFYqIWSo1W8TiAVanC0evXOEB7Wp14HFb22zE5fqLOC5ERLQWidNaNI4uEcc9i7hcJldHh2NWrQ5gDdbOlpaumIuLb2atAQDPnz0b8NbWcmxVVRJ3HmxpScwwzOJmKDRGe8LlCZDLG9g7TInV1Ql7dbXbV1e3gT0WKirCFomkPyvwXFlZGJOjV6%2BSt64uudDZOU5EUcox%2FMEQDVvt6MbcN27Y3Ayzhv3spaUrB6Z9qrJSO19ezj8p2pLBkJy%2BcCHJxWI5gW5tcfRRz1dU19GfGkou9PZO4smR9jGFwpex4Dy3bvnmKypotbU13VidjqYZhrj49rvMEt%2F%2FYqLz9d00NjW%2Fczgyo9O51zs6aNlo5FDtu0DZgQFhlGXJ0dBADoNhd6uvp6Whoayg7N9LVGH8mD4b%2FHnftUQoNG4vLQ0gixMqlW%2B4qOjtNHDg3r1f6YiRSGxRy7UvqLb9U4qkqnxPONva5lDpHr1%2ByyKRNKWBZy5edMUHB2m5ry%2B%2BEQw%2Bzgf4zo9%2F0ocN3WRzLBw4J%2BJyPWCrqmIgGYtUOsWD4oxZFQoPUjGpVHqI4%2FafkQPC6fZQeeM1%2BvLuIQnjuBWQDDCscrmHP9eoNPAtBqfOnXuaK%2Bh6JEbGrs%2BpvvMmxeIbh863abVPeYySEo9FJHpNMFJY%2BP5cWZkfg7O1tSwYCeSQLTY3E8Q09%2FBVPJUlxQjshT1BscCY02r9UDUBfvCHB66pcfPA3lyAe3ngr3%2F47XDgaJzsly7xwA6NZtlUUPCuAHqaSjUIP%2Bsue8BRWAC%2FNfQ7JZPZ59s0Gj7VtpISz4hQ%2BCpfXGMKhZcvLpUKxfWM8ohvf7p%2FODjHBfcVF8Isk82g1FHykcVFE%2BUZAAX47aE%2FMl4PO50Pnuh0%2Fx4nmcyWPsdwDhBx6CmkLV%2FgFDjYKxOJOFtb0wQyIhL9RyCwK3AOfIGp1YFEBhnMJcLRWEbKdKQoU6ncTZkIEDicAy%2F81dVuEM5RwPfey4xOx0Ik%2FI2NnFki%2BWafOoFIYFcgYZCyxd7eCUjbc4AmF65ft%2FkMhk3o%2B5hc7sMJyqjJEGvYFaQFIr7Y0wPw8BFAY%2B6%2Bvmk3w6zzRuDMmZVRsfh8RtA0uETSD7uCBT6DYQN6iveU0fpkYLjE6qrVrtOxeNKU9THLZJ9kBU2JBsBhV5AivB%2FoKaQNKgPCBwDYaIfZC4adThOqF4WENViLJwVoXobfLBKVw67AOaTsLc65TaVK21vQ4La99eKcYg5vbxsbObzTQ9N7UKDgUO1wDjiDIIBshh5ztg39nQMLSZBH4OzBOUDEQXm206d3fcLgswbXQA4PhcK3nhswU1Bz8wvQ09RHG%2FoYy3ejfwBNmtoYqLA0XgAAAABJRU5ErkJggg%3D%3D&amp;label=UpdatedAt\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>CreatedAt</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/768b09b2b7749a0e051f9debd8898db771e3113d3c1759b55d49c773d46d4023/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f637265617465642d61742f6e65726473776f7264732f7965742d616e6f746865722d636c6f756477617463682d6578706f727465723f6c6f676f3d64617461253341696d616765253246706e672533426261736536342532436956424f5277304b47676f414141414e5355684555674141414234414141416543415941414141374d4b3669414141414358424957584d41414173544141414c457745416d7077594141414648556c45515652346e4c5658375539615678776d3236646c582532466468627825324232253246516e626b7655627264554151674a4a496655444e574454546d4f76314651554661504a346b7573725630314a7431734e70637453327533626f745a746d786439744a5346536f714b71494635625944464c436f76436c656673747a4a387758524c445a4c7a6e6b634f343535376e3364332532466e655a3472454f515a74315771462532423858467234253242664f4c4565326a6f59307a776638546f795a50766a45676b4c592532426b306d6d72584f36644b696e787a476b30666a5430782532425279723055716e6359637a4d317263347451253242497270324c4758646f344e4334567657715453373277716c632532427231334f527269364b6458646e624f484c6c776c7a4a70524b6e3657342532424b36706f4f434e6e494166486a253246253242776168495a4234764b6e715a6630714a704e49716c2532467638545530634e6c3572627963337730516e54703379324c54614a374d314e617844723266526e315370504736476961323174664533345463614f617931694d55564f5146624659714957536f31573854694156616e43306576584f4542375770313448466232327a453566714c4f433545524c515769644e614e49347545636339693768634a6c644868324e57725135674464624f6c7061756d49754c62326174415144506e7a3062384e6257636d785656524a33486d7870536377777a4f4a6d4b44524765384c6c435a444c4739673754496e5631516c376462586256316533675430574b697243466f6d6b5079767758466c5a474a4f6a563625324253743634757564445a4f55354555636f782532464d455144567674364d62634e3237593341797a687633737061557242365a3971724a534f3139657a6a387032704c426b4a792532426343484a7857493567573574636652527a31645531394766476b6f7539505a4f34736d52396a4746777065783444793362766e6d4b79706f74625531335669646a71595a68726a343972764d457425324625324659714c7a396430304e6a57253246637a67796f394f35317a7336614e6c6f354644747530445a675146686c47584a30644241446f4e6864367576703657686f617967374e394c564748386d443462253246486e667455516f4e4734764c51306769784d716c5725324234714f6a744e48446733723166365969525347785279375576714c62395534716b716e78504f4e7661356c447048723125324279794b524e4b57425a793565644d554842326d3572792532422532424551772532427a6766347a6f39253246306f634e3357527a4c4277344a2532424a7950574372716d4967475974554f735744346f785a46516f50556a4770564871493425324661666b51504336665a5165654d31253242764c7549516e6a754257514444437363726d485039656f4e5041744271664f6e5875614b25324268364a45624772732532427076764d6d78654962683836336162565065597953456f39464a48704e4d464a59253242503563575a6b6667374f3174537759436553514c54593345385130392532464256504a556c78516a7368543142736343593032723955445542667643484236367063665041336c794165336e6772332532463437584467614a7a736c7937787741364e5a746c555550437541487161536a5549502532427375653842525741432532464e6651374a5a505a35397330476a3756747049537a34685125324243706658474d4b685a63764c70554b7866574d386f68766637702532464f446a4842666356463849736b383267314648796b63564645253242555a414158343761452532464d6c34504f3530506e75683025324678346e6d637957507364774468427836436d6b4c562532466746446a594b784f4a4f4674623077517949684c39527943774b33414f664947703159464542686e4d4a634c525745624b644b516f55366e63545a6b494544696341792532463831645675454d3552775066657934784f7830496b25324649324e6e466b692532425761664f6f464959466367595a43797864376543556a626334416d46363566742532466b4d686b336f25324235686337734d4a79716a4a45477659466151464972375930775077384246415925324236253242766d6b3377367a7a5275444d6d5a5652736668385274413075455453443775434254364459514e36697665553066706b594c6a453671725672744f78654e4b553954484c5a4a396b4255324a427342685635416976422532466f4b61514e4b675043427744596149665a4334616454684f71463457454e56694c4a77566f586f62664c424b56773637414f6154734c6336355461564b32317651344c613939654b6359673576627873624f627a5451394e37554b4467554f3177446a6944494942736868357a746733396e514d4c535a4248344f7a424f55444551586d323036643366634c67737762585141345068634b336e6873775531427a3877765130395248472532466f597933656a6677424e6d746f59714c4130586741414141424a52553545726b4a676767253344253344266c6162656c3d437265617465644174\" alt=\"create-at\" data-canonical-src=\"https://img.shields.io/github/created-at/nerdswords/yet-another-cloudwatch-exporter?logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFHUlEQVR4nLVX7U9aVxwm26dlX%2Fdhbx%2B2%2FQnbkvUbrdUAQgJJIfUDNWDTTmOv1FQUFaPJ4kusrV01Jt1sNpctS2u3botZtmxd9tJSFSoqKqIF5bYDFLCovClefstzJ8wXRLDZLznkcO4557n3d3%2FneZ4rEOQZt1WqF%2B8XFr4%2BfOLEe2joY0zwf8ToyZPvjEgkLY%2Bk0mmrXO6dKinxzGk0fjT0x%2BRyr0UqncYczM1rc4tQ%2BIrp2LGXdo4NC4VvWqTS72wqlc%2Br13ORri6KdXdnbOHLlwlzJpRKn6W4%2BK6poOCNnIAfHj%2F%2BwahIZB4vKnqZf0qJpNIql%2Fv8TU0cNl5rbyc3w0QnTp3y2LTaJ7M1NaxDr2fRn1SpPG6Gia21tfE34TcaOay1iMUVOQFbFYqIWSo1W8TiAVanC0evXOEB7Wp14HFb22zE5fqLOC5ERLQWidNaNI4uEcc9i7hcJldHh2NWrQ5gDdbOlpaumIuLb2atAQDPnz0b8NbWcmxVVRJ3HmxpScwwzOJmKDRGe8LlCZDLG9g7TInV1Ql7dbXbV1e3gT0WKirCFomkPyvwXFlZGJOjV6%2BSt64uudDZOU5EUcox%2FMEQDVvt6MbcN27Y3Ayzhv3spaUrB6Z9qrJSO19ezj8p2pLBkJy%2BcCHJxWI5gW5tcfRRz1dU19GfGkou9PZO4smR9jGFwpex4Dy3bvnmKypotbU13VidjqYZhrj49rvMEt%2F%2FYqLz9d00NjW%2Fczgyo9O51zs6aNlo5FDtu0DZgQFhlGXJ0dBADoNhd6uvp6Whoayg7N9LVGH8mD4b%2FHnftUQoNG4vLQ0gixMqlW%2B4qOjtNHDg3r1f6YiRSGxRy7UvqLb9U4qkqnxPONva5lDpHr1%2ByyKRNKWBZy5edMUHB2m5ry%2B%2BEQw%2Bzgf4zo9%2F0ocN3WRzLBw4J%2BJyPWCrqmIgGYtUOsWD4oxZFQoPUjGpVHqI4%2FafkQPC6fZQeeM1%2BvLuIQnjuBWQDDCscrmHP9eoNPAtBqfOnXuaK%2Bh6JEbGrs%2BpvvMmxeIbh863abVPeYySEo9FJHpNMFJY%2BP5cWZkfg7O1tSwYCeSQLTY3E8Q09%2FBVPJUlxQjshT1BscCY02r9UDUBfvCHB66pcfPA3lyAe3ngr3%2F47XDgaJzsly7xwA6NZtlUUPCuAHqaSjUIP%2Bsue8BRWAC%2FNfQ7JZPZ59s0Gj7VtpISz4hQ%2BCpfXGMKhZcvLpUKxfWM8ohvf7p%2FODjHBfcVF8Isk82g1FHykcVFE%2BUZAAX47aE%2FMl4PO50Pnuh0%2Fx4nmcyWPsdwDhBx6CmkLV%2FgFDjYKxOJOFtb0wQyIhL9RyCwK3AOfIGp1YFEBhnMJcLRWEbKdKQoU6ncTZkIEDicAy%2F81dVuEM5RwPfey4xOx0Ik%2FI2NnFki%2BWafOoFIYFcgYZCyxd7eCUjbc4AmF65ft%2FkMhk3o%2B5hc7sMJyqjJEGvYFaQFIr7Y0wPw8BFAY%2B6%2Bvmk3w6zzRuDMmZVRsfh8RtA0uETSD7uCBT6DYQN6iveU0fpkYLjE6qrVrtOxeNKU9THLZJ9kBU2JBsBhV5AivB%2FoKaQNKgPCBwDYaIfZC4adThOqF4WENViLJwVoXobfLBKVw67AOaTsLc65TaVK21vQ4La99eKcYg5vbxsbObzTQ9N7UKDgUO1wDjiDIIBshh5ztg39nQMLSZBH4OzBOUDEQXm206d3fcLgswbXQA4PhcK3nhswU1Bz8wvQ09RHG%2FoYy3ejfwBNmtoYqLA0XgAAAABJRU5ErkJggg%3D%3D&amp;label=CreatedAt\" style=\"max-width: 100%;\"></a></td>\n</tr>\n</tbody>\n</table></markdown-accessiblity-table>\n<a href=\"https://github.com/opsre/awesome-ops\">\n</a><p dir=\"auto\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/b964a36ea4078c39f603d46a29436371c7541a2f26e0228d7b21b9d9805b43d3/68747470733a2f2f736f6369616c6966792e6769742e63692f6f707372652f617765736f6d652d6f70732f696d6167653f6465736372697074696f6e3d3126666f6e743d42697474657226666f726b733d31266973737565733d31266c616e67756167653d31266c6f676f3d6874747073253341253246253246617661746172732e67697468756275736572636f6e74656e742e636f6d25324675253246313838353638303230266e616d653d31266f776e65723d31267061747465726e3d436972637569742b426f6172642670756c6c733d31267374617267617a6572733d31267468656d653d4c69676874\" alt=\"\" data-canonical-src=\"https://socialify.git.ci/opsre/awesome-ops/image?description=1&amp;font=Bitter&amp;forks=1&amp;issues=1&amp;language=1&amp;logo=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F188568020&amp;name=1&amp;owner=1&amp;pattern=Circuit+Board&amp;pulls=1&amp;stargazers=1&amp;theme=Light\" style=\"max-width: 100%;\"></a></p>\n<a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/a15b413168923d02e21292705ceaf86b92675f98e250c5c896a02ba7504a6eae/68747470733a2f2f63646e2e6a7364656c6976722e6e65742f67682f657279616a662f7475406d61696e2f696d672f696d6167655f32303234303432305f3231343430382e676966\"><img src=\"https://camo.githubusercontent.com/a15b413168923d02e21292705ceaf86b92675f98e250c5c896a02ba7504a6eae/68747470733a2f2f63646e2e6a7364656c6976722e6e65742f67682f657279616a662f7475406d61696e2f696d672f696d6167655f32303234303432305f3231343430382e676966\" width=\"100%\" height=\"3\" data-animated-image=\"\" data-canonical-src=\"https://cdn.jsdelivr.net/gh/eryajf/tu@main/img/image_20240420_214408.gif\" style=\"max-width: 100%; height: auto; max-height: 3px;\"></a>\n</div>\n<h1 dir=\"auto\">YACE - yet another cloudwatch exporter</h1>\n<p dir=\"auto\"><a href=\"https://quay.io/repository/prometheuscommunity/yet-another-cloudwatch-exporter\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/81a555ab2417b325fcb6133a4e29e9e1673536a467807504f6d502e03ee2031f/68747470733a2f2f717561792e696f2f7265706f7369746f72792f70726f6d657468657573636f6d6d756e6974792f7965742d616e6f746865722d636c6f756477617463682d6578706f727465722f737461747573\" alt=\"Container on Quay\" data-canonical-src=\"https://quay.io/repository/prometheuscommunity/yet-another-cloudwatch-exporter/status\" style=\"max-width: 100%;\"></a><br>\n<a href=\"https://hub.docker.com/r/prometheuscommunity/yet-another-cloudwatch-exporter\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/aeb306491da91c0e94997a90dc0515515339bcdda06d6e510125c9950f9a8e3e/68747470733a2f2f696d672e736869656c64732e696f2f646f636b65722f70756c6c732f70726f6d657468657573636f6d6d756e6974792f7965742d616e6f746865722d636c6f756477617463682d6578706f727465722e7376673f6d61784167653d363034383030\" alt=\"Container on Docker Hub\" data-canonical-src=\"https://img.shields.io/docker/pulls/prometheuscommunity/yet-another-cloudwatch-exporter.svg?maxAge=604800\" style=\"max-width: 100%;\"></a></p>\n<p dir=\"auto\">YACE, or <code class=\"notranslate\">yet another cloudwatch exporter</code>, is a <a href=\"https://prometheus.io/docs/instrumenting/exporters/#exporters-and-integrations\" rel=\"nofollow\">Prometheus exporter</a> for <a href=\"http://aws.amazon.com/cloudwatch/\" rel=\"nofollow\">AWS CloudWatch</a> metrics. It is written in Go and uses the official AWS SDK.</p>\n<h2 dir=\"auto\">News</h2>\n<p dir=\"auto\">As of November 2024, YACE is part of <a href=\"https://github.com/prometheus-community\">prometheus-community</a>. Read more about it in these announcement posts:</p>\n<ul dir=\"auto\">\n<li><a href=\"https://prometheus.io/blog/2024/11/19/yace-joining-prometheus-community/\" rel=\"nofollow\">https://prometheus.io/blog/2024/11/19/yace-joining-prometheus-community/</a></li>\n<li><a href=\"https://grafana.com/blog/2024/11/19/yace-moves-to-prometheus-community/\" rel=\"nofollow\">https://grafana.com/blog/2024/11/19/yace-moves-to-prometheus-community/</a></li>\n</ul>\n<h2 dir=\"auto\">Alternatives</h2>\n<p dir=\"auto\">Consider using the official <a href=\"https://github.com/prometheus/cloudwatch_exporter\">CloudWatch Exporter</a> if you prefer a Java implementation.</p>\n<h2 dir=\"auto\">Project Status</h2>\n<p dir=\"auto\">While YACE is at version less than 1.0.0, expect that any new release might introduce breaking changes. We'll document changes in <a href=\"CHANGELOG.md\">CHANGELOG.md</a>.</p>\n<p dir=\"auto\">Where feasible, features will be deprecated instead of being immediately changed or removed. This means that YACE will continue to work but might log warning messages. Expect deprecated features to be permanently changed/removed within the next 2/3 releases.</p>\n<h2 dir=\"auto\">Security</h2>\n<p dir=\"auto\">Read more how to report a security vulnerability in <a href=\"SECURITY.md\">SECURITY.md</a>.</p>\n<h3 dir=\"auto\">Supported Versions</h3>\n<p dir=\"auto\">Only the latest version gets security updates. We won't support older versions.</p>\n<h2 dir=\"auto\">Features</h2>\n<ul dir=\"auto\">\n<li>Stop worrying about your AWS IDs - Auto discovery of resources via tags</li>\n<li>Structured logging (json and logfmt)</li>\n<li>Filter monitored resources via regex</li>\n<li>Automatic adding of tag labels to metrics</li>\n<li>Automatic adding of dimension labels to metrics</li>\n<li>Allows to export 0 even if CloudWatch returns nil</li>\n<li>Allows exports metrics with CloudWatch timestamps (disabled by default)</li>\n<li>Static metrics support for all cloudwatch metrics without auto discovery</li>\n<li>Pull data from multiple AWS accounts using cross-account roles</li>\n<li>Can be used as a library in an external application</li>\n<li>Support the scraping of custom namespaces metrics with the CloudWatch Dimensions.</li>\n<li>Supported services with auto discovery through tags:\n<ul dir=\"auto\">\n<li><code class=\"notranslate\">/aws/sagemaker/Endpoints</code> - Sagemaker Endpoints</li>\n<li><code class=\"notranslate\">/aws/sagemaker/InferenceRecommendationsJobs</code> - Sagemaker Inference Recommender Jobs</li>\n<li><code class=\"notranslate\">/aws/sagemaker/ProcessingJobs</code> - Sagemaker Processing Jobs</li>\n<li><code class=\"notranslate\">/aws/sagemaker/TrainingJobs</code> - Sagemaker Training Jobs</li>\n<li><code class=\"notranslate\">/aws/sagemaker/TransformJobs</code> - Sagemaker Batch Transform Jobs</li>\n<li><code class=\"notranslate\">AmazonMWAA</code> - Managed Apache Airflow</li>\n<li><code class=\"notranslate\">AWS/ACMPrivateCA</code> - ACM Private CA</li>\n<li><code class=\"notranslate\">AWS/AmazonMQ</code> - Managed Message Broker Service</li>\n<li><code class=\"notranslate\">AWS/AOSS</code> - OpenSearch Serverless</li>\n<li><code class=\"notranslate\">AWS/ApiGateway</code> - ApiGateway (V1 and V2)</li>\n<li><code class=\"notranslate\">AWS/ApplicationELB</code> - Application Load Balancer</li>\n<li><code class=\"notranslate\">AWS/AppRunner</code> - Managed Container Apps Service</li>\n<li><code class=\"notranslate\">AWS/AppStream</code> - AppStream</li>\n<li><code class=\"notranslate\">AWS/AppSync</code> - AppSync</li>\n<li><code class=\"notranslate\">AWS/Athena</code> - Athena</li>\n<li><code class=\"notranslate\">AWS/AutoScaling</code> - Auto Scaling Group</li>\n<li><code class=\"notranslate\">AWS/Backup</code> - Backup</li>\n<li><code class=\"notranslate\">AWS/Bedrock</code> - GenerativeAI</li>\n<li><code class=\"notranslate\">AWS/Billing</code> - Billing</li>\n<li><code class=\"notranslate\">AWS/Cassandra</code> - Cassandra</li>\n<li><code class=\"notranslate\">AWS/CertificateManager</code> - Certificate Manager</li>\n<li><code class=\"notranslate\">AWS/ClientVPN</code> - Client-based VPN</li>\n<li><code class=\"notranslate\">AWS/CloudFront</code> - Cloud Front</li>\n<li><code class=\"notranslate\">AWS/Cognito</code> - Cognito</li>\n<li><code class=\"notranslate\">AWS/DataSync</code> - DataSync</li>\n<li><code class=\"notranslate\">AWS/DDoSProtection</code> - Distributed Denial of Service (DDoS) protection service</li>\n<li><code class=\"notranslate\">AWS/DirectoryService</code> - Directory Services (MicrosoftAD)</li>\n<li><code class=\"notranslate\">AWS/DMS</code> - Database Migration Service</li>\n<li><code class=\"notranslate\">AWS/DocDB</code> - DocumentDB (with MongoDB compatibility)</li>\n<li><code class=\"notranslate\">AWS/DX</code> - Direct Connect</li>\n<li><code class=\"notranslate\">AWS/DynamoDB</code> - NoSQL Key-Value Database</li>\n<li><code class=\"notranslate\">AWS/EBS</code> - Elastic Block Storage</li>\n<li><code class=\"notranslate\">AWS/EC2</code> - Elastic Compute Cloud</li>\n<li><code class=\"notranslate\">AWS/EC2Spot</code> - Elastic Compute Cloud for Spot Instances</li>\n<li><code class=\"notranslate\">AWS/ECR</code> - Elastic Container Registry</li>\n<li><code class=\"notranslate\">AWS/ECS</code> - Elastic Container Service (Service Metrics)</li>\n<li><code class=\"notranslate\">AWS/EFS</code> - Elastic File System</li>\n<li><code class=\"notranslate\">AWS/ElastiCache</code> - ElastiCache</li>\n<li><code class=\"notranslate\">AWS/ElasticBeanstalk</code> - Elastic Beanstalk</li>\n<li><code class=\"notranslate\">AWS/ElasticMapReduce</code> - Elastic MapReduce</li>\n<li><code class=\"notranslate\">AWS/ELB</code> - Elastic Load Balancer</li>\n<li><code class=\"notranslate\">AWS/EMRServerless</code> - Amazon EMR Serverless</li>\n<li><code class=\"notranslate\">AWS/ES</code> - ElasticSearch</li>\n<li><code class=\"notranslate\">AWS/Events</code> - EventBridge</li>\n<li><code class=\"notranslate\">AWS/Firehose</code> - Managed Streaming Service</li>\n<li><code class=\"notranslate\">AWS/FSx</code> - FSx File System</li>\n<li><code class=\"notranslate\">AWS/GameLift</code> - GameLift</li>\n<li><code class=\"notranslate\">AWS/GatewayELB</code> - Gateway Load Balancer</li>\n<li><code class=\"notranslate\">AWS/GlobalAccelerator</code> - AWS Global Accelerator</li>\n<li><code class=\"notranslate\">AWS/IoT</code> - IoT</li>\n<li><code class=\"notranslate\">AWS/IPAM</code> - IP address manager</li>\n<li><code class=\"notranslate\">AWS/Kafka</code> - Managed Apache Kafka</li>\n<li><code class=\"notranslate\">AWS/KafkaConnect</code> - AWS MSK Connectors</li>\n<li><code class=\"notranslate\">AWS/Kinesis</code> - Kinesis Data Stream</li>\n<li><code class=\"notranslate\">AWS/KinesisAnalytics</code> - Kinesis Data Analytics for SQL Applications</li>\n<li><code class=\"notranslate\">AWS/KMS</code> - Key Management Service</li>\n<li><code class=\"notranslate\">AWS/Lambda</code> - Lambda Functions</li>\n<li><code class=\"notranslate\">AWS/Logs</code> - CloudWatch Logs</li>\n<li><code class=\"notranslate\">AWS/MediaConnect</code> - AWS Elemental MediaConnect</li>\n<li><code class=\"notranslate\">AWS/MediaConvert</code> - AWS Elemental MediaConvert</li>\n<li><code class=\"notranslate\">AWS/MediaLive</code> - AWS Elemental MediaLive</li>\n<li><code class=\"notranslate\">AWS/MediaPackage</code> - AWS Elemental MediaPackage</li>\n<li><code class=\"notranslate\">AWS/MediaTailor</code> - AWS Elemental MediaTailor</li>\n<li><code class=\"notranslate\">AWS/MemoryDB</code> - AWS MemoryDB</li>\n<li><code class=\"notranslate\">AWS/MWAA</code> - Managed Apache Airflow (Container, queue, and database metrics)</li>\n<li><code class=\"notranslate\">AWS/NATGateway</code> - NAT Gateway</li>\n<li><code class=\"notranslate\">AWS/Neptune</code> - Neptune</li>\n<li><code class=\"notranslate\">AWS/NetworkELB</code> - Network Load Balancer</li>\n<li><code class=\"notranslate\">AWS/NetworkFirewall</code> - Network Firewall</li>\n<li><code class=\"notranslate\">AWS/Network Manager</code> - Network Manager</li>\n<li><code class=\"notranslate\">AWS/PrivateLinkEndpoints</code> - VPC Endpoint</li>\n<li><code class=\"notranslate\">AWS/PrivateLinkServices</code> - VPC Endpoint Service</li>\n<li><code class=\"notranslate\">AWS/Prometheus</code> - Managed Service for Prometheus</li>\n<li><code class=\"notranslate\">AWS/QLDB</code> - Quantum Ledger Database</li>\n<li><code class=\"notranslate\">AWS/QuickSight</code> - QuickSight (Business Intelligence)</li>\n<li><code class=\"notranslate\">AWS/RDS</code> - Relational Database Service</li>\n<li><code class=\"notranslate\">AWS/Redshift</code> - Redshift Database</li>\n<li><code class=\"notranslate\">AWS/Redshift-Serverless</code> - Redshift Serverless</li>\n<li><code class=\"notranslate\">AWS/Route53</code> - Route53 Health Checks</li>\n<li><code class=\"notranslate\">AWS/Route53Resolver</code> - Route53 Resolver</li>\n<li><code class=\"notranslate\">AWS/RUM</code> - Real User Monitoring</li>\n<li><code class=\"notranslate\">AWS/S3</code> - Object Storage</li>\n<li><code class=\"notranslate\">AWS/Sagemaker/ModelBuildingPipeline</code> - Sagemaker Model Building Pipelines</li>\n<li><code class=\"notranslate\">AWS/SageMaker</code> - Sagemaker invocations</li>\n<li><code class=\"notranslate\">AWS/Scheduler</code> - EventBridge Scheduler</li>\n<li><code class=\"notranslate\">AWS/SecretsManager</code> - Secrets Manager</li>\n<li><code class=\"notranslate\">AWS/SES</code> - Simple Email Service</li>\n<li><code class=\"notranslate\">AWS/SNS</code> - Simple Notification Service</li>\n<li><code class=\"notranslate\">AWS/SQS</code> - Simple Queue Service</li>\n<li><code class=\"notranslate\">AWS/States</code> - Step Functions</li>\n<li><code class=\"notranslate\">AWS/StorageGateway</code> - On-premises access to cloud storage</li>\n<li><code class=\"notranslate\">AWS/Timestream</code> - Time-series database service</li>\n<li><code class=\"notranslate\">AWS/TransitGateway</code> - Transit Gateway</li>\n<li><code class=\"notranslate\">AWS/TrustedAdvisor</code> - Trusted Advisor</li>\n<li><code class=\"notranslate\">AWS/Usage</code> - Usage of some AWS resources and APIs</li>\n<li><code class=\"notranslate\">AWS/VpcLattice</code> - VPC Lattice</li>\n<li><code class=\"notranslate\">AWS/VPN</code> - VPN connection</li>\n<li><code class=\"notranslate\">AWS/WAFV2</code> - Web Application Firewall v2</li>\n<li><code class=\"notranslate\">AWS/WorkSpaces</code> - Workspaces</li>\n<li><code class=\"notranslate\">ContainerInsights</code> - EKS ContainerInsights (Dependency on Cloudwatch agent)</li>\n<li><code class=\"notranslate\">CWAgent</code> - CloudWatch agent</li>\n<li><code class=\"notranslate\">ECS/ContainerInsights</code> - ECS/ContainerInsights (Fargate metrics)</li>\n<li><code class=\"notranslate\">Glue</code> - AWS Glue Jobs</li>\n</ul>\n</li>\n</ul>\n<h2 dir=\"auto\">Feature flags</h2>\n<p dir=\"auto\">To provide backwards compatibility, some of YACE's new features or breaking changes might be guarded under a feature flag. Refer to <a href=\"./docs/feature_flags.md\">docs/feature_flags.md</a> for details.</p>\n<h2 dir=\"auto\">Installing and running</h2>\n<p dir=\"auto\">Refer to the <a href=\"docs/installation.md\">installation guide</a>.</p>\n<h2 dir=\"auto\">Authentication</h2>\n<p dir=\"auto\">The exporter will need to be running in an environment which has access to AWS. The exporter uses the <a href=\"https://aws.github.io/aws-sdk-go-v2/docs/getting-started/\" rel=\"nofollow\">AWS SDK for Go</a> and supports providing authentication via <a href=\"https://aws.github.io/aws-sdk-go-v2/docs/configuring-sdk/#specifying-credentials\" rel=\"nofollow\">AWS's default credential chain</a>. Regardless of the method used to acquire the credentials, some permissions are needed for the exporter to work.</p>\n<p dir=\"auto\">As a quick start, the following IAM policy can be used to grant the all permissions required by YACE</p>\n<div class=\"highlight highlight-source-json notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"{\n  &quot;Version&quot;: &quot;2012-10-17&quot;,\n  &quot;Statement&quot;: [\n    {\n      &quot;Action&quot;: [\n        &quot;tag:GetResources&quot;,\n        &quot;cloudwatch:GetMetricData&quot;,\n        &quot;cloudwatch:GetMetricStatistics&quot;,\n        &quot;cloudwatch:ListMetrics&quot;,\n        &quot;apigateway:GET&quot;,\n        &quot;aps:ListWorkspaces&quot;,\n        &quot;autoscaling:DescribeAutoScalingGroups&quot;,\n        &quot;dms:DescribeReplicationInstances&quot;,\n        &quot;dms:DescribeReplicationTasks&quot;,\n        &quot;ec2:DescribeTransitGatewayAttachments&quot;,\n        &quot;ec2:DescribeSpotFleetRequests&quot;,\n        &quot;shield:ListProtections&quot;,\n        &quot;storagegateway:ListGateways&quot;,\n        &quot;storagegateway:ListTagsForResource&quot;,\n        &quot;iam:ListAccountAliases&quot;\n      ],\n      &quot;Effect&quot;: &quot;Allow&quot;,\n      &quot;Resource&quot;: &quot;*&quot;\n    }\n  ]\n}\"><pre class=\"notranslate\">{\n  <span class=\"pl-ent\">\"Version\"</span>: <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>2012-10-17<span class=\"pl-pds\">\"</span></span>,\n  <span class=\"pl-ent\">\"Statement\"</span>: [\n    {\n      <span class=\"pl-ent\">\"Action\"</span>: [\n        <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>tag:GetResources<span class=\"pl-pds\">\"</span></span>,\n        <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>cloudwatch:GetMetricData<span class=\"pl-pds\">\"</span></span>,\n        <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>cloudwatch:GetMetricStatistics<span class=\"pl-pds\">\"</span></span>,\n        <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>cloudwatch:ListMetrics<span class=\"pl-pds\">\"</span></span>,\n        <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>apigateway:GET<span class=\"pl-pds\">\"</span></span>,\n        <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>aps:ListWorkspaces<span class=\"pl-pds\">\"</span></span>,\n        <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>autoscaling:DescribeAutoScalingGroups<span class=\"pl-pds\">\"</span></span>,\n        <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>dms:DescribeReplicationInstances<span class=\"pl-pds\">\"</span></span>,\n        <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>dms:DescribeReplicationTasks<span class=\"pl-pds\">\"</span></span>,\n        <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>ec2:DescribeTransitGatewayAttachments<span class=\"pl-pds\">\"</span></span>,\n        <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>ec2:DescribeSpotFleetRequests<span class=\"pl-pds\">\"</span></span>,\n        <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>shield:ListProtections<span class=\"pl-pds\">\"</span></span>,\n        <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>storagegateway:ListGateways<span class=\"pl-pds\">\"</span></span>,\n        <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>storagegateway:ListTagsForResource<span class=\"pl-pds\">\"</span></span>,\n        <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>iam:ListAccountAliases<span class=\"pl-pds\">\"</span></span>\n      ],\n      <span class=\"pl-ent\">\"Effect\"</span>: <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>Allow<span class=\"pl-pds\">\"</span></span>,\n      <span class=\"pl-ent\">\"Resource\"</span>: <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>*<span class=\"pl-pds\">\"</span></span>\n    }\n  ]\n}</pre></div>\n<p dir=\"auto\">If you would like to remove certain permissions based on your needs the policy can be adjusted based the CloudWatch namespaces you are scraping</p>\n<p dir=\"auto\">These are the bare minimum permissions required to run Static and Discovery Jobs</p>\n<div class=\"highlight highlight-source-json notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"&quot;tag:GetResources&quot;,\n&quot;cloudwatch:GetMetricData&quot;,\n&quot;cloudwatch:GetMetricStatistics&quot;,\n&quot;cloudwatch:ListMetrics&quot;\"><pre class=\"notranslate\"><span class=\"pl-s\"><span class=\"pl-pds\">\"</span>tag:GetResources<span class=\"pl-pds\">\"</span></span>,\n<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>cloudwatch:GetMetricData<span class=\"pl-pds\">\"</span></span>,\n<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>cloudwatch:GetMetricStatistics<span class=\"pl-pds\">\"</span></span>,\n<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>cloudwatch:ListMetrics<span class=\"pl-pds\">\"</span></span></pre></div>\n<p dir=\"auto\">This permission is required to discover resources for the AWS/ApiGateway namespace</p>\n<div class=\"highlight highlight-source-json notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"&quot;apigateway:GET&quot;\"><pre class=\"notranslate\"><span class=\"pl-s\"><span class=\"pl-pds\">\"</span>apigateway:GET<span class=\"pl-pds\">\"</span></span></pre></div>\n<p dir=\"auto\">This permission is required to discover resources for the AWS/AutoScaling namespace</p>\n<div class=\"highlight highlight-source-json notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"&quot;autoscaling:DescribeAutoScalingGroups&quot;\"><pre class=\"notranslate\"><span class=\"pl-s\"><span class=\"pl-pds\">\"</span>autoscaling:DescribeAutoScalingGroups<span class=\"pl-pds\">\"</span></span></pre></div>\n<p dir=\"auto\">These permissions are required to discover resources for the AWS/DMS namespace</p>\n<div class=\"highlight highlight-source-json notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"&quot;dms:DescribeReplicationInstances&quot;,\n&quot;dms:DescribeReplicationTasks&quot;\"><pre class=\"notranslate\"><span class=\"pl-s\"><span class=\"pl-pds\">\"</span>dms:DescribeReplicationInstances<span class=\"pl-pds\">\"</span></span>,\n<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>dms:DescribeReplicationTasks<span class=\"pl-pds\">\"</span></span></pre></div>\n<p dir=\"auto\">This permission is required to discover resources for the AWS/EC2Spot namespace</p>\n<div class=\"highlight highlight-source-json notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"&quot;ec2:DescribeSpotFleetRequests&quot;\"><pre class=\"notranslate\"><span class=\"pl-s\"><span class=\"pl-pds\">\"</span>ec2:DescribeSpotFleetRequests<span class=\"pl-pds\">\"</span></span></pre></div>\n<p dir=\"auto\">This permission is required to discover resources for the AWS/Prometheus namespace</p>\n<div class=\"highlight highlight-source-json notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"&quot;aps:ListWorkspaces&quot;\"><pre class=\"notranslate\"><span class=\"pl-s\"><span class=\"pl-pds\">\"</span>aps:ListWorkspaces<span class=\"pl-pds\">\"</span></span></pre></div>\n<p dir=\"auto\">These permissions are required to discover resources for the AWS/StorageGateway namespace</p>\n<div class=\"highlight highlight-source-json notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"&quot;storagegateway:ListGateways&quot;,\n&quot;storagegateway:ListTagsForResource&quot;\"><pre class=\"notranslate\"><span class=\"pl-s\"><span class=\"pl-pds\">\"</span>storagegateway:ListGateways<span class=\"pl-pds\">\"</span></span>,\n<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>storagegateway:ListTagsForResource<span class=\"pl-pds\">\"</span></span></pre></div>\n<p dir=\"auto\">This permission is required to discover resources for the AWS/TransitGateway namespace</p>\n<div class=\"highlight highlight-source-json notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"&quot;ec2:DescribeTransitGatewayAttachments&quot;\"><pre class=\"notranslate\"><span class=\"pl-s\"><span class=\"pl-pds\">\"</span>ec2:DescribeTransitGatewayAttachments<span class=\"pl-pds\">\"</span></span></pre></div>\n<p dir=\"auto\">This permission is required to discover protected resources for the AWS/DDoSProtection namespace</p>\n<div class=\"highlight highlight-source-json notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"&quot;shield:ListProtections&quot;\"><pre class=\"notranslate\"><span class=\"pl-s\"><span class=\"pl-pds\">\"</span>shield:ListProtections<span class=\"pl-pds\">\"</span></span></pre></div>\n<p dir=\"auto\">The AWS IAM API supports creating account aliases, which are human-friendly names that can be used to easily identify accounts. An account can have at most a single alias, see (<a href=\"https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListAccountAliases.html\" rel=\"nofollow\">docs</a>). Each alias must be unique across an AWS network partition (<a href=\"https://docs.aws.amazon.com/IAM/latest/UserGuide/console_account-alias.html#AboutAccountAlias\" rel=\"nofollow\">docs</a>). The following permission is required to get the alias for an account, which is exported as a label in the <code class=\"notranslate\">aws_account_info</code> metric:</p>\n<div class=\"highlight highlight-source-json notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"&quot;iam:ListAccountAliases&quot;\"><pre class=\"notranslate\"><span class=\"pl-s\"><span class=\"pl-pds\">\"</span>iam:ListAccountAliases<span class=\"pl-pds\">\"</span></span></pre></div>\n<p dir=\"auto\">If running YACE inside an AWS EC2 instance, the exporter will automatically attempt to assume the associated IAM Role. If this is undesirable behavior turn off the use the metadata endpoint by setting the environment variable <code class=\"notranslate\">AWS_EC2_METADATA_DISABLED=true</code>.</p>\n<h2 dir=\"auto\">Configuration</h2>\n<p dir=\"auto\">Refer to the <a href=\"docs/configuration.md\">configuration</a> docs.</p>\n<h2 dir=\"auto\">Metrics Examples</h2>\n<div class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"### Metrics with exportedTagsOnMetrics\naws_ec2_cpuutilization_maximum{dimension_InstanceId=&quot;i-someid&quot;, name=&quot;arn:aws:ec2:eu-west-1:472724724:instance/i-someid&quot;, tag_Name=&quot;jenkins&quot;} 57.2916666666667\n\n### Info helper with tags\naws_elb_info{name=&quot;arn:aws:elasticloadbalancing:eu-west-1:472724724:loadbalancer/a815b16g3417211e7738a02fcc13bbf9&quot;,tag_KubernetesCluster=&quot;production-19&quot;,tag_Name=&quot;&quot;,tag_kubernetes_io_cluster_production_19=&quot;owned&quot;,tag_kubernetes_io_service_name=&quot;nginx-ingress/private-ext&quot;,region=&quot;eu-west-1&quot;} 0\naws_ec2_info{name=&quot;arn:aws:ec2:eu-west-1:472724724:instance/i-someid&quot;,tag_Name=&quot;jenkins&quot;} 0\n\n### Track cloudwatch requests to calculate costs\nyace_cloudwatch_requests_total 168\"><pre lang=\"text\" class=\"notranslate\"><code class=\"notranslate\">### Metrics with exportedTagsOnMetrics\naws_ec2_cpuutilization_maximum{dimension_InstanceId=\"i-someid\", name=\"arn:aws:ec2:eu-west-1:472724724:instance/i-someid\", tag_Name=\"jenkins\"} 57.2916666666667\n\n### Info helper with tags\naws_elb_info{name=\"arn:aws:elasticloadbalancing:eu-west-1:472724724:loadbalancer/a815b16g3417211e7738a02fcc13bbf9\",tag_KubernetesCluster=\"production-19\",tag_Name=\"\",tag_kubernetes_io_cluster_production_19=\"owned\",tag_kubernetes_io_service_name=\"nginx-ingress/private-ext\",region=\"eu-west-1\"} 0\naws_ec2_info{name=\"arn:aws:ec2:eu-west-1:472724724:instance/i-someid\",tag_Name=\"jenkins\"} 0\n\n### Track cloudwatch requests to calculate costs\nyace_cloudwatch_requests_total 168\n</code></pre></div>\n<h2 dir=\"auto\">Query Examples without exportedTagsOnMetrics</h2>\n<div class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"# CPUUtilization + Name tag of the instance id - No more instance id needed for monitoring\naws_ec2_cpuutilization_average + on (name) group_left(tag_Name) aws_ec2_info\n\n# Free Storage in Megabytes + tag Type of the elasticsearch cluster\n(aws_es_free_storage_space_sum + on (name) group_left(tag_Type) aws_es_info) / 1024\n\n# Add kubernetes / kops tags on 4xx elb metrics\n(aws_elb_httpcode_backend_4_xx_sum + on (name) group_left(tag_KubernetesCluster,tag_kubernetes_io_service_name) aws_elb_info)\n\n# Availability Metric for ELBs (Successful requests / Total Requests) + k8s service name\n# Use nilToZero on all metrics else it won't work\n((aws_elb_request_count_sum - on (name) group_left() aws_elb_httpcode_backend_4_xx_sum) - on (name) group_left() aws_elb_httpcode_backend_5_xx_sum) + on (name) group_left(tag_kubernetes_io_service_name) aws_elb_info\n\n# Forecast your elasticsearch disk size in 7 days and report metrics with tags type and version\npredict_linear(aws_es_free_storage_space_minimum[2d], 86400 * 7) + on (name) group_left(tag_type, tag_version) aws_es_info\n\n# Forecast your cloudwatch costs for next 32 days based on last 10 minutes\n# 1.000.000 Requests free\n# 0.01 Dollar for 1.000 GetMetricStatistics Api Requests (https://aws.amazon.com/cloudwatch/pricing/)\n((increase(yace_cloudwatch_requests_total[10m]) * 6 * 24 * 32) - 100000) / 1000 * 0.01\"><pre lang=\"text\" class=\"notranslate\"><code class=\"notranslate\"># CPUUtilization + Name tag of the instance id - No more instance id needed for monitoring\naws_ec2_cpuutilization_average + on (name) group_left(tag_Name) aws_ec2_info\n\n# Free Storage in Megabytes + tag Type of the elasticsearch cluster\n(aws_es_free_storage_space_sum + on (name) group_left(tag_Type) aws_es_info) / 1024\n\n# Add kubernetes / kops tags on 4xx elb metrics\n(aws_elb_httpcode_backend_4_xx_sum + on (name) group_left(tag_KubernetesCluster,tag_kubernetes_io_service_name) aws_elb_info)\n\n# Availability Metric for ELBs (Successful requests / Total Requests) + k8s service name\n# Use nilToZero on all metrics else it won't work\n((aws_elb_request_count_sum - on (name) group_left() aws_elb_httpcode_backend_4_xx_sum) - on (name) group_left() aws_elb_httpcode_backend_5_xx_sum) + on (name) group_left(tag_kubernetes_io_service_name) aws_elb_info\n\n# Forecast your elasticsearch disk size in 7 days and report metrics with tags type and version\npredict_linear(aws_es_free_storage_space_minimum[2d], 86400 * 7) + on (name) group_left(tag_type, tag_version) aws_es_info\n\n# Forecast your cloudwatch costs for next 32 days based on last 10 minutes\n# 1.000.000 Requests free\n# 0.01 Dollar for 1.000 GetMetricStatistics Api Requests (https://aws.amazon.com/cloudwatch/pricing/)\n((increase(yace_cloudwatch_requests_total[10m]) * 6 * 24 * 32) - 100000) / 1000 * 0.01\n</code></pre></div>\n<h2 dir=\"auto\">Override AWS endpoint urls</h2>\n<p dir=\"auto\">to support local testing all AWS urls can be overridden with by setting an environment variable <code class=\"notranslate\">AWS_ENDPOINT_URL</code></p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"docker run -d --rm -v $PWD/credentials:/exporter/.aws/credentials -v $PWD/config.yml:/tmp/config.yml \\\n-e AWS_ENDPOINT_URL=http://localhost:4766 -p 5000:5000 --name yace quay.io/prometheuscommunity/yet-another-cloudwatch-exporter:latest\"><pre class=\"notranslate\">docker run -d --rm -v <span class=\"pl-smi\">$PWD</span>/credentials:/exporter/.aws/credentials -v <span class=\"pl-smi\">$PWD</span>/config.yml:/tmp/config.yml \\\n-e AWS_ENDPOINT_URL=http://localhost:4766 -p 5000:5000 --name yace quay.io/prometheuscommunity/yet-another-cloudwatch-exporter:latest</pre></div>\n<h2 dir=\"auto\">Options</h2>\n<h3 dir=\"auto\">RoleArns</h3>\n<p dir=\"auto\">Multiple roleArns are useful, when you are monitoring multi-account setup, where all accounts are using same AWS services. For example, you are running yace in monitoring account and you have number of accounts (for example newspapers, radio and television) running ECS clusters. Each account gives yace permissions to assume local IAM role, which has all the necessary permissions for Cloudwatch metrics. On this kind of setup, you could simply list:</p>\n<div class=\"highlight highlight-source-yaml notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"apiVersion: v1alpha1\nsts-region: eu-west-1\ndiscovery:\n  jobs:\n    - type: AWS/ECS\n      regions:\n        - eu-north-1\n      roles:\n        - roleArn: &quot;arn:aws:iam::1111111111111:role/prometheus&quot; # newspaper\n        - roleArn: &quot;arn:aws:iam::2222222222222:role/prometheus&quot; # radio\n        - roleArn: &quot;arn:aws:iam::3333333333333:role/prometheus&quot; # television\n      metrics:\n        - name: MemoryReservation\n          statistics:\n            - Average\n            - Minimum\n            - Maximum\n          period: 600\n          length: 600\"><pre class=\"notranslate\"><span class=\"pl-ent\">apiVersion</span>: <span class=\"pl-s\">v1alpha1</span>\n<span class=\"pl-ent\">sts-region</span>: <span class=\"pl-s\">eu-west-1</span>\n<span class=\"pl-ent\">discovery</span>:\n  <span class=\"pl-ent\">jobs</span>:\n    - <span class=\"pl-ent\">type</span>: <span class=\"pl-s\">AWS/ECS</span>\n      <span class=\"pl-ent\">regions</span>:\n        - <span class=\"pl-s\">eu-north-1</span>\n      <span class=\"pl-ent\">roles</span>:\n        - <span class=\"pl-ent\">roleArn</span>: <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>arn:aws:iam::1111111111111:role/prometheus<span class=\"pl-pds\">\"</span></span> <span class=\"pl-c\"><span class=\"pl-c\">#</span> newspaper</span>\n        - <span class=\"pl-ent\">roleArn</span>: <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>arn:aws:iam::2222222222222:role/prometheus<span class=\"pl-pds\">\"</span></span> <span class=\"pl-c\"><span class=\"pl-c\">#</span> radio</span>\n        - <span class=\"pl-ent\">roleArn</span>: <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>arn:aws:iam::3333333333333:role/prometheus<span class=\"pl-pds\">\"</span></span> <span class=\"pl-c\"><span class=\"pl-c\">#</span> television</span>\n      <span class=\"pl-ent\">metrics</span>:\n        - <span class=\"pl-ent\">name</span>: <span class=\"pl-s\">MemoryReservation</span>\n          <span class=\"pl-ent\">statistics</span>:\n            - <span class=\"pl-s\">Average</span>\n            - <span class=\"pl-s\">Minimum</span>\n            - <span class=\"pl-s\">Maximum</span>\n          <span class=\"pl-ent\">period</span>: <span class=\"pl-c1\">600</span>\n          <span class=\"pl-ent\">length</span>: <span class=\"pl-c1\">600</span></pre></div>\n<p dir=\"auto\">Additionally, if the IAM role you want to assume requires an <a href=\"https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html?icmpid=docs_iam_console\" rel=\"nofollow\">External ID</a> you can specify it this way:</p>\n<div class=\"highlight highlight-source-yaml notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"  roles:\n    - roleArn: &quot;arn:aws:iam::1111111111111:role/prometheus&quot;\n      externalId: &quot;shared-external-identifier&quot;\"><pre class=\"notranslate\">  <span class=\"pl-ent\">roles</span>:\n    - <span class=\"pl-ent\">roleArn</span>: <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>arn:aws:iam::1111111111111:role/prometheus<span class=\"pl-pds\">\"</span></span>\n      <span class=\"pl-ent\">externalId</span>: <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>shared-external-identifier<span class=\"pl-pds\">\"</span></span></pre></div>\n<h3 dir=\"auto\">Requests concurrency</h3>\n<p dir=\"auto\">The flags 'cloudwatch-concurrency' and 'tag-concurrency' define the number of concurrent request to cloudwatch metrics and tags. Their default value is 5.</p>\n<p dir=\"auto\">Setting a higher value makes faster scraping times but can incur in throttling and the blocking of the API.</p>\n<h3 dir=\"auto\">Decoupled scraping</h3>\n<p dir=\"auto\">The exporter scraped cloudwatch metrics in the background in fixed interval.<br>\nThis protects from the abuse of API requests that can cause extra billing in AWS account.</p>\n<p dir=\"auto\">The flag 'scraping-interval' defines the seconds between scrapes.<br>\nThe default value is 300.</p>\n<h2 dir=\"auto\">Embedding YACE in your application</h2>\n<p dir=\"auto\">YACE can be used as a library and embedded into your application, see the <a href=\"docs/embedding.md\">embedding guide</a>.</p>\n<h2 dir=\"auto\">Troubleshooting / Debugging</h2>\n<h3 dir=\"auto\">Help my metrics are intermittent</h3>\n<ul dir=\"auto\">\n<li>Please, try out a bigger length e.g. for elb try out a length of 600 and a period of 600. Then test how low you can<br>\ngo without losing data. ELB metrics on AWS are written every 5 minutes (300) in default.</li>\n</ul>\n<h3 dir=\"auto\">My metrics only show new values after 5 minutes</h3>\n<ul dir=\"auto\">\n<li>Please, try to set a lower value for the 'scraping-interval' flag or set the 'decoupled-scraping' to false.</li>\n</ul>\n<h2 dir=\"auto\">Contribute</h2>\n<p dir=\"auto\"><a href=\"/CONTRIBUTE.md\">Development Setup / Guide</a></p>\n<h2 dir=\"auto\">Thank you</h2>\n<ul dir=\"auto\">\n<li><a href=\"https://github.com/justinsb\">Justin Santa Barbara</a> - For telling me about AWS tags api which simplified a lot - Thanks!</li>\n<li><a href=\"https://github.com/brian-brazil\">Brian Brazil</a> - Who gave a lot of feedback regarding UX and prometheus lib - Thanks!</li>\n</ul>","updatedAt":"2025-05-22T01:53:58Z","upvoteCount":null,"author":{"login":"eryajf","avatarUrl":"https://avatars.githubusercontent.com/u/33259379?u=e4a4090a38ac2473aaed4ef9945233636776c6c3&v=4","url":"https://github.com/eryajf"},"category":null,"labels":{"edges":[{"node":{"name":"更多","color":"25B472"}},{"node":{"name":"Prometheus-Exporter","color":"367acb"}},{"node":{"name":"nerdswords","color":"6f2d1d"}}]},"comments":{"edges":[]}}},"pageContext":{"number":622,"previous":{"title":"cookieY/Yearning: 简单, 高效的 MySQL 审计平台","number":621},"next":{"title":"mikefarah/yq: 款基于 go 语言编写类似 jq 的处理 yaml 文件的工具","number":623}}},
    "staticQueryHashes": ["151096407","2861350382"]}