云提供了無(wú)與倫比的靈活性。然而,這種靈活性是有代價(jià)的。移動(dòng)件的數量增加。環(huán)境變得更加多樣化。因此,如果您想掌握最新動(dòng)態(tài),您需要更全面地了解您的云基礎架構。畢竟,您不希望您的客戶(hù)在您的員工之前就意識到某些事情已經(jīng)出錯了。
在這篇文章中,我將討論云監控。我假設您已經(jīng)熟悉該域 - 也許您已經(jīng)在您的組織中設置了它。因此,讓我們介紹一些可以從云監控工具中獲取更多價(jià)值的方法,從而從投資中獲得更多收益。
了解日益復雜的生態(tài)系統
如果您正在構建云原生應用程序,幾乎可以肯定您將使用來(lái)自各種供應商的云監控工具。只有最大的科技公司才有資源和思維方式在內部開(kāi)發(fā)一切。甚至那些公司也到處依賴(lài)第三方軟件。
這越來(lái)越多地延伸到云提供商本身。根據一些報道,多云方法是整個(gè)行業(yè)的常態(tài)。這對監控應用程序的人意味著(zhù)什么?至少,它表明云提供商提供的本機監控可能還不夠。
每個(gè)認真的云提供商都會(huì )為您提供大量用于其服務(wù)的云監控工具。但是,這些工具通常不會(huì )超出該提供者的邊界。這使您有可能使用多個(gè)不同的監控系統。這是一個(gè)風(fēng)險,因為您的開(kāi)發(fā)團隊在嘗試有效地使用所有這些不同的工具時(shí)可能分散得太少。
這就是專(zhuān)門(mén)的監控提供商的用武之地。如果您使用一個(gè),請確保它與您要使用的工具很好地集成。這將為您節省很多精力。不要低估擁有更簡(jiǎn)單生態(tài)系統的好處。您的開(kāi)發(fā)人員會(huì )為此感謝您。
專(zhuān)注于自動(dòng)化
自動(dòng)化是大規模處理基礎設施的最關(guān)鍵實(shí)踐之一。假設您有一個(gè)分布在多個(gè)區域的基于微服務(wù)的系統。除非您已將其中的大部分自動(dòng)化,否則您無(wú)法處理這種復雜性。如果沒(méi)有自動(dòng)化,這種復雜性遲早會(huì )使您的開(kāi)發(fā)陷入停頓?;蛘吒愕氖?,它會(huì )導致錯誤率上升,從而損害您的業(yè)務(wù)。
您可能會(huì )問(wèn),這與監控有什么關(guān)系?在我看來(lái),這與它有很大關(guān)系。監控是基礎設施。因此,同樣的原則適用。例如,如果您可以使用自動(dòng)化來(lái)映射您的網(wǎng)絡(luò )拓撲,您將能夠了解數據如何在不同的應用程序之間流動(dòng)。這只是一個(gè)例子。當您自動(dòng)化收集有價(jià)值的指標和設置新資源的方式時(shí),您可以騰出時(shí)間進(jìn)行其他活動(dòng)來(lái)發(fā)展和改進(jìn)您的產(chǎn)品。
深入了解更具體的資源
自動(dòng)化最酷的地方在于它復合了它的效果。我在上面的段落中提到了理解網(wǎng)絡(luò )。那么,其他資源呢?
假設您有一個(gè)預置一些EC2實(shí)例的設置。如果您有自定義集成,則可以查看每個(gè)盒子的詳細信息。您可以根據獲得的數據設置警報,稍后我們會(huì )看到。但是還有其他可能性,例如構建自定義工作流來(lái)執行定義的操作。
對于您擁有的每個(gè)資源,您可能不需要這種級別的粒度。盡管如此,有可能更深入地研究與您特別相關(guān)的選定元素是很方便的。
考慮業(yè)務(wù)方面
可以肯定的是,當今大多數組織都在投資于監控功能。但是,我認為他們中的許多人主要關(guān)注技術(shù)指標。不要誤會(huì )我的意思——技術(shù)指標是監控的核心。盡管如此,在技術(shù)方面過(guò)度索引還是錯失了機會(huì )。
歸根結底,系統可以滿(mǎn)足用戶(hù)的需求。如果核心業(yè)務(wù)流程運行不正常,這些技術(shù)指標就毫無(wú)意義。這就是為什么使用您盡職盡責地創(chuàng )建的監控基礎設施也是有意義的。業(yè)務(wù)指標取決于上下文,因此您通常會(huì )通過(guò)為您的域量身定制的自定義指標來(lái)實(shí)現這一點(diǎn)。
合并技術(shù)和業(yè)務(wù)方面的一種方法是設置服務(wù)級別目標 ( SLO )。從本質(zhì)上講,您希望根據業(yè)務(wù)成果定義系統的期望,并將它們編成代碼,以便您可以跟蹤它們并采取行動(dòng)。監控在這里起著(zhù)重要作用,因為手動(dòng)跟蹤非常困難。因此,云監控工具的良好支持對于使該方法可行至關(guān)重要。
快速而自信地對事件做出反應
監控不僅僅是觀(guān)察正在發(fā)生的事情。當異常超過(guò)某些閾值時(shí),就該宣布事件了。適當的事件管理可確保您快速發(fā)現問(wèn)題,并自信地采取行動(dòng)解決手頭的問(wèn)題,同時(shí)將用戶(hù)影響降至最低。
為此,您需要將通過(guò)監控收集的所有見(jiàn)解轉換為警報。這應該是您的監控提供商的一部分,這樣您就不會(huì )重復任何工作。不用說(shuō),圍繞自動(dòng)化使用相同的思維方式,以便獲得可重復的結果。
不過(guò),配置警報閾值并不容易。您必須在減少誤報和漏報之間取得平衡。很容易在一個(gè)方向上移動(dòng)太遠,最終導致過(guò)于頻繁地觸發(fā)警報,或者不夠頻繁地觸發(fā)警報并錯過(guò)事件。答案是更智能的工具。有諸如異常檢測之類(lèi)的技術(shù),其中工具利用數據點(diǎn)收集來(lái)識別可疑模式。這樣,您需要較少的手動(dòng)調整,這很容易出錯。
橫向移動(dòng)到堆棧的不同部分
使用集成監控提供程序的一個(gè)顯著(zhù)好處是能夠輕松地將監控擴展到其他領(lǐng)域。讓我們考慮合成交易。假設您已經(jīng)對您的基礎架構有了豐富的了解。添加高級流程是最重要的,它可以降低您錯過(guò)任何令人擔憂(yōu)的趨勢的可能性。
添加其他類(lèi)型的監控只是一個(gè)小的增量添加。這項投資是值得的,這就是您開(kāi)始從您的工具中獲益的時(shí)候。使用統一工具的另一個(gè)優(yōu)點(diǎn)是更容易跨這些不同的組件移動(dòng)。從合成跳轉到儀表板,然后縮放到單個(gè)資源將為您的開(kāi)發(fā)人員省去很多麻煩。通過(guò)足夠的努力,您可以自己構建它,但它可能會(huì )比使用現有工具花費更多。