網(wǎng)管操作系統(tǒng):部署、調(diào)參與運(yùn)維避坑指南)
簡(jiǎn)介NCE-T網(wǎng)管操作系統(tǒng)概述是一份面向華為網(wǎng)絡(luò)運(yùn)維工程師與技術(shù)決策者的PDF資料聚焦華為NCE-T相比傳統(tǒng)U2000網(wǎng)管系統(tǒng)的整體演進(jìn)。文檔先從業(yè)務(wù)背景切入說明NCE如何融合管理、控制、分析能力使能全生命周期網(wǎng)絡(luò)自動(dòng)化與智能化隨后通過NCE-T與U2000的架構(gòu)對(duì)比點(diǎn)出統(tǒng)一云化平臺(tái)、數(shù)據(jù)共享、北向開放API和面向場(chǎng)景可編程意圖引擎等關(guān)鍵升級(jí)點(diǎn)。資源包內(nèi)共1個(gè)PDF文件大小7.31MB內(nèi)容以官方架構(gòu)圖、部署示意圖和軟硬件配置對(duì)比為主信息密度較高。正文覆蓋三類部署場(chǎng)景On-Premises、私有云OS產(chǎn)品、私有云僅產(chǎn)品、B/S模式網(wǎng)絡(luò)結(jié)構(gòu)、虛擬化與數(shù)據(jù)庫選型如EulerOS、GaussDB以及高可用性設(shè)計(jì)也給出了從U2000遷移到NCE-T的軟硬件配置變化說明方便運(yùn)維人員在實(shí)際規(guī)劃、部署或遷移時(shí)對(duì)照參考。當(dāng)前已有3987人學(xué)習(xí)適合需要快速建立華為NCE-T知識(shí)框架的讀者也可作為網(wǎng)管系統(tǒng)升級(jí)評(píng)估和技術(shù)方案編寫的參考資料。1. NCE-T網(wǎng)管操作系統(tǒng)概述先搞清它和普通網(wǎng)管軟件的區(qū)別收到一份名為《NCE-T網(wǎng)管操作系統(tǒng)概述》的 PDF不少人的第一反應(yīng)是這不就是又一個(gè)網(wǎng)管軟件嗎實(shí)際動(dòng)手維護(hù)過傳送網(wǎng)的人會(huì)發(fā)現(xiàn)傳統(tǒng)網(wǎng)管軟件管的是單臺(tái)設(shè)備或單廠商子網(wǎng)而 NCE-T 這類網(wǎng)管操作系統(tǒng)是把整張傳送網(wǎng)當(dāng)成一個(gè)系統(tǒng)來管——OTN、WDM、SDH 混合組網(wǎng)時(shí)拓?fù)洹I(yè)務(wù)、性能、告警都收斂到同一套平臺(tái)上。它解決的核心問題不是“能連上設(shè)備”而是“設(shè)備數(shù)量上百、網(wǎng)絡(luò)層級(jí)復(fù)雜之后運(yùn)維還能不能有序進(jìn)行”。本篇文章面向剛接手傳送網(wǎng)維護(hù)的從業(yè)者也適合正在做網(wǎng)管系統(tǒng)選型或替換的團(tuán)隊(duì)講清楚 NCE-T 是什么、部署要準(zhǔn)備什么、日常怎么調(diào)參、有哪些反復(fù)出現(xiàn)的坑。2. 先讀懂 NCE-T 的架構(gòu)它憑什么能管起整張傳送網(wǎng)2.1 管理面與控制面的分工網(wǎng)管系統(tǒng)不只是“畫拓?fù)洹钡腘CE-T 名字里的“操作系統(tǒng)”三個(gè)字容易讓人往服務(wù)器操作系統(tǒng)上聯(lián)想。實(shí)際上它是面向傳送網(wǎng)的管理與控制一體化平臺(tái)核心在于管理面和控制面的融合。傳統(tǒng)網(wǎng)管只做管理面——配置下發(fā)、告警收集、性能查詢控制面動(dòng)作如保護(hù)倒換、光功率調(diào)整往往需要登錄設(shè)備命令行單獨(dú)操作。NCE-T 這類平臺(tái)把控制面能力也收進(jìn)來于是你在網(wǎng)管界面上做一次路由重優(yōu)化或業(yè)務(wù)倒換系統(tǒng)會(huì)直接把指令下到源宿網(wǎng)元。從部署角度看NCE-T 內(nèi)部一般分為應(yīng)用節(jié)點(diǎn)、數(shù)據(jù)庫節(jié)點(diǎn)和采集節(jié)點(diǎn)三類角色。應(yīng)用節(jié)點(diǎn)負(fù)責(zé) Web 服務(wù)、業(yè)務(wù)邏輯數(shù)據(jù)庫節(jié)點(diǎn)存拓?fù)?告警/性能數(shù)據(jù)采集節(jié)點(diǎn)通過南向接口跟網(wǎng)元通信。小規(guī)模組網(wǎng)時(shí)三類角色可合并部署網(wǎng)元數(shù)量上來后必須分離否則數(shù)據(jù)庫連接數(shù)一多整個(gè)平臺(tái)交互都會(huì)變慢。理解這個(gè)分層后續(xù)做容量規(guī)劃時(shí)就有依據(jù)判斷瓶頸是在采集并發(fā)、數(shù)據(jù)庫 I/O還是應(yīng)用節(jié)點(diǎn)內(nèi)存。2.2 南向接口與北向接口網(wǎng)元接入和上層集成的兩條通路南向接口是 NCE-T 和網(wǎng)元之間的通道。目前最常見的南向協(xié)議是 SNMP 和 NetConf部分老設(shè)備還需要通過 CLI 腳本做適配。SNMP 適合做告警和性能數(shù)據(jù)采集但配置下發(fā)能力弱NetConf 在配置管理和業(yè)務(wù)下發(fā)上更靈活。實(shí)際組網(wǎng)中兩種協(xié)議會(huì)并存——存量 SDH 設(shè)備走 SNMP新建 OTN 設(shè)備走 NetConf。北向接口是 NCE-T 向上層網(wǎng)管或運(yùn)維平臺(tái)提供數(shù)據(jù)的出口常見的是 RESTful API 和消息總線兩種形態(tài)。想做自動(dòng)化運(yùn)維的團(tuán)隊(duì)北向接口是重點(diǎn)考察對(duì)象能不能批量查詢網(wǎng)元列表、能不能訂閱告警消息、能不能創(chuàng)建業(yè)務(wù)。很多項(xiàng)目在選型階段只看南向設(shè)備兼容性忽視北向能力等到上層要接告警推送或做資源報(bào)表時(shí)才發(fā)現(xiàn)接口不全。2.3 單域與多域組網(wǎng)子網(wǎng)拼接和跨域業(yè)務(wù)的實(shí)現(xiàn)邏輯一張傳送網(wǎng)通常按地域或行政區(qū)域劃分成多個(gè)子網(wǎng)每個(gè)子網(wǎng)對(duì)應(yīng)一個(gè) NCE-T 域。單域模式下一個(gè)平臺(tái)管所有網(wǎng)元拓?fù)?、資源、業(yè)務(wù)都在域內(nèi)閉環(huán)。網(wǎng)元數(shù)量過大或地域跨度過大時(shí)單域會(huì)把數(shù)據(jù)庫和采集壓力推得很高這時(shí)候就得分多域。多域組網(wǎng)后跨域業(yè)務(wù)不能直接端到端下發(fā)得在兩個(gè)域之間建立子網(wǎng)拼接關(guān)系。常見做法是每個(gè)域把出口網(wǎng)關(guān)網(wǎng)元暴露給相鄰域業(yè)務(wù)跨域時(shí)先分段計(jì)算路由再在拼接點(diǎn)做業(yè)務(wù)對(duì)接。這個(gè)邏輯和 IP 網(wǎng)絡(luò)的域間路由有些類似。實(shí)際運(yùn)維里跨域業(yè)務(wù)出問題最頻繁的地方就是拼接點(diǎn)配置不一致——兩端的拼接接口參數(shù)、業(yè)務(wù)類型、時(shí)隙或波長(zhǎng)映射對(duì)不上業(yè)務(wù)就起不來。3. 部署 NCE-T從服務(wù)器規(guī)劃到首批網(wǎng)元納管的可復(fù)現(xiàn)步驟3.1 服務(wù)器與 License 規(guī)劃先算容量再動(dòng)手拿到《NCE-T網(wǎng)管操作系統(tǒng)概述》之后最容易跳過去的章節(jié)就是服務(wù)器規(guī)劃和 License 規(guī)劃。服務(wù)器規(guī)格跟不上后面采集、告警并發(fā)一上來就卡License 沒算清楚設(shè)備接入后業(yè)務(wù)下發(fā)直接被拒。我一般按網(wǎng)元數(shù)和業(yè)務(wù)量做粗算網(wǎng)元總數(shù)在 100 以下、單域部署時(shí)應(yīng)用節(jié)點(diǎn)和數(shù)據(jù)庫節(jié)點(diǎn)可以共用一臺(tái)物理機(jī)建議配置不低于 16 核 CPU、64GB 內(nèi)存磁盤用 SSD 且獨(dú)立劃分?jǐn)?shù)據(jù)盤網(wǎng)元數(shù)到 300一定要把數(shù)據(jù)庫節(jié)點(diǎn)獨(dú)立出來內(nèi)存建議 128GB 起步采集節(jié)點(diǎn)單獨(dú)部署避免應(yīng)用進(jìn)程和采集進(jìn)程互相搶占資源。License 規(guī)劃要分清兩類一類按網(wǎng)元數(shù)授權(quán)決定你能納管多少設(shè)備另一類按特性授權(quán)比如自動(dòng)發(fā)現(xiàn)、性能分析、多域協(xié)同這些高級(jí)功能沒買特性就是裝上平臺(tái)也用不了對(duì)應(yīng)菜單。# 部署前環(huán)境檢查建議腳本Linux 環(huán)境 # 檢查 CPU 核數(shù)低于 16 核不建議承載超過 100 網(wǎng)元 nproc # 檢查內(nèi)存總量單位 GB free -g | awk /Mem:/{print $7} # 檢查數(shù)據(jù)盤掛載與剩余空間至少預(yù)留 500GB df -h /data # 檢查端口占用NCE-T 的 Web 服務(wù)默認(rèn)走 8080避免被占 ss -lntp | grep 8080先執(zhí)行環(huán)境檢查再開始安裝能省掉后面很多莫名其妙的啟動(dòng)失敗問題。端口方面8080 只是默認(rèn) Web 端口實(shí)際部署還要檢查數(shù)據(jù)庫端口、消息中間件端口是否被防火墻攔截很多安裝失敗案例都出在端口不通而不是安裝包有問題。3.2 安裝與初始化拿到安裝包后的標(biāo)準(zhǔn)動(dòng)作安裝 NCE-T 的常見做法是先裝數(shù)據(jù)庫再裝應(yīng)用最后做初始化配置。數(shù)據(jù)庫層一般用商業(yè)數(shù)據(jù)庫或開源數(shù)據(jù)庫取決于發(fā)行版本安裝包里通常自帶一鍵安裝腳本但不建議無腦下一步。# 解壓安裝包 tar -zxvf nce_t_installer.tar.gz # 進(jìn)入安裝目錄執(zhí)行環(huán)境預(yù)檢 ./install/check_env.sh預(yù)檢腳本會(huì)檢查操作系統(tǒng)版本、內(nèi)核參數(shù)、磁盤空間、依賴庫。如果預(yù)檢不過先解決環(huán)境問題再繼續(xù)不要跳過。預(yù)檢通過后先初始化數(shù)據(jù)庫再啟動(dòng)應(yīng)用服務(wù)# 初始化數(shù)據(jù)庫實(shí)例注意設(shè)置獨(dú)立數(shù)據(jù)目錄 ./install/init_db.sh --data-dir/data/nce_t_db # 啟動(dòng)應(yīng)用服務(wù) ./install/start_apps.sh # 查看服務(wù)狀態(tài)服務(wù)狀態(tài)為 running 再繼續(xù)下一步 ./install/status.sh安裝完成后第一次登錄會(huì)進(jìn)入初始化向?qū)бO(shè)置系統(tǒng)管理員密碼、配置時(shí)區(qū)和 NTP 時(shí)間同步。這里有個(gè)關(guān)鍵細(xì)節(jié)NTP 沒配好后續(xù)網(wǎng)元時(shí)間與網(wǎng)管時(shí)間不一致告警時(shí)間戳和性能數(shù)據(jù)時(shí)間戳?xí)y排查問題時(shí)會(huì)浪費(fèi)大量時(shí)間。3.3 網(wǎng)元接入自動(dòng)發(fā)現(xiàn)與手工添加的適用場(chǎng)景初始化完成后第一步是納管網(wǎng)元。NCE-T 支持自動(dòng)發(fā)現(xiàn)和手工添加兩種方式。自動(dòng)發(fā)現(xiàn)適合 DCN 網(wǎng)絡(luò)已經(jīng)打通、網(wǎng)元管理地址規(guī)劃清晰的場(chǎng)景。# 自動(dòng)發(fā)現(xiàn)參數(shù)示例網(wǎng)段、子網(wǎng)掩碼、SNMP 讀團(tuán)體字、端口 discover_network --network 10.20.0.0 --mask 255.255.255.0 \ --protocol snmp --community public --port 161自動(dòng)發(fā)現(xiàn)會(huì)掃描網(wǎng)段內(nèi)所有開放 SNMP 端口的設(shè)備但不保證掃到的都是傳送網(wǎng)網(wǎng)元掃到交換機(jī)、路由器是常事。所以發(fā)現(xiàn)完成后要逐條確認(rèn)網(wǎng)元類型誤加的設(shè)備會(huì)影響后續(xù)拓?fù)溆?jì)算。手工添加適合已明確知道管理 IP 和設(shè)備類型的場(chǎng)景單臺(tái)添加更可控# 手工添加網(wǎng)元示例指定設(shè)備類型、管理 IP、南向協(xié)議版本 add_ne --type otn --ip 10.20.0.11 --protocol netconf \ --port 830 --user nceadmin --password ******網(wǎng)元接入后先查看采集狀態(tài)是不是正常再同步一次網(wǎng)元數(shù)據(jù)讓 NCE-T 把設(shè)備的板卡、端口、交叉連接信息構(gòu)建出來。這一步是后續(xù)拓?fù)淇梢暬蜆I(yè)務(wù)發(fā)放的數(shù)據(jù)基礎(chǔ)同步不完整時(shí)不要急著做業(yè)務(wù)。4. 日常操作與參數(shù)調(diào)優(yōu)把 NCE-T 調(diào)到好用狀態(tài)的關(guān)鍵配置4.1 拓?fù)湟晥D與網(wǎng)元管理從接入到可視化的標(biāo)準(zhǔn)配置網(wǎng)元接入并完成數(shù)據(jù)同步后拓?fù)湟晥D不會(huì)自動(dòng)變好看需要手動(dòng)規(guī)劃。NCE-T 的拓?fù)涔芾碇С职醋泳W(wǎng)、按區(qū)域分層展示建議在初始階段就把層級(jí)規(guī)劃好——核心層、匯聚層、接入層分開視圖而不是把所有網(wǎng)元拖在一張圖里。拓?fù)洳季钟袃煞N方式自動(dòng)布局和手工微調(diào)。自動(dòng)布局適合快速生成但設(shè)備位置跟物理地理位置完全無關(guān)運(yùn)維起來不直觀。我通常的做法是先用自動(dòng)布局生成基礎(chǔ)結(jié)構(gòu)再把核心網(wǎng)元按物理位置拖到對(duì)應(yīng)位置然后鎖定布局。這樣后續(xù)新增網(wǎng)元時(shí)會(huì)落在合理的相鄰位置。拓?fù)湟晥D的刷新周期也值得調(diào)默認(rèn) 30 秒刷一次網(wǎng)元數(shù)量多時(shí)建議調(diào)到 60 秒減少北向接口和采集通道的無效占用。4.2 性能數(shù)據(jù)采集與閾值設(shè)置別讓性能監(jiān)控變成擺設(shè)性能監(jiān)控是 NCE-T 比較容易被忽視的模塊。默認(rèn)采集周期通常是 15 分鐘一次對(duì)光功率、誤碼率這類指標(biāo)來說15 分鐘粒度用于趨勢(shì)分析夠用但用于故障定位就太粗了。建議對(duì)核心 otn 波道設(shè)置 5 分鐘或更短的自定義采集周期。指標(biāo)項(xiàng)建議采集周期閾值建議超閾值動(dòng)作光功率接收5 分鐘低于標(biāo)稱值 8dBm 告警生成告警并聯(lián)動(dòng)性能報(bào)表光功率發(fā)送5 分鐘高于標(biāo)稱值 3dBm 告警生成告警并推送消息誤碼率ES/SES15 分鐘ES 連續(xù) 3 個(gè)周期超閾值升級(jí)為 Major 告警板卡溫度15 分鐘超 75℃ 告警只做告警通知不自動(dòng)操作閾值設(shè)置有一個(gè)共同經(jīng)驗(yàn)一開始按設(shè)備標(biāo)稱值設(shè)運(yùn)行一周后看看歷史數(shù)據(jù)的 P90/P95 分布再把閾值調(diào)整到合理區(qū)間。標(biāo)稱值太理想實(shí)際運(yùn)行環(huán)境溫度、光纖衰減都有差異不調(diào)整就會(huì)出現(xiàn)告警風(fēng)暴。另外性能數(shù)據(jù)存儲(chǔ)時(shí)長(zhǎng)默認(rèn)可能是 30 天磁盤空間足夠的話建議調(diào)長(zhǎng)到 90 天月度分析和季度趨勢(shì)對(duì)比會(huì)用到歷史數(shù)據(jù)。4.3 告警管理與通知策略壓縮風(fēng)暴和分級(jí)上報(bào)的調(diào)法告警管理用不好NCE-T 反而會(huì)增加運(yùn)維負(fù)擔(dān)。最常見的問題是一條主干光纜中斷引發(fā)上百條光功率告警、誤碼告警、業(yè)務(wù)劣化告警同時(shí)涌上來。要做好告警治理核心是壓縮和分級(jí)。NCE-T 的告警壓縮提供兩類手段同類告警合并和根因告警識(shí)別。同類告警合并是把同一網(wǎng)元、同一端口、同一告警類型在指定時(shí)間窗口內(nèi)的重復(fù)告警收斂為一條根因告警識(shí)別則是根據(jù)拓?fù)潢P(guān)聯(lián)分析把下游網(wǎng)元的衍生告警掛到上游根因告警下。配置時(shí)建議先啟用根因識(shí)別再配合合并窗口避免先合并后導(dǎo)致根因信息丟失。告警分級(jí)上報(bào)方面按實(shí)際運(yùn)維職責(zé)劃分Critical 級(jí)需要 7×24 小時(shí)值班人員立即響應(yīng)Major 級(jí)工作時(shí)間處理Minor 和 Warning 匯總?cè)請(qǐng)?bào)即可。很多團(tuán)隊(duì)的所有告警都短信通知結(jié)果人人被轟炸反而關(guān)鍵告警被淹沒。分級(jí)策略的調(diào)整最好在試運(yùn)行階段就完成等告警風(fēng)暴真來了再調(diào)就太被動(dòng)。5. NCE-T 操作與運(yùn)維避坑5 個(gè)真實(shí)翻車場(chǎng)景與排查5.1 網(wǎng)元 License 不足導(dǎo)致業(yè)務(wù)無法下發(fā)現(xiàn)象新接入一批 OTN 網(wǎng)元拓?fù)渫秸5窍掳l(fā)業(yè)務(wù)時(shí)系統(tǒng)提示“License 受限無法創(chuàng)建業(yè)務(wù)”業(yè)務(wù)列表一直停在待下發(fā)狀態(tài)。原因網(wǎng)元接入和業(yè)務(wù)發(fā)放占用的是兩類 License 授權(quán)接入納管只是占用了納管數(shù)授權(quán)業(yè)務(wù)發(fā)放還要檢查業(yè)務(wù)特性授權(quán)。采購(gòu)時(shí)只買了納管數(shù)沒買業(yè)務(wù)發(fā)放的并發(fā)數(shù)授權(quán)。解決先確認(rèn) License 剩余容量登錄 License 管理頁面看業(yè)務(wù)授權(quán)余量余量不足就申請(qǐng)擴(kuò)容 License。臨時(shí)手段是把長(zhǎng)期不用的測(cè)試業(yè)務(wù)清理掉釋放授權(quán)額度。后續(xù)規(guī)劃新增業(yè)務(wù)時(shí)先核對(duì) License 余量再執(zhí)行下發(fā)。5.2 拓?fù)渥詣?dòng)發(fā)現(xiàn)不全DCN 網(wǎng)關(guān)配置遺漏現(xiàn)象自動(dòng)發(fā)現(xiàn)執(zhí)行完拓?fù)鋱D里缺了某個(gè)網(wǎng)段的設(shè)備但設(shè)備管理 IP 能 ping 通SNMP 也能正常采集。原因自動(dòng)發(fā)現(xiàn)依賴 DCN 網(wǎng)絡(luò)的網(wǎng)關(guān)配置。傳送網(wǎng)設(shè)備的 DCN 網(wǎng)關(guān)要配置到網(wǎng)管可達(dá)的地址如果設(shè)備上的 DCN 網(wǎng)關(guān)地址寫錯(cuò)或沒寫網(wǎng)管能直接訪問單臺(tái)設(shè)備但自動(dòng)發(fā)現(xiàn)廣播發(fā)現(xiàn)報(bào)文時(shí)設(shè)備不回包。解決先手工添加缺失網(wǎng)元確認(rèn)采集正常然后登錄設(shè)備檢查 DCN 網(wǎng)關(guān)配置修正后重新執(zhí)行自動(dòng)發(fā)現(xiàn)。另一個(gè)常見坑是自動(dòng)發(fā)現(xiàn)只支持 SNMP如果設(shè)備只開放了 NetConf 沒開放 SNMP也會(huì)發(fā)現(xiàn)不到——需要在發(fā)現(xiàn)參數(shù)里同時(shí)勾選多協(xié)議探測(cè)。5.3 性能數(shù)據(jù)斷檔采集周期與庫容量沖突現(xiàn)象性能曲線在某個(gè)時(shí)間點(diǎn)出現(xiàn)空洞持續(xù) 12 小時(shí)后恢復(fù)又沒有對(duì)應(yīng)告警產(chǎn)生。原因性能數(shù)據(jù)入庫前NCE-T 會(huì)先把數(shù)據(jù)寫入內(nèi)存緩存再批量落庫。采集周期調(diào)短后數(shù)據(jù)點(diǎn)數(shù)量翻倍數(shù)據(jù)庫批量寫入速度跟不上緩存隊(duì)列滿后開始丟數(shù)據(jù)。解決調(diào)短采集周期時(shí)同步檢查數(shù)據(jù)庫磁盤 I/O 和緩存隊(duì)列長(zhǎng)度。數(shù)據(jù)庫節(jié)點(diǎn)磁盤為 SSD 且剩余空間充足一般能支撐 5 分鐘粒度機(jī)械磁盤建議保持 15 分鐘粒度。如果必須用短周期考慮減少采集對(duì)象范圍——只對(duì)核心波道啟用短周期其余保持長(zhǎng)周期避免全局一刀切。5.4 北向接口斷連導(dǎo)致上層網(wǎng)管丟告警現(xiàn)象上層運(yùn)維平臺(tái)收到告警少了但 NCE-T 本地告警列表里告警都在。原因NCE-T 北向接口與上層平臺(tái)之間的握手超時(shí)設(shè)置過短或者中間防火墻把北向消息通道的長(zhǎng)連接斷掉了NCE-T 重連需要時(shí)間斷連期間的告警沒有重推機(jī)制。解決先檢查北向通道狀態(tài)重新建立連接再把心跳間隔調(diào)短讓雙方更快感知鏈路狀態(tài)最后確認(rèn) NCE-T 側(cè)是否開啟了告警消息緩存重推功能。沒開啟緩存的先開啟緩存再重新推送斷連期間的告警。涉及防火墻的把 NCE-T 北向接口的源端口和目標(biāo)端口配成固定端口并加入白名單避免長(zhǎng)連接被重置。5.5 升級(jí)后配置丟失或告警規(guī)則重置現(xiàn)象NCE-T 做版本升級(jí)后自定義的告警通知策略失效部分網(wǎng)元的性能采集周期恢復(fù)默認(rèn)值。原因升級(jí)包可能會(huì)覆蓋配置文件里帶自定義標(biāo)記custom以外的配置段告警規(guī)則和采集周期屬于可被覆蓋的配置項(xiàng)。解決升級(jí)前強(qiáng)制導(dǎo)出全量配置文件升級(jí)后做配置比對(duì)用 diff 工具找出被改動(dòng)的項(xiàng)并恢復(fù)。注意導(dǎo)出配置時(shí)要區(qū)分系統(tǒng)配置和業(yè)務(wù)數(shù)據(jù)業(yè)務(wù)數(shù)據(jù)量大時(shí)升級(jí)前還要做數(shù)據(jù)庫備份。凡是涉及升級(jí)的變更我習(xí)慣先在一臺(tái)測(cè)試環(huán)境驗(yàn)證升級(jí)包行為再上生產(chǎn)。6. 用 NCE-T 做出效率北向接口自動(dòng)化與告警治理經(jīng)驗(yàn)6.1 用 Python 調(diào)用北向接口做批量巡檢網(wǎng)元數(shù)量過百后在界面上逐臺(tái)點(diǎn)設(shè)備做巡檢不現(xiàn)實(shí)。NCE-T 北向接口提供查詢能力可以寫腳本做批量巡檢拉取所有網(wǎng)元的告警列表、性能指標(biāo)、設(shè)備狀態(tài)輸出異常清單。這個(gè)方案只需要一個(gè)只讀賬號(hào)不涉及業(yè)務(wù)變更穩(wěn)。#!/usr/bin/env python3 # author: NCE-T運(yùn)維組 # 批量巡檢腳本拉取網(wǎng)元列表并查詢各網(wǎng)元活躍告警數(shù)量 import requests import json # 北向接口地址和賬號(hào)生產(chǎn)環(huán)境請(qǐng)使用密鑰文件而非明文 API_BASE https://nce-t.example.com:18000/api/v1 USERNAME ro_user PASSWORD your_password_here def get_token(): # 北向接口先登錄換取 token后續(xù)請(qǐng)求頭攜帶 resp requests.post(f{API_BASE}/login, json{ username: USERNAME, password: PASSWORD }, verifyFalse) return resp.json()[data][token] def get_all_nes(token): # 分頁拉取網(wǎng)元列表避免一次拉全量數(shù)據(jù)超時(shí) headers {Authorization: fBearer {token}} nes [] page 1 while True: resp requests.get(f{API_BASE}/nes, headersheaders, params{page: page, pageSize: 50}, verifyFalse) data resp.json() nes.extend(data[data][list]) if page data[data][totalPage]: break page 1 return nes def get_alarm_count(token, ne_id): # 統(tǒng)計(jì)指定網(wǎng)元的活躍告警數(shù) headers {Authorization: fBearer {token}} resp requests.get(f{API_BASE}/nes/{ne_id}/alarms, headersheaders, params{status: active}, verifyFalse) return resp.json()[data][total] if __name__ __main__: token get_token() ne_list get_all_nes(token) for ne in ne_list: count get_alarm_count(token, ne[id]) print(f網(wǎng)元 {ne[name]} 活躍告警數(shù): {count})腳本里有兩個(gè)參數(shù)值得注意verifyFalse 跳過證書校驗(yàn)是因?yàn)楸毕蚪涌诔S米院灻C書實(shí)際使用時(shí)建議把證書文件放入信任庫而不是跳過校驗(yàn)避免中間人風(fēng)險(xiǎn)pageSize 設(shè)置 50是考慮到接口單次查詢的數(shù)據(jù)量限制按實(shí)際規(guī)格調(diào)整即可。登錄 token 一般有有效期腳本超過 token 有效期時(shí)記得做自動(dòng)重新登錄處理。6.2 告警治理的最終形態(tài)從“看到告警”到“選擇性看到告警”告警治理做完壓縮和分級(jí)之后還要做一件事——把維護(hù)動(dòng)作和告警關(guān)聯(lián)起來。計(jì)劃內(nèi)維護(hù)操作如光纜割接、設(shè)備升級(jí)會(huì)觸發(fā)大量預(yù)期告警這些告警如果不屏蔽會(huì)混入真實(shí)故障告警中。我維護(hù)的某跨平臺(tái)系統(tǒng)每次割接前都在 NCE-T 里提前建立維護(hù)窗口窗口期內(nèi)指定網(wǎng)元產(chǎn)生的告警自動(dòng)標(biāo)記為維護(hù)態(tài)不推送不升級(jí)。窗口結(jié)束后系統(tǒng)自動(dòng)檢查如果窗口結(jié)束后告警仍處于活躍狀態(tài)再升級(jí)為真實(shí)告警。這個(gè)策略能把計(jì)劃內(nèi)操作的告警噪音降到最低。另一個(gè)值得投入的方向是告警知識(shí)庫。把每次故障的處理過程沉淀成知識(shí)條目關(guān)聯(lián)到告警類型和網(wǎng)元類型下次同類告警產(chǎn)生時(shí)運(yùn)維值班人員可以直接看到歷史處理記錄。不需要做得很復(fù)雜一張關(guān)于告警特征和處理動(dòng)作的表就可以關(guān)鍵是真的用起來。這個(gè)習(xí)慣我一直沿用從一開始的“按告警逐條處理”變成“按模式處理”效率提升非常直觀。至于北向接口自動(dòng)化腳本建議漸進(jìn)式擴(kuò)展第一個(gè)版本只做告警清單拉取跑兩周穩(wěn)定后再逐步加性能數(shù)據(jù)拉取、資源利用率統(tǒng)計(jì)。范圍擴(kuò)大時(shí)注意接口的限流參數(shù)和超時(shí)設(shè)置避免腳本把北向通道跑滿。希望這些經(jīng)驗(yàn)和坑能幫到你少走幾步彎路。本文還有配套的精品資源點(diǎn)擊獲取