背景:負責基於區塊鏈的某公正項目的狀態上報模塊設計編碼,基於Prometheus進行二次開發node
一、說明
Prometheus 是一個開源的服務監控軟件,它經過 HTTP 協議從遠程機器收集數據並存儲在本
地的時序數據庫上。Prometheus 經過安裝在遠程機器上的 exporter 來收集監控數據。mysql
目前用到兩個 exporter:
a、node exporter,用於收集系統數據
b、mysqld exporter, 用於收集 Mysql 數據
下面本地的相關路徑、用戶名、密碼、參數配置僅做例子。linux
二、安裝 Prometheus
a、下載
wget
https://github.com/prometheus/prometheus/releases/download/v1.6.3/prometheus-
1.6.3.linux-amd64.tar.gz -O prometheus-1.6.3.linux-amd64.tar.gz
b、解壓
mkdir /usr/local/services/prometheus
tar zxf prometheus-1.6.3.linux-amd64.tar.gz -C /usr/local/services/prometheus –
strip-components=1git
三、配置 Prometheus
在安裝目錄下編輯配置文件 prometheus.yml,host 是主機 IP,端口對應 exporter 監
聽端口
global:
scrape_interval:
15s
evaluation_interval: 15s
scrape_configs:
- job_name: XXX1system
static_configs:
- targets: ['host:9103']
labels:
instance: XXX1system
- job_name: XXX1mysql
static_configs:
- targets: ['host:9104']
labels:
instance: XXX1mysql
- job_name: XXX2system
static_configs:
- targets: ['host:9103']
labels:
instance: XXX2systemgithub
- job_name: XXX2mysql
static_configs:
- targets: ['host:9104']
labels:
instance: XXX2mysql
同理。。。。。。。。。。。。。。。。。。。。。。。。。。。。web
四、運行 Prometheus
./prometheus -web.listen-address 「:9092」
五、部署 exporter
a、下載
wget https://github.com/prometheus/node_exporter/releases/download/v0.14.0/node_exporter-0.14.0.linux-amd64.tar.gz -O node_exporter-0.14.0.linux-amd64.tar.gz
wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.10.0/mysqld_exporter-0.10.0.linux-amd64.tar.gz -O mysqld_exporter-0.10.0.linux-amd64.tar.gz
b、解壓
tar zxf node_exporter-0.14.0.linux-amd64.tar.gz -C /usr/local/services/prometheus_exporters --strip-components=1
tar zxf mysqld_exporter-0.10.0.linux-amd64.tar.gz -C /usr/local/services/prometheus_exporters –strip-components=1sql
c、運行
cd /usr/local/services/prometheus_exporters
node exporter 直接運行便可
./node_exporter -web.listen-address 「:9103」
cd /usr/local/services/prometheus_exporters
建立.my.cnf 文件
cat << EOF > .my.cnf
[client]
user=root
password=1qaz@WSX3edc$RFVyl
EOF
如今能夠運行 mysqld exporter
./mysqld_exporter -config.my-cnf=".my.cnf"數據庫
六、檢驗
Prometheus 內置了一個 web 界面,咱們能夠經過 http://FBAAR 的 ip:9092 進行訪問。訪問界面,在
Status->Targets 下,看到 Target 的狀態變爲 up 時,說明 Prometheus 可正常接收 exporter 的數據
了區塊鏈