{"id":30714,"date":"2019-04-25T11:51:47","date_gmt":"2019-04-25T02:51:47","guid":{"rendered":"https:\/\/jirak.net\/wp\/prometheus%eb%a5%bc-%ed%99%9c%ec%9a%a9%ed%95%9c-amazon-eks-%ec%a0%9c%ec%96%b4-%ec%98%81%ec%97%ad%ec%9d%98-%ed%86%b5%ea%b3%84-%ec%b2%98%eb%a6%ac\/"},"modified":"2019-04-25T12:34:59","modified_gmt":"2019-04-25T03:34:59","slug":"prometheus%eb%a5%bc-%ed%99%9c%ec%9a%a9%ed%95%9c-amazon-eks-%ec%a0%9c%ec%96%b4-%ec%98%81%ec%97%ad%ec%9d%98-%ed%86%b5%ea%b3%84-%ec%b2%98%eb%a6%ac","status":"publish","type":"post","link":"https:\/\/jirak.net\/wp\/prometheus%eb%a5%bc-%ed%99%9c%ec%9a%a9%ed%95%9c-amazon-eks-%ec%a0%9c%ec%96%b4-%ec%98%81%ec%97%ad%ec%9d%98-%ed%86%b5%ea%b3%84-%ec%b2%98%eb%a6%ac\/","title":{"rendered":"Prometheus\ub97c \ud65c\uc6a9\ud55c Amazon EKS \uc81c\uc5b4 \uc601\uc5ed\uc758 \ud1b5\uacc4 \ucc98\ub9ac"},"content":{"rendered":"<p>Prometheus\ub97c \ud65c\uc6a9\ud55c Amazon EKS \uc81c\uc5b4 \uc601\uc5ed\uc758 \ud1b5\uacc4 \ucc98\ub9ac<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jirak.net\/wp\/wp-content\/uploads\/2019\/04\/eks-prom-300x150.jpg\" width=\"300\" height=\"150\"><\/p>\n<p><img decoding=\"async\" class=\"alignright wp-image-426 size-medium\" style=\"max-width: 300px;width: 100%;min-width: 100px;margin-top: -20px\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/ca3512f4dfa95a03169c5a670a4c91a19b3077b4\/2019\/03\/19\/eks-prom-300x150.jpg\" alt=\"Prometheus + Amazon EKS\" \/><a href=\"https:\/\/kubernetes.io\/\">Kubernetes<\/a>\uc758 \ucf54\uc5b4 \uad6c\uc131 \uc694\uc18c\ub294 \uc81c\uc5b4 \uc601\uc5ed(Control Plane)\uc5d0\uc11c \ucc98\ub9ac\ub418\ub294 \uc77c\ub4e4\uc758 \ud655\uc778\uc5d0 \uc0ac\uc6a9\ub420 \uc218 \uc788\ub294 \ub2e4\uc591\ud55c \ud1b5\uacc4 \uc9c0\ud45c \uc138\ud2b8\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4. \uc9c0\ud45c\ub97c \ud1b5\ud574 API \uc11c\ubc84\uc758 \uac01 \ub9ac\uc18c\uc2a4\uc5d0 \uc788\ub294 <a href=\"https:\/\/kubernetes.io\/docs\/reference\/using-api\/api-concepts\/#efficient-detection-of-changes\"><code class=\"lang-shell\">\uac10\uc2dc \ud504\ub85c\uadf8\ub7a8<\/code><\/a>\uc758 \uc218, <a href=\"https:\/\/kubernetes.io\/docs\/tasks\/debug-application-cluster\/audit\/\">\uac10\uc0ac \ucd94\uc801 \uc774\ubca4\ud2b8<\/a>\uc758 \uc218, API \uc11c\ubc84\ub85c\uc758 \uc694\uccad \uc9c0\uc5f0 \uc2dc\uac04 \ub4f1\uc758 \ub2e4\uc591\ud55c \uc815\ubcf4\ub97c \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uc9c0\ud45c\ub294 Kubernetes API \uc11c\ubc84, Kubelet, \ud074\ub77c\uc6b0\ub4dc \ucee8\ud2b8\ub864\ub7ec \uad00\ub9ac\uc790 \ubc0f \uc2a4\ucf00\uc904\ub7ec\ub97c \ud1b5\ud574 \uc81c\uacf5\ub429\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uad6c\uc131 \uc694\uc18c\ub4e4\uc740&nbsp;<code class=\"lang-shell\">\/metrics<\/code>\uc5d0 \uc788\ub294 <code class=\"lang-shell\">text\/plain<\/code> \ucf58\ud150\uce20 \uc720\ud615\uc5d0\uc11c \u201c\uc9c0\ud45c\u201d \uc5d4\ub4dc\ud3ec\uc778\ud2b8(HTTP\ub97c \ud1b5\ud574 \uc751\ub2f5)\ub4e4\uc744 \ub178\ucd9c\ud569\ub2c8\ub2e4. \uc774 \uac8c\uc2dc\ubb3c\uc5d0\uc11c\ub294 <a href=\"https:\/\/aws.amazon.com\/eks\/\">Amazon Elastic Container Service for Kubernetes(EKS)<\/a> \ud074\ub7ec\uc2a4\ud130\uc5d0\uc11c API \uc11c\ubc84 \uc9c0\ud45c\ub97c \uac00\uc838\uc624\ub294 \ubc29\ubc95\uc744 \uc124\uba85\ud569\ub2c8\ub2e4.<\/p>\n<h3>\uc0ac\uc804 \uc870\uac74<\/h3>\n<p>\uba3c\uc800 Amazon EKS \ud074\ub7ec\uc2a4\ud130\ub97c \uc124\uc815\ud574\uc57c \ud569\ub2c8\ub2e4. \uc774 \ub370\ubaa8\uc5d0\uc11c\ub294 <a href=\"https:\/\/eksctl.io\/\"><code class=\"lang-shell\">eksctl<\/code><\/a>\uc758 ClusterConfig \ud30c\uc77c \uba54\ucee4\ub2c8\uc998\uc744 \uc0ac\uc6a9\ud558\uaca0\uc2b5\ub2c8\ub2e4. \uba3c\uc800 \uc0ac\uc804 \uc870\uac74\uc73c\ub85c \ub2e4\uc74c\uacfc \uac19\uc740 \ud234\uc744 \ub2e4\uc6b4\ub85c\ub4dc\ud569\ub2c8\ub2e4.<\/p>\n<ul>\n<li><a href=\"http:\/\/eksctl.io\"><code class=\"lang-shell\">eksctl<\/code><\/a><\/li>\n<li><a href=\"https:\/\/kubernetes.io\/docs\/tasks\/tools\/install-kubectl\/\"><code class=\"lang-shell\">kubectl<\/code><\/a><\/li>\n<li><a href=\"https:\/\/helm.sh\/docs\/using_helm\/#installing-the-helm-client\"><code class=\"lang-shell\">helm<\/code> <\/a><\/li>\n<\/ul>\n<p>\ud544\uc218 \ub3c4\uad6c\ub97c \ubaa8\ub450 \uc124\uce58\ud588\uc73c\uba74 EKS \ud074\ub7ec\uc2a4\ud130 \uc2e4\ud589\uc744 \uc2dc\uc791\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \uc608\uc5d0\uc11c\ub294 AWS\uc758 \uc624\ud558\uc774\uc624 \ub9ac\uc804\uc778 us-east-2\uc5d0 \ud074\ub7ec\uc2a4\ud130\ub97c \uad6c\ucd95\ud569\ub2c8\ub2e4\ub9cc \ud544\uc694\uc5d0 \ub530\ub77c&nbsp;<code class=\"lang-shell\">AWS_REGION<\/code>\uc744 <a href=\"https:\/\/aws.amazon.com\/about-aws\/global-infrastructure\/regional-product-services\/\">Amazon EKS \uc9c0\uc6d0 \ub9ac\uc804<\/a> \uc911 \ud558\ub098\ub85c \ub300\uccb4\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <em>(\ud604\uc7ac \uc11c\uc6b8 \ub9ac\uc804\uc5d0\uc11c\ub3c4 Amazon EKS\ub97c \uc0ac\uc6a9 \uac00\ub2a5\ud569\ub2c8\ub2e4.)<\/em><\/p>\n<h3>\ud074\ub7ec\uc2a4\ud130 \uad6c\ucd95<\/h3>\n<pre><code class=\"lang-shell\">export AWS_REGION=us-east-2<\/code><\/pre>\n<p>\ub9ac\uc804\uc744 \ub0b4\ubcf4\ub0c8\uc73c\uba74 \ub2e4\uc74c\uacfc \uac19\uc774 <code class=\"lang-shell\">ClusterConfig<\/code>\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<pre><code class=\"lang-shell\">cat &gt;cluster.yaml &lt;&lt;EOF\napiVersion: eksctl.io\/v1alpha4\nkind: ClusterConfig\nmetadata:\n  name: control-plane-metrics\n  region: us-east-2\n\nnodeGroups:\n  - name: ng-1\n    desiredCapacity: 2\nEOF<\/code><\/pre>\n<p>\ud30c\uc77c\uc774 \uc0dd\uc131 \uc774\ud6c4&nbsp;<code class=\"lang-shell\">eksctl create cluster<\/code> \uba85\ub839\uc744 \uc0ac\uc6a9\ud558\uc5ec \ud074\ub7ec\uc2a4\ud130\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.<\/p>\n<pre><code class=\"lang-shell\">eksctl create cluster -f cluster.yaml<\/code><\/pre>\n<p><em>\uc774 \uc791\uc5c5\uc740 \uc644\ub8cc\ud558\ub294 \ub370 \uc57d 10~15\ubd84\uc774 \uc18c\uc694\ub418\uba70, \uc791\uc5c5\uc774 \uc644\ub8cc\ub418\uba74 Amazon EKS \ud074\ub7ec\uc2a4\ud130\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/em><\/p>\n<h3>\ubbf8\uac00\uacf5 \uc790\ub8cc \ud655\uc778\ud558\uae30<\/h3>\n<p>\uc9c0\ud45c\ub97c \uc2dc\uac01\ud654, \ubaa8\ub2c8\ud130\ub9c1 \ubc0f \uc54c\ub9bc \uc124\uc815\ud558\uae30 \uc804\uc5d0, \uc774\ub7ec\ud55c \uc9c0\ud45c \uc5d4\ub4dc\ud3ec\uc778\ud2b8\uac00 \uc5b4\ub5bb\uac8c \ucd9c\ub825 \ub418\ub294\uc9c0 \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<pre><code class=\"lang-shell\">kubectl get --raw \/metrics<\/code><\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2532\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/ca3512f4dfa95a03169c5a670a4c91a19b3077b4\/2019\/03\/19\/raw-metrics.gif\" alt=\"\" width=\"800\" height=\"363\" \/><\/p>\n<p>\uc774\ub7ec\ud55c \uc9c0\ud45c\ub294 <a href=\"https:\/\/github.com\/prometheus\/docs\/blob\/master\/content\/docs\/instrumenting\/exposition_formats.md\">Prometheus \ud615\uc2dd<\/a>\uc73c\ub85c \ucd9c\ub825\ub429\ub2c8\ub2e4. <a href=\"https:\/\/prometheus.io\/\">Prometheus<\/a>\ub294 <a href=\"http:\/\/cncf.io\/\">CNCF(Cloud Native Computing Foundation)<\/a> \ub4f1\uae09 \ud504\ub85c\uc81d\ud2b8\ub85c\uc11c, \ud074\ub7ec\uc2a4\ud130 \ub0b4\uc758 \uc9c0\ud45c \uc5d4\ub4dc\ud3ec\uc778\ud2b8\ub97c \uc2a4\uce94 \ubc0f \uc2a4\ud06c\ub808\uc774\ud551\ud560 \uc218 \uc788\uc73c\uba70 \uc790\uccb4 \uc5d4\ub4dc\ud3ec\uc778\ud2b8\uae4c\uc9c0\ub3c4 \uc2a4\uce94\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. Prometheus \uc9c0\ud45c\ub97c \uc704\ud55c \uad6c\ubb38\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<pre><code class=\"lang-shell\">metric_name {[ &quot;tag&quot; = &quot;value&quot; ]*} value<\/code><\/pre>\n<p>\uc774\ub807\uac8c \ud558\uba74 <code class=\"lang-shell\">metric_name<\/code>\uc744 \uc124\uc815\ud558\uace0, \ucffc\ub9ac\uc5d0 \uc0ac\uc6a9\ub418\ub294 \uc9c0\ud45c <code class=\"lang-shell\">tags<\/code>\ub97c \uc815\uc758\ud558\uace0, <code class=\"lang-shell\">value<\/code>\ub97c \uc124\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <code class=\"lang-shell\">apiserver_request_count<\/code>\uc5d0 \ub300\ud55c \uad00\ub828 \uc124\uc815\uc758 \uc608\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<pre><code class=\"lang-shell\">apiserver_request_count{client=&quot;kube-apiserver\/v1.11.8 (linux\/amd64) kubernetes\/7c34c0d&quot;,code=&quot;200&quot;,contentType=&quot;application\/vnd.kubernetes.protobuf&quot;,resource=&quot;pods&quot;,scope=&quot;cluster&quot;,subresource=&quot;&quot;,verb=&quot;LIST&quot;} 7<\/code><\/pre>\n<p>\uc774\ub294 <code class=\"lang-shell\">LIST<\/code>\ud560 <code class=\"lang-shell\">pods<\/code> \ub9ac\uc18c\uc2a4\uc5d0 \ub300\ud55c \uc694\uccad\uc774 <code class=\"lang-shell\">7<\/code>\ubc88 \uc788\uc5c8\uc74c\uc744 \ub098\ud0c0\ub0c5\ub2c8\ub2e4.<\/p>\n<p>\ub2e4\uc74c\uc73c\ub85c <code class=\"lang-shell\">helm<\/code>\uc744 \uc0ac\uc6a9\ud558\uc5ec Prometheus\ub97c \uc124\uc815\ud558\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n<h3>Helm \uad6c\uc131\ud558\uae30<\/h3>\n<p>\ud074\ub7ec\uc2a4\ud130\uac00 \uc0dd\uc131\ub418\uace0 \ub098\uba74 \ub85c\uceec\uc5d0\uc11c <code class=\"lang-shell\">helm<\/code>\uc744 \uc124\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub807\uac8c \ud558\uba74 \ud074\ub7ec\uc2a4\ud130 \ub0b4\uc5d0\uc11c <code class=\"lang-shell\">tiller<\/code>\ub97c \uc2e4\ud589\ud560 \ud544\uc694\uac00 \uc5c6\uc2b5\ub2c8\ub2e4. Helm\uad6c\uc131\uc744 \uc704\ud574 \uac8c\uc2dc\ubb3c <a href=\"https:\/\/docs.aws.amazon.com\/eks\/latest\/userguide\/helm.html\">Using Helm with Amazon EKS<\/a>\uc5d0 \uc788\ub294 \ub2e8\uacc4\ub97c \ub530\ub985\ub2c8\ub2e4.<\/p>\n<p>\ub2e4\uc74c \ub2e8\uacc4\ub97c \ud1b5\ud574 Prometheus\ub97c \uad6c\ucd95\ud569\ub2c8\ub2e4.<\/p>\n<h3>Prometheus \ubc30\ud3ec\ud558\uae30<\/h3>\n<p>\uba3c\uc800 Kubernetes \ub124\uc784\uc2a4\ud398\uc774\uc2a4\ub97c \uc0dd\uc131\ud558\uace0 <code class=\"lang-shell\">helm<\/code>\uc744 \uc0ac\uc6a9\ud558\uc5ec <code class=\"lang-shell\">stable\/prometheus<\/code> \ud328\ud0a4\uc9c0\ub97c \ubc30\ud3ec\ud569\ub2c8\ub2e4.<\/p>\n<pre><code class=\"lang-shell\">kubectl create namespace prometheus\nhelm install stable\/prometheus  \n             --name prometheus \n             --namespace prometheus \n             --set alertmanager.persistentVolume.storageClass=&quot;gp2&quot;,server.persistentVolume.storageClass=&quot;gp2&quot;,server.service.type=LoadBalancer<\/code><\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2577\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/ca3512f4dfa95a03169c5a670a4c91a19b3077b4\/2019\/03\/19\/install-prom.gif\" alt=\"\" width=\"800\" height=\"354\" \/><\/p>\n<p>\ud328\ud0a4\uc9c0\uac00 \uc124\uce58 \ub418\uc5c8\uc73c\uba74 \uc11c\ube44\uc2a4 \ub9ac\uc2a4\ud2b8\ub97c \ud45c\uc2dc\ud558\uc5ec \ub85c\ub4dc \ubc38\ub7f0\uc11c\uc758 \uc8fc\uc18c\ub97c \uac00\uc838\uc62c \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<pre><code class=\"lang-shell\">kubectl get svc -o wide \u2014namespace prometheus<\/code><\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2578 size-full\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/ca3512f4dfa95a03169c5a670a4c91a19b3077b4\/2019\/03\/19\/get-service.gif\" alt=\"\" width=\"800\" height=\"360\" \/><\/p>\n<p>\ube0c\ub77c\uc6b0\uc800\ub97c \ud1b5\ud574 \uc774 \ub85c\ub4dc \ubc38\ub7f0\uc11c \uc8fc\uc18c\ub85c \uc774\ub3d9\ud558\uba74 Prometheus UI\uac00 \ub85c\ub4dc\ub429\ub2c8\ub2e4. \uc5ec\uae30\uc5d0\uc11c [<b>Status<\/b>] \u2192 [<b>Targets<\/b>]\ub85c \uc774\ub3d9\ud558\uba74 \ud398\uc774\uc9c0\uc5d0 \uc81c\uc5b4 \ud3c9\uba74 \ub178\ub4dc\uac00 \ud45c\uc2dc\ub429\ub2c8\ub2e4.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-2579\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/ca3512f4dfa95a03169c5a670a4c91a19b3077b4\/2019\/03\/19\/apiservers-1024x677.png\" alt=\"\" width=\"1024\" height=\"677\" \/><\/p>\n<p>\ub178\ub4dc\ub97c \ubcfc \uc218 \uc788\uac8c \ub418\uba74 \ud574\ub2f9 \ub178\ub4dc\ub85c \uc774\ub3d9\ud558\uc5ec \uc77c\ubd80 \uc9c0\ud45c\ub97c \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. [<b>Graph<\/b>]\ub85c \uc774\ub3d9\ud558\uc5ec [<b>\u2013 insert metric at cursor \u2013<\/b>] \ub4dc\ub86d\ub2e4\uc6b4\uc5d0\uc11c <code>apiserver_<\/code>\ub85c \uc2dc\uc791\ud558\ub294 \uc9c0\ud45c \uc911 \ud558\ub098\ub97c \uc120\ud0dd\ud558\uace0 [<b>Execute <\/b>]\ub97c \ud074\ub9ad\ud569\ub2c8\ub2e4. \uc774\ub807\uac8c \ud558\uba74 API \uc11c\ubc84\uc5d0\uc11c \ub9c8\uc9c0\ub9c9\uc73c\ub85c \ub3d9\uae30\ud654\ub41c \ub370\uc774\ud130\uac00 \ub85c\ub4dc\ub429\ub2c8\ub2e4.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-2580\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/ca3512f4dfa95a03169c5a670a4c91a19b3077b4\/2019\/03\/19\/apiserver-latency-1024x508.png\" alt=\"\" width=\"1024\" height=\"508\" \/><\/p>\n<p>\uc774\uc81c [<b>Console<\/b>] \ubdf0\uc5d0\uc11c \uc9c0\ud45c\ub97c \ubcfc \uc218 \uc788\uc73c\ubbc0\ub85c, [<b>Graph<\/b>]\ub85c \uc804\ud658\ud558\uc5ec \uc774 \ub370\uc774\ud130\ub97c \uc2dc\uac01\ud654\ud569\ub2c8\ub2e4.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-2581\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/ca3512f4dfa95a03169c5a670a4c91a19b3077b4\/2019\/03\/19\/apiserver-latency-graph-1024x793.png\" alt=\"\" width=\"1024\" height=\"793\" \/><\/p>\n<h3>Teardown \uc218\ud589\ud558\uae30<\/h3>\n<p>\ud2b9\ubcc4\ud788 \uc774 \ud14c\uc2a4\ud2b8\ub97c \uc2e4\ud589\ud558\uae30 \uc704\ud574 \ud074\ub7ec\uc2a4\ud130\ub97c \uad6c\ucd95\ud588\uc73c\uba70 teardown\uc744 \uc218\ud589\ud558\ub824\ub294 \uacbd\uc6b0, \uba3c\uc800 <code>prometheus<\/code> \ub124\uc784\uc2a4\ud398\uc774\uc2a4\ub97c \uc0ad\uc81c\ud55c \ub2e4\uc74c \ud074\ub7ec\uc2a4\ud130\ub97c \uc0ad\uc81c\ud569\ub2c8\ub2e4.<\/p>\n<pre><code class=\"lang-shell\">kubectl delete namespace prometheus\neksctl delete cluster -f cluster.yaml<\/code><\/pre>\n<p>Prometheus\ub97c \uc0ac\uc6a9\ud558\uba74 Kubernetes API \uc11c\ubc84 \ub0b4\uc5d0 \uc5b4\ub5a4 \uc77c\uc774 \uc9c4\ud589\ub418\ub294\uc9c0 \ubcfc \uc218 \uc788\uc73c\uba70 \uc2dc\uac04\uc758 \ud750\ub984\uc5d0 \ub530\ub978 \uc774\ub7ec\ud55c \uc9c0\ud45c\uc758 \ubcc0\ud654\ub97c \uadf8\ub798\ud504\ub85c \ud45c\uc2dc\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub610\ud55c Prometheus\ub97c \uc0ac\uc6a9\ud558\uc5ec [<b>Alerts<\/b>] \ud0ed\uc5d0 \ucd94\uac00\ub420 \uc54c\ub9bc \uaddc\uce59\uc744 \uc124\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774 <code>helm<\/code> \ucc28\ud2b8\ub97c \uc0ac\uc6a9\ud558\uba74 \uc0ac\uc6a9\uc790\uac00 \uc815\uc758\ud55c \uc54c\ub9bc \uaddc\uce59\uc744 \uae30\ubc18\uc73c\ub85c \uc54c\ub9bc\uc744 \uad6c\uc131\ud560 \uc218 \uc788\uac8c \ud574 \uc8fc\ub294 <a href=\"https:\/\/prometheus.io\/docs\/alerting\/alertmanager\/\">Alertmanager<\/a>\ub3c4 \ubc30\ud3ec\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <code>prometheus-server<\/code> configmap\uc744 \uc218\uc815\ud558\uc5ec \uc9c1\uc811 \uc77c\ubd80 \uaddc\uce59\uc744 \uc124\uc815\ud574 \ubd05\ub2c8\ub2e4.<\/p>\n<pre><code class=\"lang-shell\">kubectl get configmap -n prometheus prometheus-server -o yaml<\/code><\/pre>\n<p>Kubernetes API\uc5d0\uc11c\uc640 \uac19\uc774 \uc790\uccb4 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\uc11c \uc9c0\ud45c\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \ubc29\ubc95\uc5d0 \ub300\ud55c \uc790\uc138\ud55c \ub0b4\uc6a9\uc740 <a href=\"https:\/\/kccna18.sched.com\/\">KubeCon CloudNativeCon North America 2018<\/a> \u2013 <a href=\"https:\/\/www.youtube.com\/watch?v=HYDojVW9YtU\">Monitor the World: Meaningful \uc9c0\ud45c for Containerized Apps &amp; Clusters<\/a>(\ubc1c\ud45c\uc790: <a href=\"https:\/\/github.com\/nckturner\">Nicholas Turner<\/a> \ubc0f <a href=\"https:\/\/github.com\/negz\">Nic Cope<\/a>)\ub97c \ucc38\uc870\ud558\uc2ed\uc2dc\uc624.<\/p>\n<div class=\"blog-author-box\">\n<div class=\"blog-author-image\">\n  <img decoding=\"async\" class=\"alignleft\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/ca3512f4dfa95a03169c5a670a4c91a19b3077b4\/2018\/02\/21\/chrishein-black-large-square.png\" alt=\"Chris Hein\" width=\"125\" \/>\n <\/div>\n<p>Chris Hein\uc740 Amazon Web Services\uc758 Kubernetes\/EKS\ub2f4\ub2f9 Developer Advocate\uc785\ub2c8\ub2e4. Amazon \uc774\uc804\uc5d0\ub294, Chris\ub294 GoPro, Sproutling, Mattel \ub4f1\uc758 \ud06c\uace0 \uc791\uc740 \uae30\uc5c5\uc5d0\uc11c \uadfc\ubb34\ud588\uc2b5\ub2c8\ub2e4 .&nbsp; <a href=\"https:\/\/aws.amazon.com\/blogs\/opensource\/author\/heichris\/\">Christ\uc758 \uae00<\/a>\uc744 \ub354 \uc77d\uc5b4\ubcf4\uace0 <a href=\"https:\/\/twitter.com\/christopherhein\">@christopherhein<\/a> \uc744 \ud314\ub85c\uc6b0\ud558\uc2ed\uc2dc\uc624.<\/p>\n<p><em>\uc774 \uae00\uc740 AWS Open Source \ube14\ub85c\uadf8 <a href=\"https:\/\/aws.amazon.com\/ko\/blogs\/opensource\/amazon-eks-control-plane-metrics-prometheus\/?sc_channel=sm&amp;sc_campaign=Open_Source&amp;sc_publisher=TWITTER&amp;sc_country=Open+Source&amp;sc_geo=GLOBAL&amp;sc_outcome=adoption&amp;trk=open_source_TWITTER&amp;linkId=65778355\">Amazon EKS Control Plane Metrics with Prometheus<\/a>\uc758 \ud55c\uad6d\uc5b4 \ubc88\uc5ed\uc785\ub2c8\ub2e4.<\/em> <\/p>\n<\/div>\n<p>Source: <a href=\"https:\/\/aws.amazon.com\/ko\/blogs\/korea\/amazon-eks-control-plane-metrics-prometheus\/\" target=\"_blank\" rel=\"noopener noreferrer\">Prometheus\ub97c \ud65c\uc6a9\ud55c Amazon EKS \uc81c\uc5b4 \uc601\uc5ed\uc758 \ud1b5\uacc4 \ucc98\ub9ac<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"mh-excerpt\"><p>Prometheus\ub97c \ud65c\uc6a9\ud55c Amazon EKS \uc81c\uc5b4 \uc601\uc5ed\uc758 \ud1b5\uacc4 \ucc98\ub9ac Kubernetes\uc758 \ucf54\uc5b4 \uad6c\uc131 \uc694\uc18c\ub294 \uc81c\uc5b4 \uc601\uc5ed(Control Plane)\uc5d0\uc11c \ucc98\ub9ac\ub418\ub294 \uc77c\ub4e4\uc758 \ud655\uc778\uc5d0 \uc0ac\uc6a9\ub420 \uc218 \uc788\ub294 \ub2e4\uc591\ud55c \ud1b5\uacc4 \uc9c0\ud45c \uc138\ud2b8\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4. \uc9c0\ud45c\ub97c \ud1b5\ud574 API \uc11c\ubc84\uc758 \uac01 \ub9ac\uc18c\uc2a4\uc5d0 \uc788\ub294 \uac10\uc2dc \ud504\ub85c\uadf8\ub7a8\uc758 \uc218, \uac10\uc0ac \ucd94\uc801 \uc774\ubca4\ud2b8\uc758 \uc218, API \uc11c\ubc84\ub85c\uc758 \uc694\uccad \uc9c0\uc5f0 \uc2dc\uac04 \ub4f1\uc758 \ub2e4\uc591\ud55c \uc815\ubcf4\ub97c \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uc9c0\ud45c\ub294 Kubernetes API \uc11c\ubc84, Kubelet, \ud074\ub77c\uc6b0\ub4dc \ucee8\ud2b8\ub864\ub7ec \uad00\ub9ac\uc790 \ubc0f \uc2a4\ucf00\uc904\ub7ec\ub97c \ud1b5\ud574 \uc81c\uacf5\ub429\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uad6c\uc131 \uc694\uc18c\ub4e4\uc740&nbsp;\/metrics\uc5d0 \uc788\ub294 text\/plain \ucf58\ud150\uce20 \uc720\ud615\uc5d0\uc11c \u201c\uc9c0\ud45c\u201d \uc5d4\ub4dc\ud3ec\uc778\ud2b8(HTTP\ub97c \ud1b5\ud574 \uc751\ub2f5)\ub4e4\uc744 \ub178\ucd9c\ud569\ub2c8\ub2e4. \uc774 \uac8c\uc2dc\ubb3c\uc5d0\uc11c\ub294 Amazon Elastic Container Service for Kubernetes(EKS) \ud074\ub7ec\uc2a4\ud130\uc5d0\uc11c API \uc11c\ubc84 \uc9c0\ud45c\ub97c \uac00\uc838\uc624\ub294 \ubc29\ubc95\uc744 \uc124\uba85\ud569\ub2c8\ub2e4. \uc0ac\uc804 \uc870\uac74 \uba3c\uc800 Amazon EKS \ud074\ub7ec\uc2a4\ud130\ub97c \uc124\uc815\ud574\uc57c \ud569\ub2c8\ub2e4. \uc774 \ub370\ubaa8\uc5d0\uc11c\ub294 eksctl\uc758 ClusterConfig \ud30c\uc77c \uba54\ucee4\ub2c8\uc998\uc744 \uc0ac\uc6a9\ud558\uaca0\uc2b5\ub2c8\ub2e4. \uba3c\uc800 \uc0ac\uc804 \uc870\uac74\uc73c\ub85c \ub2e4\uc74c\uacfc \uac19\uc740 \ud234\uc744 \ub2e4\uc6b4\ub85c\ub4dc\ud569\ub2c8\ub2e4. eksctl kubectl helm \ud544\uc218 \ub3c4\uad6c\ub97c \ubaa8\ub450 \uc124\uce58\ud588\uc73c\uba74 EKS \ud074\ub7ec\uc2a4\ud130 \uc2e4\ud589\uc744 \uc2dc\uc791\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \uc608\uc5d0\uc11c\ub294 AWS\uc758 \uc624\ud558\uc774\uc624 \ub9ac\uc804\uc778 us-east-2\uc5d0 \ud074\ub7ec\uc2a4\ud130\ub97c \uad6c\ucd95\ud569\ub2c8\ub2e4\ub9cc \ud544\uc694\uc5d0 \ub530\ub77c&nbsp;AWS_REGION\uc744 Amazon EKS \uc9c0\uc6d0 \ub9ac\uc804 <a class=\"mh-excerpt-more\" href=\"https:\/\/jirak.net\/wp\/prometheus%eb%a5%bc-%ed%99%9c%ec%9a%a9%ed%95%9c-amazon-eks-%ec%a0%9c%ec%96%b4-%ec%98%81%ec%97%ad%ec%9d%98-%ed%86%b5%ea%b3%84-%ec%b2%98%eb%a6%ac\/\" title=\"Prometheus\ub97c \ud65c\uc6a9\ud55c Amazon EKS \uc81c\uc5b4 \uc601\uc5ed\uc758 \ud1b5\uacc4 \ucc98\ub9ac\">[ more&#8230; ]<\/a><\/p>\n<\/div>","protected":false},"author":1,"featured_media":30715,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[169],"tags":[656],"class_list":["post-30714","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","tag-aws"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/posts\/30714","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/comments?post=30714"}],"version-history":[{"count":1,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/posts\/30714\/revisions"}],"predecessor-version":[{"id":30716,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/posts\/30714\/revisions\/30716"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/media\/30715"}],"wp:attachment":[{"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/media?parent=30714"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/categories?post=30714"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/tags?post=30714"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}