{"id":1872,"date":"2020-07-01T07:08:47","date_gmt":"2020-06-30T23:08:47","guid":{"rendered":"http:\/\/39.97.231.10\/?p=1872"},"modified":"2020-07-01T07:08:47","modified_gmt":"2020-06-30T23:08:47","slug":"prometheus-grafana-%e5%ae%89%e8%a3%85%e9%83%a8%e7%bd%b2","status":"publish","type":"post","link":"http:\/\/www.weijing.co\/?p=1872","title":{"rendered":"Prometheus + Grafana \u5b89\u88c5\u90e8\u7f72"},"content":{"rendered":"<div>\u8bf4\u660e<\/div>\n<div>\n<div id=\\\"cnblogs_post_body\\\">\n\u5728\u524d\u9762\u7684<a id=\\\"cb_post_title_url\\\" href=\\\"https:\/\/www.cnblogs.com\/zhoujinyi\/tag\/Prometheus\/\\\">Prometheus\u5b66\u4e60\u7cfb\u5217<\/a>\u6587\u7ae0\u91cc\uff0c\u5927\u81f4\u4ecb\u7ecd\u8bf4\u660e\u4e86<a href=\\\"https:\/\/prometheus.io\/\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">Prometheus<\/a>\u548c<a href=\\\"https:\/\/grafana.com\/\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">Grafana<\/a>\u7684\u4e00\u4e9b\u4f7f\u7528\uff0c\u73b0\u5728\u5f00\u59cb\u4ecb\u7ecd\u5982\u4f55\u4ece\u5934\u5f00\u59cb\u90e8\u7f72<a href=\\\"https:\/\/prometheus.io\/\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">Prometheus<\/a>+<a href=\\\"https:\/\/grafana.com\/\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">Grafana<\/a>\uff0c\u6765\u76d1\u63a7\u5404\u4e2a\u76f8\u5173\u7684\u6307\u6807\u6570\u636e\u6765\u8fdb\u884c\u5c55\u793a\u3002<\/p>\n<h2>\u90e8\u7f72<\/h2>\n<p>Prometheus\u57fa\u4e8eGolang\u7f16\u5199\uff08\u9700\u8981\u5b89\u88c5\uff09\uff0c\u7f16\u8bd1\u540e\u7684\u8f6f\u4ef6\u5305\uff0c\u4e0d\u4f9d\u8d56\u4e8e\u4efb\u4f55\u7684\u7b2c\u4e09\u65b9\u4f9d\u8d56\u3002\u7528\u6237\u53ea\u9700\u8981\u4e0b\u8f7d\u5bf9\u5e94\u5e73\u53f0\u7684\u4e8c\u8fdb\u5236\u5305\uff0c\u89e3\u538b\u5e76\u4e14\u6dfb\u52a0\u57fa\u672c\u7684\u914d\u7f6e\u5373\u53ef\u6b63\u5e38\u542f\u52a8Prometheus Server\u3002<\/p>\n<h3>\u73af\u5883\uff1a<\/h3>\n<div>\n<div><\/div>\n<pre>\u7cfb\u7edf\uff1a\ncentos-release-7-4.1708.el7.centos.x86_64\nIP\uff1a10.47.97.47\nPrometheus\uff1a\nprometheus-2.14.0\nGrafana\uff1a\ngrafana-6.5.1-1<\/pre>\n<div><\/div>\n<\/div>\n<h3>\u4e0b\u8f7d\uff1a<\/h3>\n<div>\n<pre>1\uff1a<a href=\\\"https:\/\/prometheus.io\/download\/\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">Prometheus\n<\/a>wget https:\/\/github.com\/prometheus\/prometheus\/releases\/download\/v2.14.0\/prometheus-2.14.0.linux-amd64.tar.gz\n2\uff1a<a href=\\\"https:\/\/grafana.com\/grafana\/download\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">Grafana<\/a>\uff1a\nwget\u00a0<a href=\\\"https:\/\/dl.grafana.com\/oss\/release\/grafana-6.5.1-1.x86_64.rpm\\\">https:\/\/dl.grafana.com\/oss\/release\/grafana-6.5.1-1.x86_64.rpm<\/a><\/pre>\n<\/div>\n<h3>\u5b89\u88c5<\/h3>\n<h4>1\uff1a\u00a0<a href=\\\"https:\/\/prometheus.io\/\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">Prometheus<\/a>\u00a0\u5b89\u88c5<\/h4>\n<ul>\n<li>\u6dfb\u52a0\u7528\u6237prometheus\n<div>\n<pre>useradd --no-create-home --shell \/bin\/false prometheus<\/pre>\n<\/div>\n<\/li>\n<li>\u521b\u5efa\u76f8\u5173\u76ee\u5f55\n<div>\n<pre>mkdir \/etc\/prometheus\nmkdir \/var\/lib\/prometheus<\/pre>\n<\/div>\n<\/li>\n<li>\u6539\u76ee\u5f55\u6743\u9650\n<div>\n<pre>chown prometheus:prometheus \/etc\/prometheus\nchown prometheus:prometheus \/var\/lib\/prometheus<\/pre>\n<\/div>\n<\/li>\n<li>\u89e3\u538b &amp; \u79fb\u52a8\u5230\u76f8\u5e94\u76ee\u5f55\n<div>\n<div><\/div>\n<pre>tar xvf prometheus-2.14.0.linux-amd64.tar.gz\ncp prometheus-2.14.0.linux-amd64\/prometheus \/usr\/local\/bin\/\ncp prometheus-2.14.0.linux-amd64\/promtool \/usr\/local\/bin\/\ncp -r prometheus-2.14.0.linux-amd64\/consoles\/ \/etc\/prometheus\/\ncp -r prometheus-2.14.0.linux-amd64\/console_libraries\/ \/etc\/prometheus\/\ncp prometheus-2.14.0.linux-amd64\/prometheus.yml \/etc\/prometheus\/\nchown prometheus:prometheus \/usr\/local\/bin\/prometheus\nchown prometheus:prometheus \/usr\/local\/bin\/promtool\nchown -R prometheus:prometheus \/etc\/prometheus\/consoles\nchown -R prometheus:prometheus \/etc\/prometheus\/console_libraries\nchown -R prometheus:prometheus \/etc\/prometheus\/prometheus.yml<\/pre>\n<div><\/div>\n<\/div>\n<\/li>\n<li>\u914d\u7f6ePrometheus service\uff0c\u7aef\u53e3\u4e3a9099<br \/>\nvim \/etc\/systemd\/system\/prometheus.service<\/p>\n<div>\n<div><\/div>\n<pre>[Unit]\nDescription=Prometheus\nWants=network-online.target\nAfter=network-online.target\n[Service]\nUser=prometheus\nGroup=prometheus\nType=simple\nExecStart=\/usr\/local\/bin\/prometheus \\\\\n    --config.file \/etc\/prometheus\/prometheus.yml \\\\\n    --storage.tsdb.path \/var\/lib\/prometheus\/ \\\\\n    --web.console.templates=\/etc\/prometheus\/consoles \\\\\n    --web.console.libraries=\/etc\/prometheus\/console_libraries \\\\\n    --web.listen-address=:9099\n[Install]\nWantedBy=multi-user.target<\/pre>\n<div><\/div>\n<\/div>\n<\/li>\n<li>\u52a0\u8f7dsystemd\u670d\u52a1 &amp; \u542f\u52a8\n<div>\n<div><\/div>\n<pre># \u52a0\u8f7d\nsystemctl daemon-reload\n# \u5f00\u673a\u542f\u52a8\nsystemctl enable prometheus.service\n# \u542f\u52a8\nsystemctl start prometheus\n# \u67e5\u770b\u72b6\u6001\nsystemctl status prometheus<\/pre>\n<div><\/div>\n<\/div>\n<\/li>\n<li>\u67e5\u770b\u72b6\u6001\uff1asystemctl status prometheus\n<div>\n<div id=\\\"cnblogs_code_open_efb8b3b2-10c6-428b-b12a-12b854084174\\\">\n<div><\/div>\n<pre># systemctl status prometheus\n\u25cf prometheus.service - Prometheus\n   Loaded: loaded (\/etc\/systemd\/system\/prometheus.service; enabled; vendor preset: disabled)\n   Active: active (running) since Mon 2019-12-09 18:35:00 CST; 1min 8s ago\n Main PID: 18875 (prometheus)\n   CGroup: \/system.slice\/prometheus.service\n           \u2514\u250018875 \/usr\/local\/bin\/prometheus --config.file \/etc\/prometheus\/prometheus.yml --storage.tsdb.path \/var\/lib\/prometheus\/ --web.console.templates=\/etc\/prometheus\/consoles --web.console.librari...\nDec 09 18:35:00 test26-mysql03 prometheus[18875]: level=info ts=2019-12-09T10:35:00.175Z caller=head.go:583 component=tsdb msg=\\\"WAL segment loaded\\\" segment=4 maxSegment=8\nDec 09 18:35:00 test26-mysql03 prometheus[18875]: level=info ts=2019-12-09T10:35:00.175Z caller=head.go:583 component=tsdb msg=\\\"WAL segment loaded\\\" segment=5 maxSegment=8\nDec 09 18:35:00 test26-mysql03 prometheus[18875]: level=info ts=2019-12-09T10:35:00.176Z caller=head.go:583 component=tsdb msg=\\\"WAL segment loaded\\\" segment=6 maxSegment=8\nDec 09 18:35:00 test26-mysql03 prometheus[18875]: level=info ts=2019-12-09T10:35:00.178Z caller=head.go:583 component=tsdb msg=\\\"WAL segment loaded\\\" segment=7 maxSegment=8\nDec 09 18:35:00 test26-mysql03 prometheus[18875]: level=info ts=2019-12-09T10:35:00.178Z caller=head.go:583 component=tsdb msg=\\\"WAL segment loaded\\\" segment=8 maxSegment=8\nDec 09 18:35:00 test26-mysql03 prometheus[18875]: level=info ts=2019-12-09T10:35:00.180Z caller=main.go:672 fs_type=EXT4_SUPER_MAGIC\nDec 09 18:35:00 test26-mysql03 prometheus[18875]: level=info ts=2019-12-09T10:35:00.180Z caller=main.go:673 msg=\\\"TSDB started\\\"\nDec 09 18:35:00 test26-mysql03 prometheus[18875]: level=info ts=2019-12-09T10:35:00.180Z caller=main.go:743 msg=\\\"Loading configuration file\\\" filename=\/etc\/prometheus\/prometheus.yml\nDec 09 18:35:00 test26-mysql03 prometheus[18875]: level=info ts=2019-12-09T10:35:00.182Z caller=main.go:771 msg=\\\"Completed loading of configuration file\\\" filename=\/etc\/prometheus\/prometheus.yml\nDec 09 18:35:00 test26-mysql03 prometheus[18875]: level=info ts=2019-12-09T10:35:00.182Z caller=main.go:626 msg=\\\"Server is ready to receive web requests.\\\"<\/pre>\n<div><\/div>\n<\/div>\n<\/div>\n<\/li>\n<li>\u547d\u4ee4\u884c\u542f\u52a8\uff1a\n<div>\n<pre>sudo -u prometheus \/usr\/local\/bin\/prometheus --config.file \/etc\/prometheus\/prometheus.yml --storage.tsdb.path \/var\/lib\/prometheus\/ --web.console.templates=\/etc\/prometheus\/consoles --web.console.libraries=\/etc\/prometheus\/console_libraries --web.listen-address=:9099<\/pre>\n<\/div>\n<\/li>\n<li>\u8bbf\u95eeURL\uff1a\n<div>\n<pre>http:\/\/10.47.97.47:9099\/graph<\/pre>\n<\/div>\n<\/li>\n<li>\u914d\u7f6e\u6587\u4ef6\uff1a\n<div>\n<div><\/div>\n<pre># my global config\nglobal:\n  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.\n  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.\n  # scrape_timeout is set to the global default (10s).\n# Alertmanager configuration\nalerting:\n  alertmanagers:\n  - static_configs:\n    - targets:\n      # - alertmanager:9093\n# Load rules once and periodically evaluate them according to the global \\'evaluation_interval\\'.\nrule_files:\n  # - \\\"first_rules.yml\\\"\n  # - \\\"second_rules.yml\\\"\n# A scrape configuration containing exactly one endpoint to scrape:\n# Here it\\'s Prometheus itself.\nscrape_configs:\n  # The job name is added as a label `job=&lt;job_name&gt;` to any timeseries scraped from this config.\n  - job_name: \\'prometheus\\'\n    # metrics_path defaults to \\'\/metrics\\'\n    # scheme defaults to \\'http\\'.\n    static_configs:\n    - targets: [\\'localhost:9099\\']\n  - job_name: \\'node_exporter\\'\n    scrape_interval: 1s\n    static_configs:\n    - targets: [\\'a:9199\\',\\'b:9199\\',\\'c:9199\\',\\'d:9199\\']\n    relabel_configs:\n    - action: replace\n      source_labels: [\\'__address__\\']  ##\u6e90\u6807\u7b7e\n      regex: (.*):(.*)             ##\u6b63\u5219\uff0c\u4f1a\u5339\u914d\u5230__address__\u503c\n      replacement: $1       ##\u5f15\u7528\u6b63\u5219\u5339\u914d\u5230\u7684\u5185\u5bb9\n      target_label: HOSTNAME    ##\u8d4b\u4e88\u65b0\u7684\u6807\u7b7e\uff0c\u540d\u4e3aHOSTNAME<\/pre>\n<div><\/div>\n<\/div>\n<p>\u4e4b\u540e\u53ef\u4ee5\u8bbf\u95ee\u5230Prometheus\u7684Web\u754c\u9762\u3002\u5230\u6b64Prometheus\u7684\u5b89\u88c5\u7ed3\u675f\u3002<\/li>\n<\/ul>\n<h4>2\uff1a\u00a0<a href=\\\"https:\/\/grafana.com\/docs\/grafana\/latest\/installation\/\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">Grafana<\/a>\u00a0\u5b89\u88c5<\/h4>\n<ul>\n<li>\u4e0b\u8f7d\u5b8crpm\u5305\u4e4b\u540e\uff0c\u76f4\u63a5\u6267\u884c\uff1a\n<div>\n<pre>sudo yum localinstall grafana-6.5.1-1.x86_64.rpm<\/pre>\n<\/div>\n<\/li>\n<\/ul>\n<ul>\n<li>\u5b89\u88c5\u5b8c\u4e4b\u540e\u8fdb\u884cGrafana\u914d\u7f6e\u7684\u4fee\u6539\uff1a\u4fee\u6539\u7aef\u53e3\u00a0vim \/etc\/grafana\/grafana.ini ,\u5173\u4e8e\u914d\u7f6e\u8bf4\u660e\u8bf7\u89c1\uff1a<a href=\\\"https:\/\/grafana.com\/docs\/grafana\/latest\/installation\/configuration\/\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\u5b98\u65b9\u6587\u6863<\/a>\u3001<a id=\\\"cb_post_title_url\\\" href=\\\"https:\/\/www.cnblogs.com\/shhnwangjian\/p\/6911415.html\\\">Grafana\u914d\u7f6e<\/a>\u548c<a href=\\\"https:\/\/www.jianshu.com\/p\/8488220d4719\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">Grafana \u914d\u7f6e\u6587\u4ef6\u8be6\u89e3<br \/>\n<\/a><\/p>\n<div>\n<pre>http_port = 3333<\/pre>\n<\/div>\n<\/li>\n<\/ul>\n<ul>\n<li>\u52a0\u8f7dsystemd\u670d\u52a1 &amp; \u542f\u52a8\n<div>\n<pre>\u76f4\u63a5\u542f\u52a8\n$ sudo service grafana-server start<\/pre>\n<\/div>\n<div>\n<div><a title=\\\"\u590d\u5236\u4ee3\u7801\\\"><img src=\\\"https:\/\/common.cnblogs.com\/images\/copycode.gif\\\" alt=\\\"\u590d\u5236\u4ee3\u7801\\\" \/><\/a><\/div>\n<pre>#\u914d\u7f6e\u4e3a\u5728\u5f15\u5bfc\u65f6\u542f\u52a8\n$ sudo \/sbin\/chkconfig --add grafana-server\n#\u52a0\u8f7d\n$ systemctl daemon-reload\n#\u5f00\u542f\n$ systemctl start grafana-server\n#\u67e5\u770b\u72b6\u6001\n$ systemctl status grafana-server\n#\u5f00\u542f\u542f\u52a8\nsudo systemctl enable grafana-server.service<\/pre>\n<div><\/div>\n<\/div>\n<\/li>\n<li>\u65e5\u5fd7&amp;\u6570\u636e\u76ee\u5f55\n<div>\n<pre>\u65e5\u5fd7\u76ee\u5f55\uff1a\n\u914d\u7f6e\u4e3a\u5728\u5f15\u5bfc\u65f6\u542f\u52a8\n\u6570\u636e\u76ee\u5f55\uff1a\n\/var\/lib\/grafana\/grafana.db<\/pre>\n<\/div>\n<\/li>\n<li>\u8bbf\u95eeURL\uff1a\n<div>\n<pre>http:\/\/10.47.97.47:3333<\/pre>\n<\/div>\n<\/li>\n<\/ul>\n<p>\u57281\u30012\u64cd\u4f5c\u4e2d\uff0c\u5df2\u7ecf\u628aPrometheus\u548cGrafana\u5b89\u88c5\u5b8c\u6bd5\uff0c\u73b0\u5728\u5f00\u59cb\u5b89\u88c5Exporter\u6765\u91c7\u96c6\u6570\u636e\u3002<\/p>\n<div>\n<div>Exporter\u662fPrometheus\u7684\u4e00\u7c7b\u6570\u636e\u91c7\u96c6\u7ec4\u4ef6\u7684\u603b\u79f0\u3002\u5b83\u8d1f\u8d23\u4ece\u76ee\u6807\u5904\u641c\u96c6\u6570\u636e\uff0c\u5e76\u5c06\u5176\u8f6c\u5316\u4e3aPrometheus\u652f\u6301\u7684\u683c\u5f0f\u3002\u4e0e\u4f20\u7edf\u7684\u6570\u636e\u91c7\u96c6\u7ec4\u4ef6\u4e0d\u540c\u7684\u662f\uff0c\u5b83\u5e76\u4e0d\u5411\u4e2d\u592e\u670d\u52a1\u5668\u53d1\u9001\u6570\u636e\uff0c\u800c\u662f\u7b49\u5f85\u4e2d\u592e\u670d\u52a1\u5668\u4e3b\u52a8\u524d\u6765\u6293\u53d6\uff0c\u9ed8\u8ba4\u7684\u6293\u53d6\u5730\u5740\u4e3a<a href=\\\"http:\/\/current_ip:9100\/metrics\\\" target=\\\"_blank\\\" rel=\\\"nofollow noopener noreferrer\\\">http:\/\/CURRENT_IP:9199\/metrics<\/a>\u3002<\/div>\n<h3>3.<a href=\\\"https:\/\/prometheus.io\/download\/\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\u00a0Exporter \u5b89\u88c5<\/a><\/h3>\n<p>\u2460\u00a0<a href=\\\"https:\/\/prometheus.io\/download\/#node_exporter\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">node_exporter<\/a>\u00a0\u5b89\u88c5<br \/>\nnode_exporter\u7684\u4f5c\u7528\u662f\u7528\u4e8e\u673a\u5668\u7cfb\u7edf\u6570\u636e\u6536\u96c6\uff0c\u76d1\u63a7\u670d\u52a1\u5668CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u3001I\/O\u3001\u7f51\u7edc\u7b49\u7b49\u4fe1\u606f\u3002<\/p>\n<ul>\n<li>\u4e0b\u8f7d\n<div>\n<pre>wget https:\/\/github.com\/prometheus\/node_exporter\/releases\/download\/v0.18.1\/node_exporter-0.18.1.linux-amd64.tar.gz<\/pre>\n<\/div>\n<\/li>\n<li>\u5b89\u88c5\n<div>\n<div><\/div>\n<pre># \u89e3\u538b\ntar xvf node_exporter-0.18.1.linux-amd64.tar.gz\ncp node_exporter \/usr\/sbin\/\n#\u5e2e\u52a9\nnode_exporter --help\n#\u5f00\u542f\uff0c\u7aef\u53e3\uff1a9199\nnode_exporter --web.listen-address=:9199<\/pre>\n<div><\/div>\n<\/div>\n<\/li>\n<li>\u52a0\u8f7dsystemd\u670d\u52a1 &amp; \u542f\u52a8\u00a0vim \/etc\/systemd\/system\/node_exporter.service\n<div>\n<div><\/div>\n<pre>[Unit]\nDescription=node_exporter\nDocumentation=https:\/\/prometheus.io\/\nAfter=network.target\n[Service]\nType=simple\nUser=prometheus\nExecStart=\/usr\/sbin\/node_exporter --web.listen-address=:9199\nRestart=on-failure\n[Install]\nWantedBy=multi-user.target<\/pre>\n<div><\/div>\n<\/div>\n<p>systemctl \u542f\u52a8<\/p>\n<div>\n<div><\/div>\n<pre># \u52a0\u8f7d\nsystemctl daemon-reload\n# \u5f00\u673a\u542f\u52a8\nsystemctl enable node_exporter.service\n# \u542f\u52a8\nsystemctl start node_exporter\n# \u67e5\u770b\u72b6\u6001\nsystemctl status node_exporter<\/pre>\n<div><\/div>\n<\/div>\n<\/li>\n<\/ul>\n<p>\u6b64\u65f6\uff0cnode_exporter\u542f\u52a8\u540e\u5df2\u7ecf\u5f00\u59cb\u91c7\u96c6\u6307\u6807\u4fe1\u606f\uff0c\u53ef\u4ee5\u901a\u8fc7\u5730\u5740\u8bbf\u95ee\uff1a<a href=\\\"http:\/\/120.27.139.200:9199\/metrics\\\">http:\/\/10.47.97.47:9199\/metrics<\/a><br \/>\n\u2461\u00a0<a href=\\\"https:\/\/prometheus.io\/download\/#mysqld_exporter\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">mysqld_exporter<\/a>\u00a0\u5b89\u88c5<br \/>\nmysqld_exporter\u7684\u4f5c\u7528\u662f\u7528\u4e8eMySQL\u6570\u636e\u5e93\u6570\u636e\u6536\u96c6\u3002<\/p>\n<ul>\n<li>\u4e0b\u8f7d\n<div>\n<pre>wget https:\/\/github.com\/prometheus\/mysqld_exporter\/releases\/download\/v0.12.1\/mysqld_exporter-0.12.1.linux-amd64.tar.gz<\/pre>\n<\/div>\n<\/li>\n<li><a href=\\\"https:\/\/github.com\/prometheus\/mysqld_exporter\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\u5b89\u88c5<\/a>\n<div>\n<div><\/div>\n<pre># \u89e3\u538b\ntar xvf mysqld_exporter-0.12.1.linux-amd64.tar.gz\ncp mysqld_exporter \/usr\/sbin\/\n#\u5e2e\u52a9\nmysqld_exporter --help\n#\u8fde\u63a5\u88ab\u76d1\u63a7\u6570\u636e\u5e93\uff0c\u6570\u636e\u5e93\u4fe1\u606f\u4fdd\u5b58\u5728\u4ee5\u4e0b\u7684\u4efb\u610f\u4e00\u4e2a\u5730\u65b9\n1\uff1a\u73af\u5883\u53d8\u91cf\nexport DATA_SOURCE_NAME=\\'user:password@(hostname:3306)\/\\'\n.\/mysqld_exporter &lt;flags&gt;\n2\uff1a\u914d\u7f6e\u6587\u4ef6\nvim ~\/.my.cnf\n[client]\nhost=10.27.27.27\nport=5381\nuser=root\npassword=root<\/pre>\n<div><\/div>\n<\/div>\n<\/li>\n<li>\u542f\u52a8<br \/>\n\u53ef\u4ee5\u653e\u5230systemctl\u91cc\u542f\u52a8\uff0c\u4e5f\u53ef\u4ee5\u76f4\u63a5\u8fd0\u884c\uff1a<\/p>\n<div>\n<div><\/div>\n<pre>.\/mysqld_exporter\nINFO[0000] Starting mysqld_exporter (version=0.12.1, branch=HEAD, revision=48667bf7c3b438b5e93b259f3d17b70a7c9aff96)  source=\\\"mysqld_exporter.go:257\\\"\nINFO[0000] Build context (go=go1.12.7, user=root@0b3e56a7bc0a, date=20190729-12:35:58)  source=\\\"mysqld_exporter.go:258\\\"\nINFO[0000] Enabled scrapers:                             source=\\\"mysqld_exporter.go:269\\\"\nINFO[0000]  --collect.global_status                      source=\\\"mysqld_exporter.go:273\\\"\nINFO[0000]  --collect.global_variables                   source=\\\"mysqld_exporter.go:273\\\"\nINFO[0000]  --collect.slave_status                       source=\\\"mysqld_exporter.go:273\\\"\nINFO[0000]  --collect.info_schema.innodb_cmp             source=\\\"mysqld_exporter.go:273\\\"\nINFO[0000]  --collect.info_schema.innodb_cmpmem          source=\\\"mysqld_exporter.go:273\\\"\nINFO[0000]  --collect.info_schema.query_response_time    source=\\\"mysqld_exporter.go:273\\\"\nINFO[0000] Listening on :9104                            source=\\\"mysqld_exporter.go:283\\\"<\/pre>\n<div><\/div>\n<\/div>\n<\/li>\n<\/ul>\n<\/div>\n<p>\u5176\u4ed6\u7684exporter\u53ef\u4ee5\u89c1<a href=\\\"https:\/\/prometheus.io\/download\/\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\u5b98\u7f51<\/a>\u3002<\/p>\n<h2>\u53ef\u89c6\u5316\u76d1\u63a7<\/h2>\n<p>\u4e0a\u9762\u5df2\u7ecf\u5b89\u88c5\u90e8\u7f72\u597d\u4e86Prometheus\u3001Grafana\u548cExporter\uff0c\u73b0\u5728\u9700\u8981\u628a\u8fd93\u8005\u8054\u7cfb\u8d77\u6765\u8fdb\u884c\u6570\u636e\u5c55\u793a\u3002\u5982\u5df2\u7ecf\u5b89\u88c5\u4e86node_exporter\uff0c\u9700\u8981\u628anode_exporter\u91c7\u96c6\u7684\u4fe1\u606f\u914d\u7f6e\u5230Prometheus\u4e0a\u3002\u5373\u4fee\u6539Prometheus\u914d\u7f6e\u6587\u4ef6\uff1a<br \/>\n\u5728scrape_configs\u9009\u9879\u7ec4\u4e0b\u9762\u6dfb\u52a0\uff1a<\/p>\n<div>\n<pre>  - job_name: \\'node_exporter\\'\n    scrape_interval: 1s\n    static_configs:\n    - targets: [\\'localhost:9199\\']<\/pre>\n<\/div>\n<p>\u91cd\u542fPrometheus\uff1a<\/p>\n<div>\n<pre>systemctl restart prometheus<\/pre>\n<\/div>\n<p>\u6b64\u65f6\u53ef\u4ee5\u5728Prometheus\u4e0a\u8fdb\u884c\u51fa\u56fe\u4e86\uff1a\u901a\u8fc7\u76f8\u5173\u7684PromSQL\u5f97\u5230\u5404\u79cd\u6570\u636e\u6307\u6807\uff0c\u5982node_load5\u3002Prometheus\u4e0a\u9762\u6bd4\u8f83\u9002\u5408\u505a\u4e00\u4e9b\u8c03\u8bd5\uff0c\u4e0d\u9002\u5408\u770b\u76d1\u63a7\u6307\u6807\uff0c\u9700\u8981\u628a\u7ed3\u679c\u653e\u5230Grafana\u4e0a\u8fdb\u884c\u5c55\u793a\u3002<br \/>\n\u5728Grafana\u4e0a\uff08http:\/\/10.47.97.47:3333\uff09\u8fdb\u884c\u914d\u7f6e\u6570\u636e\u6e90\u3002\u628aPrometheus\uff08http:\/\/10.47.97.47:9099\uff09\u505a\u4e3a\u6570\u636e\u6e90\u6dfb\u52a0\u8fdb\u53bb\u3002\u5982\uff1a<br \/>\n<img src=\\\"https:\/\/img2018.cnblogs.com\/blog\/163084\/201912\/163084-20191212152425604-1561805635.png\\\" alt=\\\"\\\" width=\\\"510\\\" height=\\\"390\\\" \/><br \/>\n\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u8bbe\u7f6e\u597d\u5404\u4e2a\u503c\uff0c\u4fdd\u5b58\u5b8c\u6210\u3002\u00a0\u7136\u540e\u53bb<a href=\\\"https:\/\/grafana.com\/grafana\/dashboards\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\u5b98\u7f51<\/a>\u627e\u4e2a\u6a21\u677f\u5bfc\u5165\uff1a\u6bd4\u5982\u5bfc\u5165\u7684ID\u662f8919\uff1a<br \/>\n<img src=\\\"https:\/\/img2018.cnblogs.com\/blog\/163084\/201912\/163084-20191212155544866-588521295.png\\\" alt=\\\"\\\" width=\\\"735\\\" height=\\\"345\\\" \/><br \/>\n\u5b8c\u6210\u4e4b\u540e\uff0c\u53ef\u4ee5\u770b\u5230\u76f8\u5173\u7684\u76d1\u63a7\u56fe\u6807\u4e86\u3002\u73b0\u5728\u6839\u636e\u8868\u8fbe\u5f0f\u81ea\u5b9a\u4e49\u4e00\u4e2a\u56fe\uff1a\u5982\u5b9a\u4e49\u4e00\u4e2aCPU\u4f7f\u7528\u7387\uff1a<\/p>\n<div>\n<pre>1-avg(irate(node_cpu_seconds_total{HOSTNAME=~\\\"$hostname\\\",mode=\\'idle\\'}[1m])) by (HOSTNAME)<\/pre>\n<\/div>\n<p>HOSTNAME\uff1anode_cpu_seconds_total metrice\u91cc\u7684\u4e00\u4e2alabel\u3002<br \/>\n$hostname\uff1a\u5728\u8bbe\u7f6e\u91cc\u8bbe\u7f6e\u7684\u4e00\u4e2a\u53d8\u91cf\u3002\u6700\u7ec8\u5c55\u793a\u56fe\u5982\uff1a<br \/>\n<img src=\\\"https:\/\/img2018.cnblogs.com\/blog\/163084\/201912\/163084-20191213105308892-696318675.png\\\" alt=\\\"\\\" width=\\\"748\\\" height=\\\"224\\\" \/>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u8bf4\u660e \u5728\u524d\u9762\u7684Prometheus\u5b66\u4e60\u7cfb\u5217\u6587\u7ae0\u91cc\uff0c\u5927\u81f4\u4ecb\u7ecd\u8bf4\u660e\u4e86Prometheus\u548cGrafana\u7684\u4e00\u4e9b\u4f7f\u7528 &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"http:\/\/www.weijing.co\/?p=1872\"> <span class=\"screen-reader-text\">Prometheus + Grafana \u5b89\u88c5\u90e8\u7f72<\/span> \u67e5\u770b\u5168\u6587 &raquo;<\/a><\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"default","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":""},"categories":[138,122],"tags":[],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false,"mailpoet_newsletter_max":false,"woocommerce_thumbnail":false,"woocommerce_single":false,"woocommerce_gallery_thumbnail":false,"shop_catalog":false,"shop_single":false,"shop_thumbnail":false},"uagb_author_info":{"display_name":"weijing","author_link":"http:\/\/www.weijing.co\/?author=4"},"uagb_comment_info":0,"uagb_excerpt":"\u8bf4\u660e \u5728\u524d\u9762\u7684Prometheus\u5b66\u4e60\u7cfb\u5217\u6587\u7ae0\u91cc\uff0c\u5927\u81f4\u4ecb\u7ecd\u8bf4\u660e\u4e86Prometheus\u548cGrafana\u7684\u4e00\u4e9b\u4f7f\u7528&hellip;","_links":{"self":[{"href":"http:\/\/www.weijing.co\/index.php?rest_route=\/wp\/v2\/posts\/1872"}],"collection":[{"href":"http:\/\/www.weijing.co\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.weijing.co\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.weijing.co\/index.php?rest_route=\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"http:\/\/www.weijing.co\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1872"}],"version-history":[{"count":0,"href":"http:\/\/www.weijing.co\/index.php?rest_route=\/wp\/v2\/posts\/1872\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.weijing.co\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1872"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.weijing.co\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1872"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.weijing.co\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1872"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}