天天看點

華為OPS維護助手

    幾年前,學習網絡的時候,有一個考點是思科的EEM,當時對這個EEM有很強烈的興趣。時至今日,近期的現網業務也有類似的需求。研究華為産品手冊發現,華為的OPS維護助手能完成同樣的需求。

Cisco EEM

    EEM是Cisco IOS的嵌入式事件管理器(Embeded Event Manager)的縮寫,它提供了一種分布式的、可擴充的、可根據使用者需求而靈活定制的,用于進行事件監控和故障恢複的機制。利用這種機制,當被監控的事件發生,或者是達到某個門限值時,EEM提供了進行消息報告以及采取相應動作的能力。

    一個完整的EEM的操作被稱作EEM Policy(EEM 政策),EEM Policy包括:定義監控的事件以及當被監控事件發生時所要執行的動作。

    随着客戶的網絡規模日益龐大,單純依靠現有網管架構下網管伺服器與網絡裝置之間的主從模式,很難解決網絡管理的成本、複雜性、擴充性以及出現故障時處理的及時性等等這些越來越有挑戰性的問題。是以未來的網絡管理需求要求網絡裝置本身具有更高的智能,能夠根據各種不同的預定條件或網管人員的要求對網絡裝置本身進行不同的操作,減少網管人員的維護壓力、提高對網絡故障的響應速度。 

    Cisco的EEM,從根本上改變了網絡裝置的管理方式,使得網絡裝置由現有網絡管理架構中的被動報告者和應答者,轉變成為積極主動的參與者。讓網絡裝置本身變得更為智能、靈活,幫助網絡的運維人員更輕松、更及時、更準确地進行網絡優化和故障排除。未來EEM的發展将繼續延伸網絡裝置的智能,實作建構真正“自診斷、自愈合”的網絡的目标。

    EEM的整個架構由:EEM Server、Event Publisher(也稱作:Event Detector)和Event Subscribers (EEM Policy)三個部分組成。其中,Event Publisher 負責監控和分析事件,并且在事件發生時,負責向EEM Server 通告事件的發生。而後,EEM Server觸發EEM Policy 基于目前的系統狀态以及所配置的具體動作,例如:執行IOS的指令行、發送SNMP Trap、發起主備引擎切換、産生Syslog資訊等等,實施相應的恢複措施。

    目前在Cisco的絕大多數路由交換産品平台上都提供了EEM的功能。

示例:

1

2

3

4

5

6

7

8

<code>event manager applet track_pw318_frommaster </code>

<code>event syslog pattern "Vl318 Grp 1 state Master" ## 設定需要監控的Syslog中的消息内容 </code>

<code>action 1.0 cli command "en"    ## 一旦檢測到特定模式的消息出現,則開始執行一系列指令 </code>

<code>action 2.0 cli command "config ter"      </code>

<code>action 3.0 cli command "no ps pwc318" </code>

<code>action 4.0 cli command "int gi 4/14" </code>

<code>action 4.1 cli command "shut" </code>

<code>action 4.2 cli command "no shut"</code>

HuaWei OPS

    開放可程式設計系統OPS(Open Programmability System)是指裝置通過提供統一的應用程式接口RESTful API(Representational State Transfer Application Programming Interface)來開放系統,使得系統具備可程式設計能力,可以運作第三方應用程式。

    OPS允許使用者或第三方開發商利用系統提供的基礎功能,通過自主程式設計,開發和部署自己的網絡應用程式,進而迅速地實作業務功能擴充和裝置的智能化管理,降低運維成本和操作的複雜度。

    傳統的網絡裝置隻能提供有限的功能和已知的服務,不具有動态性和靈活性,而随着網絡的迅猛發展和不斷普及,多樣化、差異化的需求難以得到滿足。部分使用者要求裝置提供不同層次的開放性,便于開發一些自定義的功能,部署一些私有的管理政策,實作自動化運維等功能,以降低管理成本。

    為此,華為公司推出OPS,提供網絡裝置的開放可程式設計能力。OPS允許使用者或第三方開發商利用系統開放的RESTful API,開發和部署自己的網絡管理政策,進而迅速地實作業務功能擴充、自動部署和裝置的智能化管理,降低運維成本和操作的複雜度。通過配置OPS,實作裝置更加靈活、智能的管理及維護。

9

<code>[~DeviceA] ops</code>

<code>[~DeviceA-ops] assistant collect_health</code>

<code>[*DeviceA-ops-assistant-collect_health] condition timer cron 0 1 * * * *</code>

<code>[*DeviceA-ops-assistant-collect_health] execute 1 command display device &gt; health.txt</code>

<code>[*DeviceA-ops-assistant-collect_health] execute 1.5 command display health &gt;&gt; health.txt</code>

<code>[*DeviceA-ops-assistant-collect_health] execute 2 command display ip routing-table &gt;&gt; health.txt</code>

<code>[*DeviceA-ops-assistant-collect_health] execute 2.5 command display lldp neighbor brief &gt;&gt; health.txt</code>

<code>[*DeviceA-ops-assistant-collect_health] execute 3 command tftp 10.2.1.1 put health.txt</code>

<code>[*DeviceA-ops-assistant-collect_health] commit</code>

    在我們的業務場景中,OPS的主要作用是智能化業務的切換,而感覺業務品質的方式主要是通過NQA功能。在NQA中,我們定義了對端的監測點以及下一跳路徑,通過ICMP包成功率回報NQA是否failed。OPS中使用condition關聯NQA執行相應的操作。

指令如下:

<code>ops</code>

<code> </code><code>assistant test</code>

<code>  </code><code>execute 1 command sys</code>

<code>  </code><code>execute 1.5 command interface gig 1/0/1</code>

<code>  </code><code>execute 2 command shutdown</code>

<code>  </code><code>execute 3 command commit</code>

<code>  </code><code>condition event feature nqa name TEST_FAILED TestName eq tcp</code>

<code></code>

本文轉自Grodd51CTO部落格,原文連結:http://blog.51cto.com/juispan/1964331,如需轉載請自行聯系原作者