Prometheus 是由 SoundCloud 開源監控告警解決方案2015 年在 github 上開源以來,已經吸引了 不少大公司的使用;2016 年 Prometheus 成爲繼 k8s 後,第二名 CNCF(Cloud Native Computing Foundation) 成員。node
cd /usr/local/src/ wget https://github.com/prometheus/prometheus/releases/download/v1.7.1/prometheus-1.7.1.linux-amd64.tar.gz tar -zxf prometheus-1.7.1.linux-amd64.tar.gz mv prometheus-1.7.1.linux-amd64 /data/app/ ln -s /data/app/prometheus-1.7.1.linux-amd64/ /data/app/prometheus
global: scrape_interval: 15s evaluation_interval: 15s external_labels: monitor: 'codelab-monitor' rule_files: scrape_configs: - job_name: 'prometheus' static_configs: - targets: ['localhost:9090'] - job_name: 'linux' static_configs: - targets: ['192.168.56.12:9100'] labels: alias: linux-node2
./prometheus -config.file=prometheus.yml
wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.10.0/mysqld_exporter-0.10.0.linux-amd64.tar.gz wget https://github.com/prometheus/node_exporter/releases/download/v0.14.0/node_exporter-0.14.0.linux-amd64.tar.gz tar -zxf mysqld_exporter-0.10.0.linux-amd64.tar.gz tar -zxf node_exporter-0.14.0.linux-amd64.tar.gz mv node_exporter-0.14.0.linux-amd64 /data/app/ mv mysqld_exporter-0.10.0.linux-amd64 /data/app/ ln -s /data/app/node_exporter-0.14.0.linux-amd64/ /data/app/node_exporter ln -s /data/app/mysqld_exporter-0.10.0.linux-amd64/ /data/app/mysqld_exporter
screen -R node_exporter cd /data/app/node_exporter ./node_exporter
http://localhost:9090/metrics
: 監控指標http://localhost:9090/graph
: 圖像界面metrics返回的結果包含多個標籤的值。若是想只看延遲是0.99的值能夠輸入以下參數:mysql
prometheus_target_interval_length_seconds{quantile="0.99"}
你也能夠對返回結果作個count值:linux
count(prometheus_target_interval_length_seconds)
輸入如下表達式來繪製在Prometheus中發生的全部存儲塊操做的每秒速率:git
rate(prometheus_local_storage_chunk_ops_total[1m])
你也能夠輸出其餘參數查看監控後服務器的信息,好比:使用up參數判斷linux-node2是否存活。github
up{job="linux-node2"}
其餘高級的例子sql
avg(rate(rpc_durations_seconds_count[5m])) by (job, service)
promtheus 配置文件中增長以下內容:docker
scrape_configs: - job_name: 'federate' scrape_interval: 15s honor_labels: true metrics_path: '/federate' params: 'match[]': ##定義要同步的監控項 - '{job="prometheus"}' - '{__name__=~"job:.*"}' - '{job="node_discovery"}' static_configs: - targets: - 'linux-node1:9090' ## 目標庫能夠寫多行。
prometheus-官網
Prometheus 實戰
PROMETHEUS 監控系統介紹與實踐總結
prometheus-監控mysql
prometheus中文文檔
官方容器站
Prometheus 監控方案shell