{"componentChunkName":"component---src-templates-post-template-jsx","path":"/works/posts/2025-01-23--001","result":{"data":{"site":{"siteMetadata":{"title":"Blog by Eunyoung","subtitle":"작업 기록 블로그","copyright":"© All rights reserved.","author":{"name":"EunYoung","twitter":"#"},"disqusShortname":"","url":"https://ssongey.github.io"}},"markdownRemark":{"id":"b7a65179-31b0-528e-8af6-97ed218f2ea9","html":"<h2>1. 무엇을 표현하고 싶었는가?</h2>\n<h3>✔︎ 서비스 지표</h3>\n<p>발급 건수, 카드 종류별 건수, 실패 건수 등 카드 발급 현황에 대한 지표 구성</p>\n<p><strong>무엇을 고려 하였는가?</strong></p>\n<ul>\n<li>카드별 발급 건수 표시로 카드 선호도/수요 분석</li>\n<li>카드 발급 실패에 대한 원인 파악</li>\n</ul>\n<p>\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/1009f4ccff1970c73f107aec857ea569/cf151/01.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 960px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 45.416666666666664%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAYAAAAywQxIAAAACXBIWXMAABYlAAAWJQFJUiTwAAACE0lEQVQozyWSW0/bQBCF/UoIKont+Lbrtb2OEzsXIAQIkNJQFapEatWLCu1DpUq0VV/b/y99nYSHo/WOR2fmnLNOnKT0i4pJ1RCFCV4QU9gB9fYeJHR7EWXTkFUVgVIs3y24XY9ZrXLWryybi5LNqGKkMhLpd+5szUN9wkNzwlQXTFTOpj/mYXjMTBW4WjG7P6W+GhOZlPWPFV9/nvPtccDT54rfb4f8WUy5NCVZqHG+VxP+Naf8qqasTJ+l/HgaHPN3NOcmsbhWc/ZhzvT+iLhIuf1yxfJ+xM1Nzv3LgvV5yVo2nGYFRqc47Z6iE+fovCaMNQdeQNsP8cKYJM3xejGdbkDXD4jSlJPlKc2wJEpigijCc13cjkvX8+iGPo5qXqOO3mOONxg7FCKDki1za1FpQaIzelFCRwbl5YDJ7JJPC0ueir9+RHv/gFarTWvvGY4aLEiHC0xekRrxTHxI5Cz7dke2hReEHLq+DCqYXSy5m1mMks2l1trbZ0/Qau3vvh1fkvEl2TBWslHOYTfEl7QTremJbFdSDhMtMM916YlFQSjhBVKLlRHpetfnbVMOU00gOBSfImPIxyWxeOWFSkiUDAt3TykQ2WEcEwmBzkr6wxHlYEQ9PpKzke0tmVjiXG/mrD5e0Jw1XK7nvHm8RhVGBvTIbC5eZvL+ZJA1WMELN0CL9KoeUQ23hFMhrHfqMlvxHzU0/yh++51sAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"01\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/1009f4ccff1970c73f107aec857ea569/d9199/01.png\"\n        srcset=\"/devHistoryBlog/static/1009f4ccff1970c73f107aec857ea569/8ff5a/01.png 240w,\n/devHistoryBlog/static/1009f4ccff1970c73f107aec857ea569/e85cb/01.png 480w,\n/devHistoryBlog/static/1009f4ccff1970c73f107aec857ea569/d9199/01.png 960w,\n/devHistoryBlog/static/1009f4ccff1970c73f107aec857ea569/07a9c/01.png 1440w,\n/devHistoryBlog/static/1009f4ccff1970c73f107aec857ea569/29114/01.png 1920w,\n/devHistoryBlog/static/1009f4ccff1970c73f107aec857ea569/cf151/01.png 3672w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<br/>\n<h3>✔︎ traffic (트래픽)</h3>\n<p>서버로 들어오는 총 요청에 대한 파악을 위해 지표 구성</p>\n<p><strong>무엇을 고려 하였는가?</strong></p>\n<ul>\n<li>부하 확인</li>\n<li>리전별 요청 비율로 리전 이상 현상 감지\n\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/627313729d2936c49adef62548d110f5/e437f/02.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 960px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 17.083333333333332%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAADCAYAAACTWi8uAAAACXBIWXMAABYlAAAWJQFJUiTwAAAA3UlEQVQI10XOvUrDUADF8SBYaXLTm9wmN6lJmpukHza0WC0oCOIiRRzVqYODFAcfokN3cRBcfBdf7e/FxeEsZzjn54RRQl8PiPQxodKoOMUPNUE/wZMR2bBitlhSVCNkGOG6As/zbQSdrmRhAu42t+jTS9IkxWlWU+qzCe3NnKKtKY3hwnZ5kfN4v2TejiibGfX4xJ4OcLve36AvBM5hyOdzh4+fPcP9N7GUODrL0HlOPjbosmDSGHZP12zXK762a86nFa6VqjghUP9CYYUHRwGbK8Hb+yvpwwuq1+MXzWFVWUOlqJcAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"02\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/627313729d2936c49adef62548d110f5/d9199/02.png\"\n        srcset=\"/devHistoryBlog/static/627313729d2936c49adef62548d110f5/8ff5a/02.png 240w,\n/devHistoryBlog/static/627313729d2936c49adef62548d110f5/e85cb/02.png 480w,\n/devHistoryBlog/static/627313729d2936c49adef62548d110f5/d9199/02.png 960w,\n/devHistoryBlog/static/627313729d2936c49adef62548d110f5/07a9c/02.png 1440w,\n/devHistoryBlog/static/627313729d2936c49adef62548d110f5/29114/02.png 1920w,\n/devHistoryBlog/static/627313729d2936c49adef62548d110f5/e437f/02.png 3664w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </li>\n</ul>\n<br/>\n<h3>✔︎ atency (지연)</h3>\n<p>응답 시간에 대한 파악을 위해 지표 구성</p>\n<p><strong>무엇을 고려 하였는가?</strong></p>\n<ul>\n<li>일반 사용자가 체감하는 응답 시간 - P95, 성공 응답 평균 시간\n\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/fb1b0bd5527096f80528ab2b3408fcc5/5148a/03.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 960px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 99.58333333333333%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAABYlAAAWJQFJUiTwAAAD/klEQVQ4y4VUWW8bVRj1OyL17vHs+2KPZ2yPl6S2SZxmUSFp2hAS4kBoglKUKAIkEEIgoBIgnhE8wCvifx7OnbiR+lIejr47yz33+853vlsolmsoVeooVe9QrjYg3jl+hDjpI2ynaHV6jAljN4+a6WClVEGxUrvfV8r3VVGQNRP1popKvfka6rJG6JBUHabnw3JDHtLKIdaG7ZPYRbUh8385jyKZgiC7e9mExFhjLBPVugSlQWKuQ2YbxF0k/RG6g1WkjNl4gjBOUa5JeXZif04oKTrqkoIiP6hNBQphySp8ZjazbdR4oN/qEAni7gBJb3gXSRp3M7TTDColEIRCujzDCjMTZFuOg4lp4qssxe0ow3XWQ7Mpo+UHCKhlZ0nUIWmajRkHObnI2vainLRQbmqYOi5+SCNcpzHOO238uTnDP9vr+HdzglgVFagQWotMhG6qYS/XTh7Fs+H4qEkyCqL++cYWvri4wvGLW+yfXeLi+59x+9NvuPn2RzheiLdL1VyrIksqVpYdXa7z5/t1DYWVlRLWDk/w/I+/cfTNd3j88TlOX/6C57//heOXv0IP27mNKsvGvQm5hpWGgsh3sTUdYX3cx6OHGTYnA8zHPUz7HRimjeKyi/9LSD8WyrU7I0v0XIN6NhWT1pEZDTSEDwlxsrDEGyEkIU+hWKpxUccD6vSAL15FocmrKYnoQdFhYRGXEojvQsfSkqxUadxPWMGOQqSjAaKEm4m42+PGLmzfZ4YiU4WZy5AVFRKt1SQa7KZE1Je61mUl73Cu4XB/iO1PZrCooxN68Ns+vIhrz6J+KmxHh21z/HQVhqrAJAweYisaFA5EhdPkDVyYXZvknJTeZoads0fY+WCK3cM1PDud4OD9MRaLCU6OVnG5mOH8aIrFu/wvs7GfediNPTxrRRjQfyss1eLcR6p5N3qjvTEObnZxfLuJ0+t1XH1J3Exx9WmKsyMPn30Y4PLAw+3TEC92Iny+FeNqLcbXoz52eUm8xTKDpo6hYqMqCINhGz6nw6WWHhHGLY4ZbxPLgKJxJHUFmkawVI2l6oRGzQzOu1TjhWLpUFs2JJ8ZipLDQYyE/usMUiREn/7rDhIMV7voZwkeToZoUVNLl2FTR4ewVRWeqkGlh6skV6ixTGJhwYI/iOC0AliBB5vwIh9u4BIewshB3Lbhuzp8mySmhoDwdGqmG9DqCiSSueMIamDdNSXbHuHx+Q72PprjyeIdnF5s4PhsisvLGebzPixbg2UqcCwNtqHCJZmtiQxZKi8NYa0k0WE5Wu7LQjQLsfo0xcZhjPlBiL2jAO89cbE4cdHvqjCNJlxLhmvKLFeGRz0dRUZAX6rCg1IDaUelLCy/VsN/GfNGSOzZU9kAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"03\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/fb1b0bd5527096f80528ab2b3408fcc5/d9199/03.png\"\n        srcset=\"/devHistoryBlog/static/fb1b0bd5527096f80528ab2b3408fcc5/8ff5a/03.png 240w,\n/devHistoryBlog/static/fb1b0bd5527096f80528ab2b3408fcc5/e85cb/03.png 480w,\n/devHistoryBlog/static/fb1b0bd5527096f80528ab2b3408fcc5/d9199/03.png 960w,\n/devHistoryBlog/static/fb1b0bd5527096f80528ab2b3408fcc5/5148a/03.png 1228w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </li>\n</ul>\n<br/>\n<h3>✔︎ errors (오류)</h3>\n<p>에러 응답에 대해 파악하기 위한 지표 구성</p>\n<p><strong>무엇을 고려 하였는가?</strong></p>\n<ul>\n<li>5xx/ 4xx 에러율 확인에 따른 이상현상 감지 및 에러 메시지 확인</li>\n<li>연동서버 이상현상 감지\n\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/099d6e1b09b5e056fac2132f31d6a008/5ab15/04.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 960px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 50%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAABYlAAAWJQFJUiTwAAABzklEQVQoz2VSTW+bQBTkmiaVbTC7sB8sGAzY4LhVouZSRWl76KGHtlL//1+ZzlsTK1IOTwuz++bNzG6S5iUyZZAXDtvCYqvlf8FKR9wizQviJlaqLvulqxB2e1TNHornNjyT24BklZPENLDtBB0GrDONj6nm5i5iReixIqbZpEoSUoAMsKFGfzhhnD+hbvs4WJkKyfN9wI/HDv9eJvz9OqIsS8ydxcvDPmI/n3p4WyCjOuM9XVycFC5QXQe/lKma6CD5dvb4fnb49eDw58mjCwZTayP2+wvxR49DY+L03WGArmnR1dhsNd2oWPItJXEkd+scdxuFD2uFm5WincuG2L4ldst9adqqAm5HJXUHW7fQxsfsYq6MIBZJE9+O8Dzkww6OspvhhEALZWkjVrcDnA+xMWOTVCl2eSGB2RlfR7JMk9w2SIbpHMPtDzPqbkA3zjEbUSA5tf0x3qaoyZYbFoLNVqHp9tiPJ7TDEdpW0IwiETUVLQiJoRL5LkgmjYrhB9r0xC6E5vqkZH19SlG94ByUjNN9VDccZ04cOHGKzelibT5/xjid3igsrnXNbinZTxxzssxO8isoW3ITlW8f9CuR8RUsXViu8rCz/D3pfxmnCs9fokrAAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"04\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/099d6e1b09b5e056fac2132f31d6a008/d9199/04.png\"\n        srcset=\"/devHistoryBlog/static/099d6e1b09b5e056fac2132f31d6a008/8ff5a/04.png 240w,\n/devHistoryBlog/static/099d6e1b09b5e056fac2132f31d6a008/e85cb/04.png 480w,\n/devHistoryBlog/static/099d6e1b09b5e056fac2132f31d6a008/d9199/04.png 960w,\n/devHistoryBlog/static/099d6e1b09b5e056fac2132f31d6a008/07a9c/04.png 1440w,\n/devHistoryBlog/static/099d6e1b09b5e056fac2132f31d6a008/29114/04.png 1920w,\n/devHistoryBlog/static/099d6e1b09b5e056fac2132f31d6a008/5ab15/04.png 2446w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </li>\n</ul>\n<p><br/><br/></p>\n<h2>2.︎ 무엇이 어려웠는가? (왜 안맞나?, 표현이 어려웠던 것은 무엇인가? …)</h2>\n<h3>2.1. promQL 문법의 이해</h3>\n<h4>✔︎ <code class=\"language-text\">http_server_requests_seconds_count{uri=&quot;/api&quot;}[5m]</code></h4>\n<ul>\n<li><code class=\"language-text\">http_server_requests_seconds_count</code> 메트릭을 사용할꺼고,</li>\n<li>uri가 “/api” 인 데이터만 필터 할꺼고,</li>\n<li>지금 시점부터 5분 전까지의 데이터를 추출</li>\n<li>현재 2dzzv 파드에서 발생한 이벤트 총 카운트는 2건, cxw24 파드는 1건\n\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/89da7a1b5575ce43ffacd2964e115976/869d7/06.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 960px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 19.583333333333332%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAYAAACOXx+WAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAlUlEQVQY04WO2wrDIBBE/f/vKxQKKYVeSTTaRtdLE6erSSh5ijA4e2ZgV3gfQEUU4MiDnK9z9YucIzhLtUNLv+SWu8i5+sPxjFZqCOy+vNsIIaK53KHNAKHNB7J/z1IGSmmo3syemdbMefPKC+s4k+zbrocdXL349uxqJlL6Isa0Vfr7TZ7meWXlsmmc4Pk/NVc8XhI/rj02J8GTuF0AAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"06\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/89da7a1b5575ce43ffacd2964e115976/d9199/06.png\"\n        srcset=\"/devHistoryBlog/static/89da7a1b5575ce43ffacd2964e115976/8ff5a/06.png 240w,\n/devHistoryBlog/static/89da7a1b5575ce43ffacd2964e115976/e85cb/06.png 480w,\n/devHistoryBlog/static/89da7a1b5575ce43ffacd2964e115976/d9199/06.png 960w,\n/devHistoryBlog/static/89da7a1b5575ce43ffacd2964e115976/07a9c/06.png 1440w,\n/devHistoryBlog/static/89da7a1b5575ce43ffacd2964e115976/869d7/06.png 1477w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </li>\n</ul>\n<h4>✔︎ <code class=\"language-text\">increase(http_server_requests_seconds_count{uri=&quot;/api&quot;}[5m])</code></h4>\n<ul>\n<li>위 결과에서 증가건수 계산</li>\n<li>시간에 따른 카운트 변화가 없으므로 증가는 0\n\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/7915e4c2940451822eea8344f5bf0aba/07d7d/07.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 960px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 10%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAACCAYAAABYBvyLAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAZElEQVQI1zWNQQ6AIAwE/f9HBVpAo6KHwrrFeJhs03SnSy4bUspIUhCJOJk7qRCtc78GRYj63TBFMs6rod0Peu8wI8wxBpZSdqh+5UixOD6z7AJ/FoIgUvo/9vu6HRMzm9IJhS/6zJhJ4gLzCAAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"07\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/7915e4c2940451822eea8344f5bf0aba/d9199/07.png\"\n        srcset=\"/devHistoryBlog/static/7915e4c2940451822eea8344f5bf0aba/8ff5a/07.png 240w,\n/devHistoryBlog/static/7915e4c2940451822eea8344f5bf0aba/e85cb/07.png 480w,\n/devHistoryBlog/static/7915e4c2940451822eea8344f5bf0aba/d9199/07.png 960w,\n/devHistoryBlog/static/7915e4c2940451822eea8344f5bf0aba/07a9c/07.png 1440w,\n/devHistoryBlog/static/7915e4c2940451822eea8344f5bf0aba/07d7d/07.png 1478w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </li>\n</ul>\n<br/>\n<h3>2.2. 프로메테우스에서 수집하는 메트릭 중에 무엇을 사용했나?</h3>\n<h4>✔︎ <code class=\"language-text\">http_server_requests_seconds_count</code></h4>\n<ul>\n<li>서비스 시작 이후의 누적 요청 횟수\n\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/6fe4a476d34425d77836b9370abca975/11a8f/08.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 960px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 2.9166666666666665%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAABCAYAAADeko4lAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAOElEQVQI1zWLwQ0AIAgD3X9RjRYBGQCB6ONyTdo2kDhtdZZTTibYidXxcsJi5RX7PlD73yNQtfpe+RpLtV0AIl4AAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"08\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/6fe4a476d34425d77836b9370abca975/d9199/08.png\"\n        srcset=\"/devHistoryBlog/static/6fe4a476d34425d77836b9370abca975/8ff5a/08.png 240w,\n/devHistoryBlog/static/6fe4a476d34425d77836b9370abca975/e85cb/08.png 480w,\n/devHistoryBlog/static/6fe4a476d34425d77836b9370abca975/d9199/08.png 960w,\n/devHistoryBlog/static/6fe4a476d34425d77836b9370abca975/11a8f/08.png 1272w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </li>\n</ul>\n<h4>✔︎ <code class=\"language-text\">http_server_requests_seconds_bucket</code></h4>\n<ul>\n<li>요청 응답 시간의 분포\n\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/999dae4e408a6fde49330febe320c7ce/fe720/09.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 960px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 34.166666666666664%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAYAAAAIy204AAAACXBIWXMAAAsTAAALEwEAmpwYAAABCElEQVQoz31Ru3LDMAzT//9chgxObMvWW1acXtJrd5SgnF6mDDoaJAiSsCnbHanc9Pm0gbi2L4TckOuOKJE1F6tifm/tjigxCJ84y5uWhOf3L4w2SYKNbEqCy7bDx05mZG1x+V+kCCcc/D6w4TJ73PYHDAmrL1jkTUtUgZAa7JrgQoUVIdavc8AqWIVFiPxZOIxB8DA5FTdMjDbqG0bXSdJ0mbwOYI6182AVq7BLuNpw1AKs5E/nUQfryVyfW3GD/Olk5cnJenrTCxiz5LlIFW/Ny3j1UAhqcu2C8fgZrNl3wTcPGYm5OXsNE9xsDd0TNrwEKMrNOIhnU4BnpcN3+syongrv8fzBH5M1AOkFqsaVAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"09\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/999dae4e408a6fde49330febe320c7ce/d9199/09.png\"\n        srcset=\"/devHistoryBlog/static/999dae4e408a6fde49330febe320c7ce/8ff5a/09.png 240w,\n/devHistoryBlog/static/999dae4e408a6fde49330febe320c7ce/e85cb/09.png 480w,\n/devHistoryBlog/static/999dae4e408a6fde49330febe320c7ce/d9199/09.png 960w,\n/devHistoryBlog/static/999dae4e408a6fde49330febe320c7ce/07a9c/09.png 1440w,\n/devHistoryBlog/static/999dae4e408a6fde49330febe320c7ce/fe720/09.png 1448w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </li>\n</ul>\n<br/>\n<h3>2.3. 지표를 표현하기 위해서 어떤 함수를 사용했는가?</h3>\n<h4>✔︎ 단순히 카운터로 누적 수를 계산하면 될꺼 같은데, 왜 increase, rate 를 사용했을까?</h4>\n<ul>\n<li>프로세스가 재실행 될 경우 해당 메트릭의 값이 0으로 리셋된다.</li>\n<li>increase, rate 함수는 리셋을 스스로 감지하여 이전 상태를 보정하여 증가량을 계산한다.</li>\n<li>\n<p>아래와 같이 카운터의 결과가 나왔을때, 각 increase의 값을 더해서 누적 수를 계산한다.</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">시간      누적수   증가\n13:00:00 100\n13:01:00 200 -&gt; 100\n13:02:00 300 -&gt; 100\n13:03:00 150 -&gt; 0 (리셋 이벤트 발생)\n13:04:00 0\n13:05:00 0\n13:06:00 50  -&gt; 50\n13:07:00 100 -&gt; 50\n--------------------\nincrease 결과: 300</code></pre></div>\n<p>\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/c26e8d2ebd81a5724258c61d2bb8e772/71b12/10.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 960px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 51.25000000000001%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAABYlAAAWJQFJUiTwAAAB2klEQVQoz41S227TQBT0D0RQFMeO7+u74yYhBURREaiobWLHjZ1wkUquvJC4RDyUl/L1w+66scoDEg+rmdk9Ozv2OcL+9hajqytkaYosSfhKRyNMJznK7Q7lrsTu+xY/ypLqLdd5lmGcjOr66/EYF+cf8OvuDsLw8hLtVguyKFbrEVdlGZqiQGu3oUgS14okQ2o2ITfFuo6dHT1pIKWPCBP6GjFNOJYFm6JLCOwHblsmR2IYHA81UewhjDzKqTZMBL4L4uqYFQUEFtfSdX7pcJFhvUd1zXUDfmgjHgSIjj26X9XF/QAmUVHQ30QTXtcm/zI8aNcl6Dz3EfU8dHo+LM2AF9jovohgmAqmOTVkDTA17b8SMpOo68HrEDi+CV1V4MeEJzSsB8MsSf/6ZG72iB/Mg8jh6cJjF/nHDMvNHJ++zDD7nKN7EkE325UhGxlDVeuLnuPwlCy1axPeCMvQqZGHuBvwhpy+eYVheoH352/x+vQl+oMYtmNWTXl3dgZRfAbPtuFTs0G/z5EZxWGIE6odYlVnvR4fsaNGg48SG5mnlOt0tJSWhGQ4hPBzv8dkkmGzXmOzWmG9XGJ+c8P54uuc4zd6tlosOGcp2KcVdDGcFjnfY2a/7+/xB6xCOF7Nm4s8AAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"10\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/c26e8d2ebd81a5724258c61d2bb8e772/d9199/10.png\"\n        srcset=\"/devHistoryBlog/static/c26e8d2ebd81a5724258c61d2bb8e772/8ff5a/10.png 240w,\n/devHistoryBlog/static/c26e8d2ebd81a5724258c61d2bb8e772/e85cb/10.png 480w,\n/devHistoryBlog/static/c26e8d2ebd81a5724258c61d2bb8e772/d9199/10.png 960w,\n/devHistoryBlog/static/c26e8d2ebd81a5724258c61d2bb8e772/71b12/10.png 1308w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n</li>\n</ul>\n<h4>✔︎ increase</h4>\n<ul>\n<li>주어진 시간 범위 내에서 카운터 값의 총 증가량</li>\n<li>\n<p>5분동안 요청된 총 증가량</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">increase(http_server_requests_seconds_count[5m])</code></pre></div>\n</li>\n</ul>\n<h4>✔︎ rate</h4>\n<ul>\n<li>초당 증가율</li>\n<li>\n<p>5분동안의 초당 증가율</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">rate(http_server_requests_seconds_count[5m])</code></pre></div>\n</li>\n</ul>\n<h4>✔︎ histogram_quantile</h4>\n<ul>\n<li>히스토그램 데이터 기반으로 특정 분위수(예: 50%, 90%) 값을 추정하는 데 사용</li>\n<li>\n<p>5분동안의 초당 증가율을 구하는데, 상위 1%는 제외하여 연산한다.</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">histogram_quantile(0.9, rate(http_server_requests_seconds_bucket[5m]))</code></pre></div>\n</li>\n</ul>\n<h4>✔︎ 왜 소수가 나올까?</h4>\n<ul>\n<li><strong>선형 보간</strong>을 수행하기 때문이다.</li>\n<li>실제 요청이 특정 시점에 몰려 있더라도 일정한 속도로 증가한다고 가정하여 1.009와 같은 소수점 값이 나올 수 있음.</li>\n<li>보간: 주어진 데이터 사이의 값들을 추정하여 새로운 값을 생성하는 방법</li>\n<li>참고: <br/>\n<a href=\"https://promlabs.com/blog/2021/01/29/how-exactly-does-promql-calculate-rates/\">https://promlabs.com/blog/2021/01/29/how-exactly-does-promql-calculate-rates/</a> <br/>\n<a href=\"https://velog.io/@skynet/Prometheus-rate-%EC%97%B0%EC%82%B0%EC%9D%98-%EC%8B%A4%ED%96%89-%EC%9B%90%EB%A6%AC\">https://velog.io/@skynet/Prometheus-rate-%EC%97%B0%EC%82%B0%EC%9D%98-%EC%8B%A4%ED%96%89-%EC%9B%90%EB%A6%AC</a> <br/></li>\n</ul>\n<br/>\n<h3>2.4. 그래서 그라파나에서 어떻게 사용하는데?</h3>\n<p>그라파나에서는 프로메테우스 웹 ui와는 다르게 from, to, step 를 추가 설정한다.</p>\n<h4>✔︎ from, to(range) 의 총 수치 나타내기</h4>\n<ul>\n<li>그라파나에서 지정한 시간 범위의 총 수치를 표현하기 위해서는 $__range 변수를 사용한다.\n\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/ae84ae6f83f430706976c2ae4e4978bc/bc70e/11.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 960px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 62.5%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAACXBIWXMAABYlAAAWJQFJUiTwAAACIElEQVQ4y22T3XKbMBCFuYkxGBDoDwHGBmzseGznIk4zzUxv+iCd6fu/xOmuME6nzcXHSoI9HGlXQRStEMcJlssYYRj9B6/zNxwXiyWG3RG3bx94ffvu2Y8ndMPhQcAfzklRlNwjEU/jNBXIC+Xn/N22H3F+uRGvuBDH4wn9MHoxfhdkosBXpBmTQ+QShdTIeE7rVVWj27Zw1RrGNRQb2LJGSXNXt5MgJ85kYo4FRCEnccFziZgctsd3XH/+xmZ3Jmd7bLq93zZHFv3SYZLmUKXBcBtQ7xt0Lx0OHwdIm6M5vGP88QvNQCI9vd/26Mcj6k0HZRyClJJnkkSQmPCRhXVtSUTDrEu4vkLZVVDaoiSB9XmEamqPbGh9XUPTcQSSnDCqMj7RNCWNLZSzPtrWodxUHjc0MHUN25Gj6wGaxHQ9CWlbTQ5rSpBWwVQlCiMhVP6JLibUREZrkhwqTT8+b2GvPeylhzl1MH0L7chhkSvfHgW1RqEdJTpfAE92R3zCgpqqaahFdLMlVyV0WU2Qy0DRI6e28ILKEuRU0jHQmJP/hbdlxivc8xtMu39sdSbQ9EiEQq5JWLFLEpeKipN+NvmD2P/QnW7oLpfp/Cw7c/dIDlcrSqT+KmyDnCqaKIGVyBCnCcJlhKen0F/BxSL0V49vjWl31E7PVKiNd/W3aMBdzo5WfLXCGFpPZ8gi3EKGzoYbnXfCt4YLwuOJ6iE4xz8uakSV/Ay8BgAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"11\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/ae84ae6f83f430706976c2ae4e4978bc/d9199/11.png\"\n        srcset=\"/devHistoryBlog/static/ae84ae6f83f430706976c2ae4e4978bc/8ff5a/11.png 240w,\n/devHistoryBlog/static/ae84ae6f83f430706976c2ae4e4978bc/e85cb/11.png 480w,\n/devHistoryBlog/static/ae84ae6f83f430706976c2ae4e4978bc/d9199/11.png 960w,\n/devHistoryBlog/static/ae84ae6f83f430706976c2ae4e4978bc/07a9c/11.png 1440w,\n/devHistoryBlog/static/ae84ae6f83f430706976c2ae4e4978bc/29114/11.png 1920w,\n/devHistoryBlog/static/ae84ae6f83f430706976c2ae4e4978bc/bc70e/11.png 2738w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </li>\n</ul>\n<h4>✔︎ 시간 흐름에 따른 수치 나타내기</h4>\n<ul>\n<li>시간 흐름에 따른 수치를 표현하기 위해서는 [계산시간범위:step] 을 사용한다.</li>\n<li>\n<p>아래 쿼리는 (sum by (uri) (rate(http<em>server</em>requests<em>seconds</em>count{namespace=“$namespace”, uri!~”^(/actuator|/swagger|/api-docs).*“}[1m:1m]))),</p>\n<ul>\n<li>\n<ol>\n<li>그라파나에서 지정한 시간 범위(24h)를</li>\n</ol>\n</li>\n<li>\n<ol start=\"2\">\n<li>1분마다 쪼개 초당 증가율을 구하는데,</li>\n</ol>\n</li>\n<li>\n<ol start=\"3\">\n<li>x축의 기준을 1분 단위로 가져간다.</li>\n</ol>\n</li>\n</ul>\n</li>\n</ul>\n<p>\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/0936e28b9fb7dd289069df2183cb4c8c/292f3/12.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 960px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 42.91666666666667%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAYAAAAywQxIAAAACXBIWXMAABYlAAAWJQFJUiTwAAABlUlEQVQoz22SS2/bMBCEeUjj6E09SOptibIUW47d5pYUhR2gQNFD21vbW4Dk//+HyYoKWiPO4cOuAO5whitm2y6sCcs5w3Y8LBYWoljierNHv77BcD2i6wYs2/5d2DTkEK7r/8OZqhfAD0JMF8aJRKs7NLqnSmKNRllrVMvuDMbD2Az+JzIE/JWAIxYZ+v0XFPUKWVEjLxuDysozmO1xisTBIw6Phl0/oBrAoWq5ATn1EcoSq/u/qPsduWjRTJHJbSxScp/O9RX26zDi+ecNnn58xOO3Lf587fH4fYffD2vc7Rt0lUKuJGSrUYwd4ipDXBeGpCBUhiTNicz07DhqPGw1DusWh6HBcWxxnPpNi8/rBrerErqkw80AtfsEudIQbWVIliWSkkSrYq5ZDnbl+Li0fSy8CBd2gIsrd8by8IFY2LQwehZFcfPtLTkp55jJSdyT2CyMBL2hgFBkW2YQMjXEiaJvRYek2bKkhVTDBoJcTIPT2fdgKW2G83nTKi0Qkvi03YT6SJIYiYb0HxoRMQ+d9m95AXSB6SkkGFUvAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"12\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/0936e28b9fb7dd289069df2183cb4c8c/d9199/12.png\"\n        srcset=\"/devHistoryBlog/static/0936e28b9fb7dd289069df2183cb4c8c/8ff5a/12.png 240w,\n/devHistoryBlog/static/0936e28b9fb7dd289069df2183cb4c8c/e85cb/12.png 480w,\n/devHistoryBlog/static/0936e28b9fb7dd289069df2183cb4c8c/d9199/12.png 960w,\n/devHistoryBlog/static/0936e28b9fb7dd289069df2183cb4c8c/07a9c/12.png 1440w,\n/devHistoryBlog/static/0936e28b9fb7dd289069df2183cb4c8c/29114/12.png 1920w,\n/devHistoryBlog/static/0936e28b9fb7dd289069df2183cb4c8c/292f3/12.png 3400w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<ul>\n<li>두 포인트간 사이는 1분</li>\n</ul>\n<p>\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/39153e9ef8f0a7bfcb6b171c6e32f88c/29c1d/13.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 960px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 44.583333333333336%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAYAAAAywQxIAAAACXBIWXMAAAsTAAALEwEAmpwYAAAB6klEQVQozz1S25KaUBDkJZWrV1AEURFFRRHkIqC7Gs1uLpVfSDaVb1PXqk1espsP7PQ5a+Whizlzpnt6hqOsrrZIlgXy9QbLfIWsWCPL14zXyIsrzMMY3+5+4PHpLxZxivVmhzRbIU4yxGlObo4lzxLkKHVNR6mmQe86KFXqqDAuC1Q1VOsNvHj5Bteb9zgcT3j1ugTDHmISJJhd4E58mJ0+4UA3u1AMswOtZcH25mjoJppE4wLdsPCuXMN+f4PT/Rklxt2Rh1laIIwzROkKiyTHdB5hRP6Ad4rR7qLZ7v0XFNCahoSI35aq2O5ucDzdywlsOjI4TaWmoqY2JcSU9YYOtdG6CNKyPQ1kYdtxobJAChJiHfuPX+TI5aoKx1+g3XeJIUfsPDenkBAzqKN0KGCNpnBo2xqM0Z+F0OisZdkcbwqVe/nw+SsOh6Pc7SBMYA0n6IndcZ91OhQNRCz4iuhoewHy6z2Wqy2KzR4+SS5X4F2a7G4/4fzwGzpJgyCWTYWBHmvEvYgd5oUBpeN60OimP/alyJjFI47fY6FNaHS44Q7PD7/QpKDpjGCNZ89fck26bTFv0KVhD6BkfGtTP4A/X8CbBYgS8fcy5kL4QYSx5+P73U/8eXxCGKXyXQoERMG3G8hzJGuF1j8oKhC2Ym6tpwAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"13\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/39153e9ef8f0a7bfcb6b171c6e32f88c/d9199/13.png\"\n        srcset=\"/devHistoryBlog/static/39153e9ef8f0a7bfcb6b171c6e32f88c/8ff5a/13.png 240w,\n/devHistoryBlog/static/39153e9ef8f0a7bfcb6b171c6e32f88c/e85cb/13.png 480w,\n/devHistoryBlog/static/39153e9ef8f0a7bfcb6b171c6e32f88c/d9199/13.png 960w,\n/devHistoryBlog/static/39153e9ef8f0a7bfcb6b171c6e32f88c/29c1d/13.png 1375w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<br/>\n<h3>2.5. 왜 기대한 값이 나오지 않을까?</h3>\n<ul>\n<li>rate, increase 를 쓰면 총 건수에 대한 값이 정확히 노출 될 줄 알았지…</li>\n</ul>\n<h4>✔︎ 소수로 나타나지는 결과</h4>\n<ul>\n<li>위에서 설명한 것 처럼 보간법 때문에 정수가 아닌 소수로 나타날 수 있다.</li>\n</ul>\n<h4>✔︎ 카운터 리셋 감지시에 기대와 다른  increase 결과</h4>\n<ul>\n<li>\n<p>롤아웃 후, 각 파드 별로 1건의 요청이 들어왔을때, increase 의 결과는 1이 아니라 0으로 표시가 된다.</p>\n<ul>\n<li>카운트가 0→1 로 변하는게 아니라 NaN → 1로 변화하는걸로 예상</li>\n</ul>\n</li>\n<li>때문에, 정확한 총 건수에 실패하며, 파드 수가 많을 수록 누락되는 건수가 많아 진다.</li>\n</ul>\n<p><strong><code class=\"language-text\">http_server_requests_seconds_count{uri=&quot;/card-types/{cardType}/intro&quot;}[5m] 결과</code></strong>\n\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/bd7ab20b0949d00ce35a03c8faaef6b1/3c5de/14.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 472px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 62.083333333333336%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAAAsTAAALEwEAmpwYAAABOUlEQVQoz51TXW+DMAzk//+5FaZRAgQIX9MArVJbHlpIbzlvsJdqGliykjjJ5Xx2vMv1iqquYcoSTdNCZ5mMSZoiL4zzQmJ0nvk8nWBMiSRJEanYuUJhDJq2xePxgIeNNs8z8rxwD2rESYKDHyDLcrTtu+x5RN3iAlj8Ar4cfGid7QOkTdOMVGtJ9Rgp+EEg8uxO2VqLvh/w0XXo+l7Gfhhwvlxkf2Vo7XNWS9zK3K5Mn5kwHMdR8qfQddOgLCupIqtKrQpXaYpOnbh/dV1h3JnUramjimMZKQMfFIbUhU5Rp2nC/X5fnbHb7SZxXuCY5bkUhG0TBK8Cqtx8YlH2tA1Zk1EcJwjDoxSFLilvrrID1E4C5cCOUYS3MPyZq++U/8tsAeQlas7fVddO86qSn8L15rb5q8KLfQFJlptBMgDPNgAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"14\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/bd7ab20b0949d00ce35a03c8faaef6b1/3c5de/14.png\"\n        srcset=\"/devHistoryBlog/static/bd7ab20b0949d00ce35a03c8faaef6b1/8ff5a/14.png 240w,\n/devHistoryBlog/static/bd7ab20b0949d00ce35a03c8faaef6b1/3c5de/14.png 472w\"\n        sizes=\"(max-width: 472px) 100vw, 472px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<p><strong><code class=\"language-text\">increase(http_server_requests_seconds_count{uri=&quot;/card-types/{cardType}/intro&quot;}[5m]) 결과</code></strong>\n\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/7f7256ac9e1c02cdf5df4cc87c576abd/b4098/15.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 816px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 36.25%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAYAAAAIy204AAAACXBIWXMAAAsTAAALEwEAmpwYAAABTUlEQVQoz21R23aCMBDk/7+sVWwVrKjcBJSrINTKpQrTnbS+Nefsyewmu5mZaF+3G9I0Q1lVCMMIjuvieIpRFGeUZSX4BM/z1V5dLoiTBEmaIs0yhFEEV866vkffD+i6Hlqe5zgEAQzDxMvrDLO5Dtt24DguDodA4fflSg0l1hdv2GwsuK6n9vX6AzchNU0T7vc7tCzLEUVH+P5BMTzFsTwQwpaBQRiqOiOOE1TVBeM4SjPU4pBxnPB4PP5yQCNNSqN0ymRjnheo6waf16vClMszMqnrWtlD+ZmoK85nNayn7GEQhlKknN1uj7m+gC5BdqyROT1dimRa4HoeVisD1nan8qVgwzTVILIcOJAG01zDXMOyttjKZTayyXYc7Pe2wr74SQvKskTTNIpR13Vo21Z597RAY8If+pb9+Urb/l5knY3ErE9P8/5Zyk+JHxPpCxiRX3FiAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"15\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/7f7256ac9e1c02cdf5df4cc87c576abd/b4098/15.png\"\n        srcset=\"/devHistoryBlog/static/7f7256ac9e1c02cdf5df4cc87c576abd/8ff5a/15.png 240w,\n/devHistoryBlog/static/7f7256ac9e1c02cdf5df4cc87c576abd/e85cb/15.png 480w,\n/devHistoryBlog/static/7f7256ac9e1c02cdf5df4cc87c576abd/b4098/15.png 816w\"\n        sizes=\"(max-width: 816px) 100vw, 816px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<p>2건의 요청이 들어왔을땐?</p>\n<p><strong><code class=\"language-text\">http_server_requests_seconds_count{uri=&quot;/card-types/{cardType}/intro&quot;}[5m] 결과</code></strong>\n\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/c0f79e89e550f25f1f74be195df3ef47/4ee7f/16.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 486px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 61.24999999999999%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAAAsTAAALEwEAmpwYAAABU0lEQVQoz51T2ZKCQAz0/39vvWAARS5RTgELUGyng+ju0y47ValOxaFNpyeLtm2RZhmKskSaZsiLQpA1iXSMTOd13aBpGhRFKffzvBCsde3xeIBncb1eEUVHnJNEMD6d4Pk+gjDEMY4lZ8Q6z7IcQRBia5gwTYXlag1D534Q4H6/j4SYcdgFCZVlwbIdIbU1hmH0IeSl32J44e12E0JTWUJqaELH2YmaYRj+TjjNh10cDp4mMqE0KeWSmCPp+36+ZB4aUNU1OPuqqnDRQWPfHVJG13US/Jduiq6Xi62ut20nyDq75G/T/V6+7z8u8ynsdnuEUQTP80USZexdF657kKFPgy8vF3GUkk2lBLeGIfgvlylrdNkendY4Eqt5Ln83hZ3ajiNhvbqnQbNM+eGy570f9nqzwddyJbI579mElMxV41YlSaq354ToqLfsnOg3Okp+Arh+mwnovsyKAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"16\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/c0f79e89e550f25f1f74be195df3ef47/4ee7f/16.png\"\n        srcset=\"/devHistoryBlog/static/c0f79e89e550f25f1f74be195df3ef47/8ff5a/16.png 240w,\n/devHistoryBlog/static/c0f79e89e550f25f1f74be195df3ef47/e85cb/16.png 480w,\n/devHistoryBlog/static/c0f79e89e550f25f1f74be195df3ef47/4ee7f/16.png 486w\"\n        sizes=\"(max-width: 486px) 100vw, 486px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<p><strong><code class=\"language-text\">increase(http_server_requests_seconds_count{uri=&quot;/card-types/{cardType}/intro&quot;}[5m]) 결과</code></strong>\n\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/73fda5a36757dc9c2209adf52b04267c/d56e1/17.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 960px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 27.083333333333332%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAFCAYAAABFA8wzAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA50lEQVQY001Qi46DMAzj//9utw0Kg41C24F4iSLeAl8T6XazZLlpKseNp42BUhq5UgjDiNWYt1MNmWVQWnM/ih6QMuN+3/dY1xWEbdvQdh3atsMwDPCezxc/9gMBIUJcrzfc/QCPOEYqJRvkuUJRFM5Y8V2cJG6oYWPCeZ4feuTeNA1PMO8Cdd2gqmtYO2BZFialsdZinCbs+45vUH0cx79hHCf8Vd+lulx+WAXVQYBAiE9ySk283X1O2LYtJjdg23Y2+kvqlWUJrQ3vijRNJX+rqmpORJzmmVOSwezO1u1qHEfmtxnhF8l3d0IfhOMUAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"17\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/73fda5a36757dc9c2209adf52b04267c/d9199/17.png\"\n        srcset=\"/devHistoryBlog/static/73fda5a36757dc9c2209adf52b04267c/8ff5a/17.png 240w,\n/devHistoryBlog/static/73fda5a36757dc9c2209adf52b04267c/e85cb/17.png 480w,\n/devHistoryBlog/static/73fda5a36757dc9c2209adf52b04267c/d9199/17.png 960w,\n/devHistoryBlog/static/73fda5a36757dc9c2209adf52b04267c/d56e1/17.png 1130w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<br/>\n<h3>2.5. 아쉬운 점</h3>\n<ul>\n<li>프로메테우스를 통해 수집한 지표들은 정확한 <strong>“건수”</strong>를 도출하기 힘들다.</li>\n<li>실제, 건수가 많은 지표에 10건 이하의 건수 누락은 크게 문제가 안되겠지만, 카드 발급 현황의 경우, 파드 수 만큼 개수가 빠지므로 크게 표시가 남.</li>\n<li>따라서, <strong>정확한 건수를 위한 지표보다는 현황 및 이상 감지 용도로 적합하다.</strong></li>\n</ul>","fields":{"tagSlugs":["/tags/prometheus/","/tags/prom-ql/"],"slug":"/works/posts/2025-01-23--001"},"frontmatter":{"title":"프로메테우스 삽질기","tags":["prometheus","promQL"],"date":"2025-01-23","description":""}}},"pageContext":{"slug":"/works/posts/2025-01-23--001"}},"staticQueryHashes":[]}