開源數據可視化和監測工具—Grafana,監控神器!
前言
隨著公司業務的不斷發展,業務的種類在不斷增加,服務數量的不斷增長,網絡環境的越發復雜,我們發版更加頻繁。
這樣就會不可避免地導致線上事故的增多,因此需要對服務器到應用的全方位監控和預警,我們急需一個工具來解決這些問題,而Grafana的出現正好完美的解決了這個問題。
1、我們為什么要用Grafana?
Grafana是一種流行的開源數據可視化和監測工具,它提供了許多功能強大的儀表盤和圖形來幫助用戶更好地理解其數據。
以下是一些grafana的優點:
- 靈活性:Grafana支持各種數據源,并且可以自由地配置大量的插件和面板,以展示不同類型的數據。
- 易用性:Grafana非常易于使用,因為它提供了一個直觀的用戶界面,使用戶能夠輕松地創建、編輯和共享儀表板。
- 實時監控:Grafana可以實時監測各種指標,包括應用程序性能、網絡流量、服務器資源等等。
- 可視化:Grafana有豐富的數據可視化選項,如曲線圖、柱狀圖、餅圖等,使得數據可以以直觀的方式呈現出來。
- 多樣性:Grafana支持多種數據來源,如prometheus、elasticsearch、influxdb等,能夠適用于不同類型的數據監控場景。
總之,Grafana提供了一個強大的平臺,使得用戶可以更好的監視和管理他們的數據,從而提高應用程序的性能和可靠性。
2、Grafana有哪些好用的功能?
Grafana提供了許多豐富的功能,包括但不限于以下幾點:
- 數據可視化:Grafana能夠將各種類型的數據以圖表、表格和儀表盤等形式進行展示和可視化。
- 數據源支持:Grafana支持多種數據源,包括InfluxDB、Graphite、Elasticsearch、Prometheus等。用戶可以根據自己的需求選擇不同的數據源進行數據查詢和可視化。
- 靈活的面板布局:Grafana提供了豐富的面板選項,用戶可以自由地定制面板的大小、位置、顏色、標題等。
- 高度可定制性:Grafana的模板語言非常強大,用戶可以使用它來自定義各種功能,例如警報規則、動態標記、樣式等。
- 圖表交互性:Grafana提供了豐富的圖表交互選項,例如縮放、平移、鼠標懸停、工具提示等。
- 數據導出和分享:Grafana提供了數據導出和分享功能,使用戶可以方便地將結果導出為PDF、PNG、CSV等格式,并與團隊成員分享分析結果。
我們公司也搭建了一套監控系統,可以從Grafana上查看JVM使用情況、CPU使用情況、線程使用情況、內存使用情況、用戶并發量、接口耗時等等,用Grafana可以查看多個維度的數據。
特別是分布式日志系統:Loki,能夠跟Grafana完美相結合,我們可以通過Grafana平臺查看系統日志,想查看本地日志一樣方便。
3、阿里云上如何使用Grafana?
其實國內有很多云服務器廠商,已經支持Grafana了,在這里推薦使用阿里云的Grafana,因為它使用起來更方便,而且功能更加強大。
那么,我們如何在阿里云上如何使用Grafana呢?
(1)啟用創建Grafana服務
在grafana服務進行下單,需要填入【工作區名稱】與【Admin密碼】 阿里云grafana托管服務,可使用的用戶可以通過阿里云賬戶進行單點登錄轉跳,也可以通過管理員賬戶admin完成登陸。
完成grafana專家版服務的創建。
點擊ID,進入工作區管理界面,此處可以看到grafana的連接信息,這個url就是我們訪問grafana的地址,下方提供了云服務集成。
訪問連接信息,即可訪問grafana的主頁。
(2)手動添加數據源
我手上剛好有四臺ECS資源,這里就對ECS云服務進行一個監控數據展示的配置。對ECS的監控數據源配置有幾種,包括【企業云監控】、【Prome云監控探針到ECS】等,這里針對我個人沒有那么多云資產的情況,就使用【aliyun-cms數據源插件】完成grafana到云監控數據源的配置。
手動配置云監控數據源插件
在【Configuraion】下,點擊【Data sources】,此處可以手動添加數據源 點擊【Add data source】。
阿里grafana提供了多種數據源接入,此處我們選擇【CMS Grafana Service】,點擊【Select】。
配置【Aliyun UserId】輸入用戶ID、【AccessKeyId】、【AccessKey】,點擊【Save&test】進行保存與測試連接。
OK,我們的信息么問題,提示數據源工作了。
完成了對云監控數據的手動添加,此時cms顯示default默認數據源。
完成Dashboard展示面板的創建
先看一下我的四臺ECS在云監控下的情況,所有主機監控正常,插件運行中。
在grafana上選擇【+】,create創建【Dashboard】。
在dashboard頁面點擊【Add panel】新建面板。
這里測試舉例幾種面板的形式,可能觀測的內容和展示的方式不太合適,這個見仁見智咯。
- 【Time series時序圖】ECS的CPU使用率展示 進入面板的新建,這里我們的data source數據源是默認的cms,即為云監控的數據。
- 【Namespace】選擇acs_ecs_dashboard,為ECS的相關監控。
- 【Metric】選擇cpuutilzation,為CPU使用率。
- 【Dimensions】選擇需要展示的ECS云服務器實例。
- 【Y-column】選擇Average平均值,當然也有最大值max與最小值min。
- 【X-column】默認timestamp。
右側為面板的相關配置,這里我修改了【Title】標題,完成配置點擊右上角【Apply】。
所有需要配置的幾項參數,都會自動展開或補全 【Namesapce】:監控的云服務 【Metric】:監控指標 【Period】:同步周期 【Group】:云監控分組 【Dimensions】:展示實例:
這里的【Metric】監控指標,可以在云監控的文檔中找到參照 監控項說明-指路:https://help.aliyun.com/document_detail/43505.html。
面板完成創建可執行修改編輯,導出刪除等。
【Gauge儀表盤】ECS的磁盤寫入IOPS展示 【Metric】選擇DiskWriteIOPS,為所有磁盤寫IOPS 其他配置參照之前。
【Stat狀態閾值圖】ECS的TCP連接數展示 【Metric】選擇net_tcpconnection,為TCP連接數 其他配置參照之前 這里我對面板屬性【thresholds】進行了配置,對各個階段的數值區分顏色,可設定固定值也可百分比。
【Bar gauge】ECS的內存用率展示 【Metric】選擇memory_usedutilization,為內存使用率 其他配置參照之前 這里我對面板屬性【orientation】進行了配置,調整了水平條的方向為縱向。
完成了需要展示的面板配置,這就是整個dashboard的展示效果 當然可以折騰更多監控類型,這里就簡單展示幾項。
與云監控里的主機監控提供了監控相比,是不是更好看了,更高大上了,更直觀了,也可以我們自己定義更多的監控項目了!好東西哇。
目前可以在阿里云上免費試用,大家可以去試用中心領取操作。