{"id":1575,"date":"2023-03-25T19:15:19","date_gmt":"2023-03-25T11:15:19","guid":{"rendered":"https:\/\/www.appblog.cn\/?p=1575"},"modified":"2023-04-27T21:32:08","modified_gmt":"2023-04-27T13:32:08","slug":"prometheus-dynamic-discovery-monitoring-targets-file-based-service-discovery","status":"publish","type":"post","link":"https:\/\/www.appblog.cn\/index.php\/2023\/03\/25\/prometheus-dynamic-discovery-monitoring-targets-file-based-service-discovery\/","title":{"rendered":"Prometheus\u52a8\u6001\u53d1\u73b0\u76d1\u63a7targets \u2014\u2014 \u57fa\u4e8e\u6587\u4ef6\u7684\u670d\u52a1\u53d1\u73b0"},"content":{"rendered":"<p>\u4e3a\u5b9e\u73b0Prometheus\u76d1\u63a7\u76ee\u6807\u914d\u7f6e\u7684\u52a8\u6001\u52a0\u8f7d\uff0c\u53ef\u901a\u8fc7\u57fa\u4e8e\u6587\u4ef6\u7684\u670d\u52a1\u53d1\u73b0\u5b8c\u6210\u914d\u7f6e<\/p>\n<h2>Kafka\u670d\u52a1\u7684\u81ea\u52a8\u53d1\u73b0\u914d\u7f6e<\/h2>\n<p>Prometheus\u5b98\u65b9<code>exporter<\/code>\u94fe\u63a5\uff1a<\/p>\n<p><!-- more --><\/p>\n<pre><code>https:\/\/github.com\/danielqsj\/kafka_exporter<\/code><\/pre>\n<p>\u5728<code>kafka<\/code>\u8282\u70b9\u4e0a\u8fd0\u884c<code>docker<\/code>\u7248<code>kafka-exporter<\/code><\/p>\n<pre><code class=\"language-bash\">docker run -d -p 9308:9308 danielqsj\/kafka-exporter --kafka.server=kafka:9092<\/code><\/pre>\n<p>\u521b\u5efa<code>targets<\/code>\u6587\u4ef6\u5939\uff1a<\/p>\n<pre><code class=\"language-bash\">mkdir -p \/etc\/promethues\/targets\/kafka<\/code><\/pre>\n<p>\u521b\u5efa\u7ec4\u4ef6<code>targets<\/code>\u7684<code>yml<\/code>\u6587\u4ef6\uff1a<\/p>\n<pre><code class=\"language-yml\">vim \/etc\/promethues\/targets\/kafka\n- targets:\n  - &quot;kafka1:9308&quot;\n  - &quot;kafka2:9308&quot;\n  - &quot;kafka3:9308&quot;<\/code><\/pre>\n<p>\u4fee\u6539<code>\/etc\/prometheus\/prometheus.yml<\/code>\uff1a<\/p>\n<pre><code class=\"language-yml\">  ...\n  - job_name: &#039;kafka&#039;\n    file_sd_configs:\n      - files:\n        - targets\/kafka\/*.yml\n        refresh_interval: 5m<\/code><\/pre>\n<h2>MySQL\u670d\u52a1\u7684\u81ea\u52a8\u53d1\u73b0\u914d\u7f6e<\/h2>\n<p>Prometheus\u5b98\u65b9<code>exporter<\/code>\u94fe\u63a5\uff1a<\/p>\n<pre><code>https:\/\/github.com\/prometheus\/mysqld_exporter<\/code><\/pre>\n<p>\u5728<code>mysql<\/code>\u8282\u70b9\u4e0a\u8fd0\u884c<code>docker<\/code>\u7248<code>mysql-exporter<\/code>\uff0c\u5e76\u5bf9\u5e94\u53cc\u5b9e\u4f8b<\/p>\n<ul>\n<li>\u5355\u5b9e\u4f8b<\/li>\n<\/ul>\n<pre><code class=\"language-bash\">docker run -d -p 9104:9104  -e DATA_SOURCE_NAME=&quot;exporter:pwd@(mysql-1:3306)\/&quot;  prom\/mysqld-exporter<\/code><\/pre>\n<ul>\n<li>\u53cc\u5b9e\u4f8b<\/li>\n<\/ul>\n<pre><code class=\"language-bash\">docker run -d -p 9105:9104  -e DATA_SOURCE_NAME=&quot;exporter:pwd@(mysql-1:13306)\/&quot;  prom\/mysqld-exporter<\/code><\/pre>\n<p>\u521b\u5efa<code>targets<\/code>\u6587\u4ef6\u5939\uff1a<\/p>\n<pre><code class=\"language-bash\">mkdir -p \/etc\/promethues\/targets\/mysql<\/code><\/pre>\n<p>\u521b\u5efa\u7ec4\u4ef6<code>targets<\/code>\u7684<code>yml<\/code>\u6587\u4ef6\uff1a<\/p>\n<pre><code class=\"language-yml\">- targets:\n  - &quot;mysql-1:9104&quot;\n  - &quot;mysql-1:9105&quot;<\/code><\/pre>\n<p>\u4fee\u6539<code>\/etc\/prometheus\/prometheus.yml<\/code>\uff1a<\/p>\n<pre><code class=\"language-yml\">  - job_name: &#039;mysql&#039;\n    file_sd_configs:\n      - files:\n        - targets\/mysql\/*.yml\n        refresh_interval: 5m<\/code><\/pre>\n<h2>Redis Cluster\u670d\u52a1\u7684\u81ea\u52a8\u53d1\u73b0\u914d\u7f6e<\/h2>\n<p>Prometheus\u5b98\u65b9<code>exporter<\/code>\u94fe\u63a5\uff1a<\/p>\n<p><a target=\"_blank\" rel=\"noopener\" href=\"https:\/\/github.com\/oliver006\/redis_exporter\">https:\/\/github.com\/oliver006\/redis_exporter<\/a><\/p>\n<p>\u5728<code>redis<\/code>\u8282\u70b9\u4e0a\u8fd0\u884c<code>docker<\/code>\u7248<code>redis-exporter<\/code><\/p>\n<pre><code class=\"language-bash\">docker run -d --name redis_exporter -p 9121:9121 oliver006\/redis_exporter<\/code><\/pre>\n<p>\u521b\u5efa<code>targets<\/code>\u6587\u4ef6\u5939\uff1a<\/p>\n<pre><code class=\"language-bash\">mkdir -p \/etc\/promethues\/targets\/redis<\/code><\/pre>\n<p>\u521b\u5efa\u7ec4\u4ef6<code>targets<\/code>\u7684<code>yml<\/code>\u6587\u4ef6\uff1a<\/p>\n<pre><code>- targets:\n  - redis:\/\/redis-1:16379\n  - redis:\/\/redis-2:16379\n  - redis:\/\/redis-3:16379<\/code><\/pre>\n<p>\u4fee\u6539<code>\/etc\/prometheus\/prometheus.yml<\/code>\uff1a<\/p>\n<pre><code class=\"language-yml\">  ...\n  - job_name: &#039;redis_exporter_targets&#039;\n    file_sd_configs:\n      - files:\n        - targets\/redis\/redis.yml\n    metrics_path: \/scrape\n    relabel_configs:\n      - source_labels: [__address__]\n        target_label: __param_target\n      - source_labels: [__param_target]\n        target_label: instance\n      - target_label: __address__\n        replacement: redis_exporter:9121\n\n  ## config for scraping the exporter itself\n  - job_name: &#039;redis_exporter&#039;\n    static_configs:\n      - targets:\n        - redis_exporter:9121<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u4e3a\u5b9e\u73b0Prometheus\u76d1\u63a7\u76ee\u6807\u914d\u7f6e\u7684\u52a8\u6001\u52a0\u8f7d\uff0c\u53ef\u901a\u8fc7\u57fa\u4e8e\u6587\u4ef6\u7684\u670d\u52a1\u53d1\u73b0\u5b8c\u6210\u914d\u7f6e Kafka\u670d\u52a1\u7684\u81ea\u52a8\u53d1\u73b0\u914d [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[386],"tags":[387],"class_list":["post-1575","post","type-post","status-publish","format-standard","hentry","category-monitor","tag-prometheus"],"_links":{"self":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/posts\/1575","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/comments?post=1575"}],"version-history":[{"count":0,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/posts\/1575\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/media?parent=1575"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/categories?post=1575"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/tags?post=1575"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}