ViPR SRM:如何防止將不需要的指標推送到資料庫
摘要: 如何防止將不需要的指標推送到資料庫
說明
在某些情況下,您可能不希望將所有設備/指標推送到資料庫,例如定期刪除和重新創建的臨時VDI。
一種方法是使用變數處理篩選器 BlockAllHandler。
此處理程式允許您刪除與篩選器匹配的指標,以便它們不會在收集鏈中進一步移動,也不會進入資料庫。
下面是負載均衡器的範例:<handling-configuration id="Block">
<matcher class="com.watch4net.apg.v2.collector.plugins.variablehandlingfilter.matchers.APGFilterMatcher">
<parameter name="filter">device=='devblock'</parameter>
</matcher>
<handler class="com.watch4net.apg.v2.collector.plugins.variablehandlingfilter.handlers.BlockAllHandler" />
</handling-configuration>
在這種情況下,過濾器用於阻止名為 devblock 的設備。
但是,此示例可以適用於篩選掉其他設備,優化篩選器的最簡單方法是使用高級前端搜索或資料庫管理指標來測試並確保篩選器僅返回要刪除的設備/指標。
篩選器謂詞和運算子:
謂詞
| 屬性 = 模式 | 基於屬性 SQL 模式的變數選擇 |
| 屬性== 值 | 基於精確屬性符合的變數選擇 |
| 屬性 | 僅選擇具有指定屬性的變數 |
動作元
| & | 與運算子 |
| | | OR 運算子 |
| ! | NOT 運算子 |
SQL 模式 注意:可能包含 % 和 _ 通配符。不要忘記轉義具有特殊 XML 含義的字元,例如 &、 <> 、 等。您可以將過濾器封裝在 <![CDATA[:::]]> 以避免必須轉義每個特殊字元。Filter example: device=='MyDevice' & ((parttype=='Interface' & (part='Gigabit%' | part='Ether%')& name=='ifInOctets') | (!part & name=='Availability'))
這匹配了設備屬性設置為 MyDevice AND 的原始值((將部件類型設置為介面,部件值以千兆或乙太開頭,名稱設置為 ifInOctets)或(沒有部件屬性,名稱設置為可用性))。
根據用例的具體情況,您可能需要將 BlockAllHandler 添加到 SolutionPack 的收集器管理器的現有變數處理篩選器之一或負載平衡器的收集器管理器中。您還可以在集合鏈中添加新的變數處理篩選器。
您也可以下載此 KB 隨附的變數處理篩選器 pdf
其他資訊
如果您不習慣編輯 xml 或影響數據收集鏈,您還應該考慮由專業服務完成此類更改。