Prometheus Grafana IT 監控和警報最佳實踐 7

Mondo 科技 更新 2024-01-31

看到這幾個字,大家好,我是小飛;最近我看了@弈心 @朱嘉盛兩位老哥的文章越來越好,有些東西也偷懶了,所以今天不是繼續多乙個普羅公尺修斯相關嗎。

今天就給大家簡單介紹一下對 Windows Server 伺服器的監控,上一篇文章介紹了對 Promethues 的監控、安裝、資料顯示等,大家可以通過收藏直接檢視。

還有一些 Windows Server 伺服器需要監控和展示,我覺得值得解釋一下 Windows Server,我在 Windows Server 域控和 Exchange Server 本地建設和混合雲部署方面有一些經驗,並且已經搭建和維護過乙個企業的正式環境,所以我覺得 Windows Server 現在在企業中用得並不多, 但不會很少,多少就是一點點,所以簡單介紹一下Windows Server監控,所以本文就介紹一下。

如前所述,節點匯出器的安裝,它是類 UNIX 系統的集合,例如 Apple、Linux、OpenBSD 等。 但是,Windows Server 的收集器沒有使用 Node Exporter,而是利用了由 Prometheus 社群維護的 Windows Exporter,如下所示:

首先,安裝軟體包:

Windows 匯出器支援 Windows Server 2008R2 及更高版本,以及桌面 Windows 7 及更高版本。

進入GitHub,圖中圈出的安裝包,MSI格式可以自動安裝Windows服務,所以建議安裝MSI格式,將軟體安裝包複製到伺服器,雙擊點進行安裝,什麼都沒有顯示,可以檢查服務在Windows Server中是否有Windows Exporter,或者netstat -ao檢視是否有9182埠。

如果您部署了成百上千臺計算機,則可以直接使用 Ansible 進行安裝和部署。

安裝後,預設埠為埠,通過自動檔案發現將已安裝的機器新增到 Prometheus 中,如下圖所示:

簡單演示 5 臺機器,因為裡面有幾十台 Windows 伺服器,所以逐個安裝比較困難,或者 Ansible 批量安裝操作比較合適,Ansible 暫時長按表,然後單獨做乙個最佳實踐演示。

在 prometheus 中新增以下配置檔案YML 檔案:

- job_name: "windows-host" metrics_path: /metrics scheme: http scrape_interval: 5s file_sd_configs: -files: -/root/monitor/prometheus/targets/windows-*.YML 重新整理間隔:2m 重新標記配置:標籤重寫,埠剔除 - 源標籤:-"__address__" regex: "(.*9182" target_label: "instance" action: replace replacement: "$1"
/root/monitor/prometheus/targets/windows-*.YML 檔案如下所示:

# windows-node.yml- labels: service: windows server brand: dell targets: -172.17.41.115:9182 - 172.17.41.84:9182 - 172.17.40.104:9182 - 172.17.40.202:9182 - 172.18.86.15:9182
開啟 Grafana 介面並匯入模板,這裡我使用模板 ID 為:模板如下:

單擊“匯入”以匯入模板

點選載入載入模板資料,如果你的 grafana 沒有開啟公網,可以在官網 json 檔案中匯入,點選上傳 json 檔案,可以在沒有公網的情況下匯入模板。 下圖顯示了模板中顯示的資料:

在上圖中,沒有關於啟動時長、CPU 核數和總記憶體的資料,我匯入時,因為配置查詢問題,網路部分沒有資料,所以我會去 Prometheus 檢視是否有相關指標的資料。 如下圖所示:

首先,我需要通過常規規則淘汰其他工作,以保留我需要的工作。

沒有關於啟動時長、CPU核數和總記憶體的具體資料,並且由於欄位而選擇了value欄位。

值選項,對於字段選項,選擇數值字段。

更多細節需要通過 promql 查詢指標資料,了解 grafana 面板編輯的含義和邏輯,基本問題不大。

今天的分享到此結束,如果有什麼問題可以直接私信或者加好友交流(網路小飛),大佬們可以加微信交流。

相關問題答案