云計算時代,越來越多的企業(yè)將其IT基礎架構遷移到公有云平臺提供業(yè)務支撐,傳統(tǒng)上我們可以自己部署一套例如ZABBIX監(jiān)控平臺,外加日志分析平臺ELK(Elasticsearch、Logstash、Kibana)實現(xiàn)全局監(jiān)控,但是當業(yè)務遷移到公有云平臺時,其監(jiān)視內(nèi)容就不僅僅是傳統(tǒng)的計算、存儲、網(wǎng)絡、硬件設備了,還需要對云平臺做監(jiān)視,以便清楚的知道公有云平臺運行狀況是否影響“我”的業(yè)務。
今天我們將邀請碩軟(微軟技術合作伙伴)的云解決方案架構師徐庭,基于國內(nèi)大型企業(yè)客戶的項目實踐,為大家分享云原生監(jiān)控平臺部署中遇到的問題和對應解決方法,基于Azure Log Analytics Agent的排錯指南。希望可以幫助到大家。
以Microsoft Azure為例,借助Azure Monitor可以:
以下是Azure Monitor的一個簡單示意架構圖
近日在幫助客戶借助Azure Monitor服務實現(xiàn)企業(yè)級云原生監(jiān)控平臺,就使用到了上述若干組件。先看下效果圖
但是在實施過程中也遇到不少問題,尤其是日志分析服務Log Analytics,發(fā)現(xiàn)無法正常推送Log Analytics Agent(又稱為OMSAgent),
無法通過Azure Portal卸載或者通過Log Analytics斷開VM連接
今天這里就簡單總結一下遇到的問題以及對應的解決辦法
在開始之前首先查看Azure Linux Agent是否正常運行,可以管理Linux與FreeBSD預配,以及VM與Azure底層控制器之間的交互,它是實現(xiàn)其他IaaS VM擴展的前提,除了提供預配功能的Linux代理外,Azure還提供對某些Linux OS使用cloud-init的選項。如果非正常運行或者版本較低建議您重新安裝或者升級到較新版本??蓞⒖嘉④浌俜轿臋n。
問題一:代理通信問題
使用Log Analytics故障排除工具查找和診斷Log Analytics代理問題,主要檢查:
代理運行不正常,檢測信號無法正常工作
代理未啟動,無法連接到Log Analytic服務
代理系統(tǒng)日志無效
代理的CPU/內(nèi)存使用率高
代理存在安裝問題
代理自定義日志無效
收集代理日志
將以下命令粘貼到具有Log Analytics代理的計算機上的終端窗口中,可以運行故障排除工具:
sudo/opt/microsoft/omsagent/bin/troubleshooter
收集并分析Log Analytics Agent for Linux日志
通過日志可以發(fā)現(xiàn)Omsconfig.log中看到有報錯信息:
2020/11/03 08:44:30:ERROR:null(0):EventId=1 Priority=ERROR Job 10B65B80-B048-413C-B1FF-2341EC407ADD:
DSC Engine Error:
Error Message Inventory mof does not exist.
Error Code:1
解決辦法:
運行命令:
sudo su omsagent-c'python/opt/microsoft/omsconfig/Scripts/GetDscConfiguration.py'
此命令返回代理從門戶網(wǎng)站看到的配置,包括系統(tǒng)日志設置,Linux性能計數(shù)器和自定義日志。根據(jù)提示完成相關建議操作
安裝PaPing,檢查防火墻
#wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/paping/paping_1.5.5_x86-64_linux.tar.gz
#tar zxvf paping_1.5.5_x86-64_linux.tar.gz
檢查防火墻:(黃色部分替換為對應的WorkSpaceID)
./paping-p 443-c 10[WorkSpaceID].ods.opinsights.azure.cn
./paping-p 443-c 10[WorkSpaceID].oms.opinsights.azure.cn
重新啟動OMSAgent
sudo/opt/microsoft/omsagent/bin/service_control restart[WorkSpaceID]
驗證更改是否生效
sudo/opt/microsoft/omsagent/bin/omsadmin.sh-l
問題二:無法通過代理連接到Azure Monitor
解決辦法:
使用以下命令(啟用-v選項)通過Log Analytics Linux代理重新載入到Azure Monitor。它允許通過代理服務器重新連接到Azure Monitor的代理。
/opt/microsoft/omsagent/bin/omsadmin.sh-w<Workspace ID>-s<Workspace Key>-p<Proxy Conf>-v
重新啟動OMSAgent
sudo/opt/microsoft/omsagent/bin/service_control restart[WorkSpaceID]
驗證更改是否生效
sudo/opt/microsoft/omsagent/bin/omsadmin.sh-l
問題三:在Azure門戶中,log Analytics代理擴展標記為失敗狀態(tài):預配失敗
解決辦法:
Azure Portal中斷開log Analytics連接
Azure Portal刪除VM擴展
使用下面的命令清除之前產(chǎn)生的配置文件
sudo rm-rf/etc/opt/microsoft/omsagent
sudo rm-rf/var/opt/microsoft/omsagent
sudo rm-rf/opt/microsoft/omsagent
sudo yum remove-y scx omi omsagent omsconfig auoms
使用下面的命令聯(lián)機下載Agent
wget https://raw.githubusercontent.com/Microsoft/OMS-Agent-for-Linux/master/installer/scripts/onboard_agent.sh--no-check-certificate
使用下面的命令解壓并安裝Agent
sh onboard_agent.sh-w[WorkSpaceID]-s[WorkSpace Key]-d opinsights.azure.cn
重新啟動OMSAgent
sudo/opt/microsoft/omsagent/bin/service_control restart[WorkSpaceID]
驗證更改是否生效
sudo/opt/microsoft/omsagent/bin/omsadmin.sh-l
問題四:無法斷開log Analytics無法刪除VM擴展,獲取Agent狀況
解決辦法:
登錄VM直接聯(lián)機下載清除腳本卸載當前Agent【傳說中的重啟重裝換電腦的第二大法寶】
wget https://raw.githubusercontent.com/microsoft/OMS-Agent-for-Linux/master/tools/purge_omsagent.sh
執(zhí)行清除卸載Agent
sudo sh purge_omsagent.sh
使用下面的命令聯(lián)機下載Agent
wget https://raw.githubusercontent.com/Microsoft/OMS-Agent-for-Linux/master/installer/scripts/onboard_agent.sh--no-check-certificate
使用下面的命令解壓并安裝Agent
sh onboard_agent.sh-w[WorkSpaceID]-s[WorkSpace Key]-d opinsights.azure.cn
重新啟動OMSAgent
sudo/opt/microsoft/omsagent/bin/service_control restart[WorkSpaceID]
驗證更改是否生效
sudo/opt/microsoft/omsagent/bin/omsadmin.sh-l
返回log Analytics Portal,查看Agent狀況【應該處于未連接狀態(tài)】
再次點擊“連接”應該就工作正常了
在我的這個客戶CASE里面,以上幾個問題全部遇到,以及絕大部分采用了“重裝大法”
此時我們就可以檢索當前連接到Log Analytics工作區(qū)的CPU負載情況(Top10)
最后需要注意的是,當我們針對某一特定主機做日志查詢與分析的時候,一定要看Log Analytics工作區(qū)里顯示的名稱,發(fā)現(xiàn)computer參數(shù)調(diào)取的是虛擬機的計算機名稱,而不是Azure Portal中虛擬機名稱。
使用如下命令可以遍歷整個Log Analytics工作區(qū)的服務器信息
Heartbeat|where OSType=='Linux'|summarize arg_max(TimeGenerated,*)by SourceComputerId|sort by Computer|render table
以上,就是Log Analytics Agent排錯的答題思路,希望可以為大家?guī)韱l(fā)。
最后,在這個項目解決中非常感謝來自世紀互聯(lián)運營的Azure技術專家的大力支持。