做過Zabbix的同學都知道,Zabbix透過專用的Agent或者SNMP收集相關的監控資料,然後儲存到資料庫裡面實時在前臺展示。Zabbix監控資料主要分為以下兩類: 歷史資料:history相關表,從history_uint表裡面可以查詢到裝置監控專案的最大,最小和平均值,即儲存監控資料的原始資料。 趨勢資料:trends相關表,趨勢資料是經過Zabbix計算的資料,資料是從history_uint裡面彙總的,從trends_uint可以檢視到監控資料每小時最大,最小和平均值,即儲存監控資料的彙總資料。 Zabbix可以透過兩種方式獲取歷史資料: 1.透過Zabbix前臺獲取歷史資料 透過Zabbix前臺檢視歷史資料非常簡單,可以透過Monitoring->Lastest data的方式檢視。也可以點選右上角的As plain test按鈕儲存成文字檔案。 2.透過前臺獲取的資料進行處理和二次查詢有很多限制,因此可以透過SQL語句直接從後臺DB查詢資料。 首先大家應該熟悉SQL語句Select 常用用法: SELECT [ALL | DISTINCT] Select_List [INTO [New_Table_name]FROM { Table_name | View_name} [ [,{table2_name | view2_name}[,…] ][ WHERE Serch_conditions ][ GROUP BY Group_by_list ][ HAVING Serch_conditions ][ ORDER BY Order_list [ASC| DEsC] ] 說明: 1)SELECT子句指定要查詢的特定表中的列,它可以是*,表示式,列表等。 2)INTO子句指定要生成新的表。 3)FROM子句指定要查詢的表或者檢視。 4)WHERE子句用來限定查詢的範圍和條件。 5)GROUP BY子句指定分組查詢子句。 6)HAVING子句用於指定分組子句的條件。 7)ORDER BY可以根據一個或者多個列來排序查詢結果,在該子句中,既可以使用列名,也可以使用相對列號,ASC表示升序,DESC表示降序。 8)mysql聚合函式:sum(),count(),avg(),max(),avg()等都是聚合函式,當我們在用聚合函式的時候,一般都要用到GROUP BY 先進行分組,然後再進行聚合函式的運算。運算完後就要用到Having子句進行判斷了,例如聚合函式的值是否大於某一個值等等。
做過Zabbix的同學都知道,Zabbix透過專用的Agent或者SNMP收集相關的監控資料,然後儲存到資料庫裡面實時在前臺展示。Zabbix監控資料主要分為以下兩類: 歷史資料:history相關表,從history_uint表裡面可以查詢到裝置監控專案的最大,最小和平均值,即儲存監控資料的原始資料。 趨勢資料:trends相關表,趨勢資料是經過Zabbix計算的資料,資料是從history_uint裡面彙總的,從trends_uint可以檢視到監控資料每小時最大,最小和平均值,即儲存監控資料的彙總資料。 Zabbix可以透過兩種方式獲取歷史資料: 1.透過Zabbix前臺獲取歷史資料 透過Zabbix前臺檢視歷史資料非常簡單,可以透過Monitoring->Lastest data的方式檢視。也可以點選右上角的As plain test按鈕儲存成文字檔案。 2.透過前臺獲取的資料進行處理和二次查詢有很多限制,因此可以透過SQL語句直接從後臺DB查詢資料。 首先大家應該熟悉SQL語句Select 常用用法: SELECT [ALL | DISTINCT] Select_List [INTO [New_Table_name]FROM { Table_name | View_name} [ [,{table2_name | view2_name}[,…] ][ WHERE Serch_conditions ][ GROUP BY Group_by_list ][ HAVING Serch_conditions ][ ORDER BY Order_list [ASC| DEsC] ] 說明: 1)SELECT子句指定要查詢的特定表中的列,它可以是*,表示式,列表等。 2)INTO子句指定要生成新的表。 3)FROM子句指定要查詢的表或者檢視。 4)WHERE子句用來限定查詢的範圍和條件。 5)GROUP BY子句指定分組查詢子句。 6)HAVING子句用於指定分組子句的條件。 7)ORDER BY可以根據一個或者多個列來排序查詢結果,在該子句中,既可以使用列名,也可以使用相對列號,ASC表示升序,DESC表示降序。 8)mysql聚合函式:sum(),count(),avg(),max(),avg()等都是聚合函式,當我們在用聚合函式的時候,一般都要用到GROUP BY 先進行分組,然後再進行聚合函式的運算。運算完後就要用到Having子句進行判斷了,例如聚合函式的值是否大於某一個值等等。