{"id":1282,"date":"2020-08-19T23:53:33","date_gmt":"2020-08-19T14:53:33","guid":{"rendered":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=1282"},"modified":"2020-08-22T15:35:30","modified_gmt":"2020-08-22T06:35:30","slug":"install-prometheus-with-docker","status":"publish","type":"post","link":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=1282","title":{"rendered":"(Deprecated) Install Prometheus with docker"},"content":{"rendered":"<h1>(Deprecated) Install Prometheus with docker<\/h1>\n<p><a href=\"https:\/\/teamsmiley.github.io\/2020\/01\/17\/prometheus\/\">\ucc38\uc870<\/a><\/p>\n<h2>\uc120\ud589\uc791\uc5c5<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=1263\">\ub3c4\ucee4<\/a> \uc124\uce58<\/li>\n<\/ul>\n<h2>prometheus \uc124\uce58<\/h2>\n<pre><code class=\"language-bash\">sudo mkdir -p \/data\/docker\/prometheus\/\nsudo vi \/data\/docker\/prometheus\/prometheus.yml<\/code><\/pre>\n<pre><code class=\"language-yaml\">global:\n  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.\nscrape_configs:\n  - job_name: &#039;prometheus&#039;\n    static_configs:\n    - targets: [&#039;172.31.16.237:9090&#039;]<\/code><\/pre>\n<pre><code class=\"language-bash\">docker run \\\n  -p 9090:9090 \\\n  -v \/data\/docker\/prometheus\/prometheus.yml:\/etc\/prometheus\/prometheus.yml \\\n  prom\/prometheus<\/code><\/pre>\n<p>\ube0c\ub77c\uc6b0\uc800\uc5d0\uc11c \uc815\uc0c1 \uc791\ub3d9\uc744 \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<pre><code class=\"language-bash\">http:\/\/XXX.XXX.XXX.XXX:9090\/<\/code><\/pre>\n<p><code>Status &gt; Targets<\/code> \uc5d0\uc11c <code>prometheus<\/code> \uac00 \uc815\uc0c1\uc801\uc73c\ub85c \uc791\ub3d9\ud558\ub294 \uac83\uc744 \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h2>node_exporter \uc124\uce58<\/h2>\n<p><strong><code>node_exporter<\/code> \ub294 <code>host<\/code> \ub97c \ubaa8\ub2c8\ud130\ub9c1\ud558\ub294 \uac83\uc774 \uae30\ub2a5\uc774\ub77c, <code>docker<\/code> \ub85c \uc124\uce58\ud558\ub294 \uac83\uc740 \ube44\ucd94\ub77c\uace0 \ud569\ub2c8\ub2e4.<\/strong><\/p>\n<p>\uadf8\ub798\uc11c, \uadf8\ub0e5 \ubc14\uc774\ub108\ub9ac\ub97c \ub2e4\uc6b4\ubc1b\uc544 \uc124\uce58\ud569\ub2c8\ub2e4.<\/p>\n<pre><code class=\"language-bash\">curl -LO https:\/\/github.com\/prometheus\/node_exporter\/releases\/download\/v1.0.1\/node_exporter-1.0.1.linux-amd64.tar.gz\ntar -xvf node_exporter-1.0.1.linux-amd64.tar.gz\nsudo mv node_exporter-1.0.1.linux-amd64\/node_exporter \/usr\/local\/bin\/<\/code><\/pre>\n<p>\uc11c\ube44\uc2a4\ub85c \ub4f1\ub85d\ud569\ub2c8\ub2e4.<\/p>\n<pre><code class=\"language-bash\">sudo vi \/etc\/systemd\/system\/node_exporter.service<\/code><\/pre>\n<pre><code class=\"language-configuration\">[Unit]\nDescription=Node Exporter\nAfter=network.target\n\n[Service]\nUser=node_exporter\nGroup=node_exporter\nType=simple\nExecStart=\/usr\/local\/bin\/node_exporter\n\n[Install]\nWantedBy=multi-user.target<\/code><\/pre>\n<pre><code class=\"language-bash\">sudo useradd -M -r -s \/bin\/false node_exporter\n\nsudo systemctl daemon-reload\nsudo systemctl start node_exporter\nsudo systemctl status node_exporter\nsudo systemctl enable node_exporter<\/code><\/pre>\n<h2>prometheus \uc640 node_exporter \uc5f0\ub3d9<\/h2>\n<pre><code class=\"language-bash\">sudo vi \/data\/docker\/prometheus\/prometheus.yml<\/code><\/pre>\n<pre><code class=\"language-yaml\">scrape_configs:\n  - job_name: &#039;prometheus&#039;\n    static_configs:\n      - targets: [&#039;172.31.16.237:9090&#039;]\n\n  - job_name: &#039;node_exporter&#039;\n    static_configs:\n      - targets: [&#039;172.31.16.237:9100&#039;]<\/code><\/pre>\n<pre><code class=\"language-bash\">docker run \\\n  -p 9090:9090 \\\n  -v \/data\/docker\/prometheus\/prometheus.yml:\/etc\/prometheus\/prometheus.yml \\\n  prom\/prometheus<\/code><\/pre>\n<p><code>docker-compose<\/code> \ub97c \uc774\uc6a9\ud574 \uc2e4\ud589\ud569\ub2c8\ub2e4.<\/p>\n<pre><code class=\"language-bash\">vi docker-compose.yml<\/code><\/pre>\n<pre><code class=\"language-yaml\">version: &#039;3.7&#039;\nservices:\n  prometheus:\n    image: prom\/prometheus\n    container_name: prometheus\n    volumes:\n      - \/data\/docker\/prometheus\/prometheus.yml:\/etc\/prometheus\/prometheus.yml\n      - prometheus_data:\/prometheus\n    ports:\n      - 9090:9090\n    restart: always\n\nvolumes:\n  prometheus_data: {}<\/code><\/pre>\n<pre><code class=\"language-bash\">docker-compose up -d<\/code><\/pre>\n<h2>alertmanager \uc124\uce58<\/h2>\n<pre><code class=\"language-bash\">sudo mkdir -p \/data\/docker\/alertmanager\/<\/code><\/pre>\n<pre><code class=\"language-bash\">sudo vi \/data\/docker\/alertmanager\/alertmanager.yml<\/code><\/pre>\n<pre><code class=\"language-yaml\">global:\n  smtp_smarthost: localhost:25\n  smtp_from: alertmanager@example.com\n\nroute:\n  group_wait: 10s\n  group_interval: 10s\n  repeat_interval: 10s\n  receiver: alertmanager_test\n\nreceivers:\n- name: &#039;alertmanager_test&#039;\n  email_configs:\n  - to: &#039;team-X+alerts@example.org, team-Y+alerts@example.org&#039;<\/code><\/pre>\n<pre><code class=\"language-bash\">sudo vi \/data\/docker\/alertmanager\/alert.rules<\/code><\/pre>\n<pre><code class=\"language-yaml\">groups:\n- name: slackal\n  rules:\n  - alert: SlackAlert\n    expr: db_status == 0\n#    for: 1s\n    annotations:\n      text: &quot;DB server is down&quot;<\/code><\/pre>\n<pre><code class=\"language-bash\">vi docker-compose.yml<\/code><\/pre>\n<pre><code class=\"language-yaml\">version: &#039;3.7&#039;\nservices:\n  alertmanager:\n    image: prom\/alertmanager\n    container_name: alertmanager\n    volumes:\n      - \/data\/docker\/alertmanager\/alertmanager.yml:\/etc\/alertmanager\/alertmanager.yml\n    ports:\n      - 9093:9093\n    restart: always\n\n  prometheus:\n    image: prom\/prometheus\n    container_name: prometheus\n    volumes:\n      - \/data\/docker\/prometheus\/prometheus.yml:\/etc\/prometheus\/prometheus.yml\n      - \/data\/docker\/alertmanager\/alert.rules:\/etc\/alertmanager\/alert.rules\n      - prometheus_data:\/prometheus\n    ports:\n      - 9090:9090\n    restart: always\n\nvolumes:\n  prometheus_data: {}<\/code><\/pre>\n<pre><code class=\"language-bash\">sudo vi \/data\/docker\/prometheus\/prometheus.yml<\/code><\/pre>\n<pre><code class=\"language-yml\">rule_files:\n  - \/etc\/alertmanager\/alert.rules\n\nalerting:\n  alertmanagers:\n    - static_configs:\n      - targets: [&#039;172.31.11.235:9093&#039;]<\/code><\/pre>\n<pre><code class=\"language-bash\">docker-compose stop\ndocker-compose up -d<\/code><\/pre>\n<h2>Grafana \uc124\uce58<\/h2>\n<pre><code class=\"language-bash\">sudo mkdir -p \/data\/docker\/grafana\/data<\/code><\/pre>\n<pre><code class=\"language-bash\">vi docker-compose.yml<\/code><\/pre>\n<pre><code class=\"language-yaml\">  # ......\n  grafana:\n    image: grafana\/grafana\n    container_name: grafana\n    depends_on:\n      - prometheus\n    ports:\n      - 3000:3000\n    volumes:\n      - \/data\/docker\/grafana\/data:\/var\/lib\/grafana\n    restart: always<\/code><\/pre>\n<pre><code class=\"language-bash\"># docker-compose down\ndocker-compose stop\ndocker-compose up -d<\/code><\/pre>\n<p>\ube0c\ub77c\uc6b0\uc800\uc5d0\uc11c \uc815\uc0c1 \uc791\ub3d9\uc744 \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<pre><code class=\"language-bash\">http:\/\/XXX.XXX.XXX.XXX:3000\/<\/code><\/pre>\n<p>\ub514\ud3f4\ud2b8 \ub85c\uadf8\uc778\uc815\ubcf4\ub294 <code>admin\/admin<\/code> \uc785\ub2c8\ub2e4.<\/p>\n<h2>dashboard import<\/h2>\n<p><a href=\"https:\/\/grafana.com\/grafana\/dashboards\/1860\">grafana url<\/a> \uc744 \uc785\ub825\ud574\uc11c dashboard \ub97c import \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2020\/08\/2020-08-20-02.png\"><img decoding=\"async\" src=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2020\/08\/2020-08-20-02.png\" alt=\"\" \/><\/a><\/p>\n<p><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2020\/08\/2020-08-20-03.png\"><img decoding=\"async\" src=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2020\/08\/2020-08-20-03.png\" alt=\"\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>(Deprecated) Install Prometheus with docker \ucc38\uc870 \uc120\ud589\uc791\uc5c5 \ub3c4\ucee4 \uc124\uce58 prometheus \uc124\uce58 sudo mkdir -p \/data\/docker\/prometheus\/ sudo vi \/data\/docker\/prometheus\/prometheus.yml global: scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. scrape_configs: &#8211; job_name: &#039;prometheus&#039; static_configs: &#8211; targets: [&#039;172.31.16.237:9090&#039;] docker run \\ -p 9090:9090 \\ -v \/data\/docker\/prometheus\/prometheus.yml:\/etc\/prometheus\/prometheus.yml \\ prom\/prometheus \ube0c\ub77c\uc6b0\uc800\uc5d0\uc11c \uc815\uc0c1\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=1282\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[],"class_list":["post-1282","post","type-post","status-publish","format-standard","hentry","category-devops"],"_links":{"self":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1282","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1282"}],"version-history":[{"count":28,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1282\/revisions"}],"predecessor-version":[{"id":1361,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1282\/revisions\/1361"}],"wp:attachment":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1282"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1282"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1282"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}