一般來說,我們會安裝 Zabbix、Nagios 或者 Prometheus 來監控企業的服務運作,再透過 Grafana 來做趨勢報表的分析與呈現。
倘若您有使用像是 Azure 或者 AWS 的雲端服務,平台已經事先幫您把基本效能指標進行監控了,這個時候就可以透過 Granfana 的 Data Source 來擷取雲端的監控數據與地端的服務進行整合。
我們需要提供下面的連線資料
租用戶即是 Azure 的目錄 ID,出現在 Azure Active Directory 的 Overview。
Grafana 使用 Azure Active Directory 服務主體連接到 Azure 監視器 API,並收集計量資料。所以我們必須向 Azure AD 註冊應用程序並創建服務主體來管理對 Azure 資源的存取。
註冊應用程序
進入 Azure Active Directory,點選 App Registrations 即可找到 New registration。
輸入應用程序名稱與支援帳號類型,點擊註冊。
註冊成功畫面如下,此時就可以看到 Application (Client)ID 了。
產生用戶端祕密
點選 Certificates & secrets 於 Client secrets 頁籤,點選 New client secret。
填寫描述與效期,點擊新增。
畫面中的 Value 就是我們需要的 Client Secret。
回到 Granafa 的 Data Sources 註冊相關資訊,點擊 Save & test。
錯誤訊息如下
1. Successfully queried the Azure Monitor service. 2. Workspace not found.
看起來是有成功與 Azure Monitor service 連線,之所以提示 Workspace not found 是因為我們還沒有替註冊的應用程序配置權限。
指派應用程序權限
回到 Subscriptions 點擊 Access control(IAM),點擊 Add role assignment。
我們偷懶直接指派 Owner 角色,正常應該要設定 Log Analytics Reader。
將我們建立的應用程序加入成員即可,點擊 Review + assign 即可。
權限的 Apply 可能沒這麼即時,有時須等待幾分鐘。
重新回到 Granafa 的 Data Sources 註冊相關資訊,點擊 Save & test。
這一次就全部都正常了
在 Granafa 記得切換到 Azure Monitor 的 Data Source 就可以成功讀取 Azure 相關的數據了。
例如擷取 Azure Database 活躍的連接數
也有提供 App Service 的 HTTP 狀態碼可以來做統計與觀察
虛擬機器的效能指標 CPU 使用率
也可以執行 Azure Resource Graph 查詢訂閱底下所有的虛擬機器
Resources
| project name, location, type
| where type =~ 'Microsoft.Compute/virtualMachines'
| order by name desc
Azure Resource Graph Explorer 有提供許多語法可以給您參考
今天的介紹就到這邊,最後就依照自己的需求來繪製相關的報表
希望有幫助到大家,謝謝。
參考文件