Prometheus服務端安裝
Prometheus 是一個開放性的監控解決方案,用戶能夠很是方便的安裝和使用 Prometheus 而且可以很是方便的對其進行擴展。爲了可以更加直觀的瞭解 Prometheus Server,接下來咱們將在本地部署並運行一個 Prometheus Server實例,經過 Node Exporter 採集當前主機的系統資源使用狀況。 並經過 Grafana 建立一個簡單的可視化儀表盤。linux
Prometheus 基於 Golang 編寫,編譯後的軟件包,不依賴於任何的第三方依賴。用戶只須要下載對應平臺的二進制包,解壓而且添加基本的配置便可正常啓動 Prometheus Server。具體安裝過程能夠參考以下內容。git
安裝配置 Prometheus Server
本次咱們選擇在 CentOS7 上安裝 prometheus ,其餘系統安裝過程相似,這裏再也不一一贅述github
爲了安全,咱們這裏不用 root 用戶啓動相關服務,而是用咱們自建的 prometheus 用戶啓動服務,首先須要建立一個用戶:json
➜ groupadd prometheus ➜ useradd -g prometheus -M -s /sbin/nologin prometheus
咱們須要從 prometheus下載頁 下載咱們須要安裝的版本,這裏咱們選擇則安裝的 prometheus 版本是 v2.7.1 的最新版本。api
➜ wget https://github.com/prometheus/prometheus/releases/download/v2.7.1/prometheus-2.7.1.linux-amd64.tar.gz
解壓並安裝 prometheus 服務:瀏覽器
➜ tar xf prometheus-2.22.2.linux-amd64.tar -C /srv/ ➜ cd /soft/ ➜ mv prometheus-2.22.2.linux-amd64/ prometheus ➜ mkdir -pv /soft/prometheus/data ➜ chown -R prometheus.prometheus /soft/prometheus
建立 prometheus 系統服務啓動文件 /usr/lib/systemd/system/prometheus.service
:安全
[Unit] Description=Prometheus Server Documentation=https://prometheus.io/docs/introduction/overview/ After=network-online.target [Service] User=prometheus Restart=on-failure ExecStart=/soft/prometheus/prometheus \ --config.file=/soft/prometheus/prometheus.yml \ --storage.tsdb.path=/srv/prometheus/data ExecReload=/bin/kill -HUP $MAINPID [Install] WantedBy=multi-user.target
修改 prometheus 配置文件 /srv/prometheus/prometheus.yml
:restful
➜ grep -v '^#' /srv/prometheus/prometheus.yml global: scrape_interval: 15s evaluation_interval: 15s alerting: alertmanagers: - static_configs: - targets: ["localhost:9093"] rule_files: #- "alert.rules" scrape_configs: # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. - job_name: 'DORIS_CLUSTER' # 每個 Doris 集羣,咱們稱爲一個 job。這裏能夠給 job 取一個名字,做爲 Doris 集羣在監控系統中的名字。 metrics_path: '/metrics' # 這裏指定獲取監控項的 restful api。配合下面的 targets 中的 host:port,Prometheus 最終會經過 host:port/metrics_path 來採集監控項。 static_configs: # 這裏開始分別配置 FE 和 BE 的目標地址。全部的 FE 和 BE 都分別寫入各自的 group 中。 - targets: ['doris01:8030'] labels: group: fe # 這裏配置了 fe 的 group,該 group 中包含了 3 個 Frontends - targets: ['doris02:8040', 'doris03:8040', 'doris04:8040', 'doris05:8040', 'doris06:8040', 'doris07:8040'] labels: group: be # 這裏配置了 be 的 group,該 group 中包含了 3 個 Backends - job_name: 'prometheus' # metrics_path defaults to '/metrics' # scheme defaults to 'http'. static_configs: - targets: ['localhost:9090']
啓動服務:工具
➜ systemctl daemon-reload ➜ systemctl start prometheus.service ➜ systemctl enable prometheus.service ➜ systemctl status prometheus.service
Prometheus 服務支持熱加載配置:this
➜ systemctl reload prometheus.service
Prometheus 服務啓動完成後,能夠經過http://localhost:9090訪問 Prometheus 的 UI 界面。
安裝 Grafana 展現工具
Grafana 咱們主要用它來展現 Prometheus 的監控指標的,這樣能夠直觀查看各節點或者服務的狀態,本次安裝 grafana 咱們直接用 yum 安裝便可,具體操做也能夠參考官方文檔
寫在rpm安裝包
wget https://dl.grafana.com/oss/release/grafana-7.3.3-1.x86_64.rpm
啓動grafana
設置grafana服務開機自啓,並啓動服務
# systemctl daemon-reload # systemctl enable grafana-server.service # systemctl start grafana-server.service
訪問grafana
瀏覽器訪問http://192.168.56.200:3000(IP:3000端口),便可打開grafana頁面,默認用戶名密碼都是admin,初次登陸會要求修改默認的登陸密碼
而後定義數據源,定義Dashboard或者導入Dashboard json文件