2021-02-07 分類: 網(wǎng)站建設
【51CTO.com快譯】DevOps一直是近年來大熱話題之一。不過,許多組織時常會困惑于DevOps自動化給整個基礎(chǔ)架構(gòu)所帶來的復雜性。并且,它們經(jīng)常不知道該選擇使用哪些DevOps工具。
在業(yè)界,有一些可用于監(jiān)控的集成式DevOps工具集。它們不但可以提高系統(tǒng)的可視性和整體性能,而且能夠在保障組織生產(chǎn)力的基礎(chǔ)上,建立和諧的跨職能部門協(xié)作關(guān)系。在DevOps理念中,正確的工具集不僅僅是其中所包含的工具本身,還是用于開發(fā)與定義產(chǎn)品、服務、及場景的文化、規(guī)則與實踐。
在本文中,我們將為您開啟一個“兵器庫”,并向您介紹各種常用的DevOps工具。它們可以被用于監(jiān)控DevOps生態(tài)系統(tǒng),并幫助開發(fā)和運營團隊實現(xiàn)有效地協(xié)同工作。
一、DevOps監(jiān)控工具
通過良好的監(jiān)控平臺,您可以監(jiān)控到目標基礎(chǔ)架構(gòu)、以及應用程序的性能。無論是在本地、還是在云端、甚至是在容器化的環(huán)境里,只要您能夠正確地使用監(jiān)控工具,就能夠全面了解并掌握每一個Kubernetes、物聯(lián)網(wǎng)設備、乃至各種裸機系統(tǒng)的實時狀態(tài)。
對DevOps的好處:
有效的監(jiān)控工具可以提高系統(tǒng)的整體性能和生產(chǎn)率,進而有助于減少(甚至消除)服務中斷的時間。您可以事先充分地計劃好各種升級、以及新的項目,從而更好地分配現(xiàn)有的時間與資源。您可以在迭代的過程中,以及缺陷產(chǎn)品對用戶產(chǎn)生影響之前,就及時地檢測出各種潛在的問題、并尋求解決方案。
工具:
Sensu(https://docs.sensu.io/sensu-go/latest/) - 一款靈活、且支持可擴展的遙測(telemetry)方案,和服務健康性檢查工具。它可以被用于監(jiān)控服務器、容器、服務、應用程序、功能、以及連接設備等方面。
Prometheus(https://prometheus.io/docs/introduction/overview/) - 它帶有內(nèi)置的數(shù)據(jù)庫,能夠依靠pull方法來收集各類信息。
Nagios(https://www.nagios.org/about/overview/) - 雖然是一款傳統(tǒng)的監(jiān)控工具,但是它在運營與監(jiān)控方面提供了各種新的實踐方式。
資源鏈接:
Nagios服務檢索(https://blog.sensu.io/the-story-of-nagios-plugin-support-in-sensu),如何在Sensu中實現(xiàn)重用
Prometheus在監(jiān)測Kubernetes方面的利與弊(https://blog.sensu.io/monitoring-kubernetes-docker-part-2-prometheus)
如何自動化您的監(jiān)控工作流(https://blog.sensu.io/workflow-automation-for-monitoring)
二、DevOps配置管理工具
用戶能夠通過配置管理工具,來實現(xiàn)目標系統(tǒng)配置和部署的自動化;通過實施所需的配置,來修復各種實際環(huán)境中的配置偏差。通過將基礎(chǔ)架構(gòu)建模成為各種代碼,用戶可以將軟件交付的各項實踐(如版本控制、自動化測試、以及持續(xù)交付),應用到基礎(chǔ)架構(gòu)和應用程序之中。
對DevOps的好處:
眾所周知,傳統(tǒng)的手動執(zhí)行方式,給運維人員帶來了重復且易錯的工作負擔。DevOps自動化則提高了整體的部署效率。通過可預測和可擴展的實現(xiàn)方式,開發(fā)與生產(chǎn)環(huán)境能夠得到標準化的配置、軟件產(chǎn)品才能夠確保得到交叉性的測試。通過削減snowflake算法服務器的運行時間,您將能夠更快速、更可靠地部署各種軟件。
工具:
Ansible(https://docs.ansible.com/) - 該工具由Python所編寫,無需代理,用戶可采用命令式(而非聲明式)的方法。
Chef(https://docs.chef.io/) - 該工具由Ruby所編寫,同樣依賴于命令式的配置管理方法。
Puppet(https://puppet.com/docs) - 該工具用到了特定域的語言、以及代理/主機的架構(gòu)。不過它依賴的是聲明性的配置管理方法。
資源鏈接:
簡述如何使用Chef來管理自動化基礎(chǔ)架構(gòu)(https://blog.sensu.io/chef-automation-for-infrastructure-management)
將基礎(chǔ)設施即代碼應用到測試和監(jiān)控中(https://blog.sensu.io/infrastructure-as-code-testing-and-monitoring)
三、DevOps報警工具
對于軟件系統(tǒng)而言,我們時常希望報警工具不但能夠提供可操作的報警信息,并且需要能夠通過定制來適應系統(tǒng)的復雜性。通過定制,報警系統(tǒng)既要保持足夠的敏感性,以全面捕獲系統(tǒng)中的各種中斷事件,又不可過于敏感,推送海量的報警信息給運維人員,以至于他們熟視無睹、或漏掉關(guān)鍵的事故。
對DevOps的好處:
有了報警工具,開發(fā)人員就可以和運維人員一起協(xié)商需要報警的各種策略,包括:如何確定需要通知的對象,如何跟蹤問題和處置結(jié)果,以及如何確定修復的優(yōu)先級。
工具:
PagerDuty(https://www.pagerduty.com/) - 這是一個候召職務(On-call)的管理平臺,能夠提供事件情況、故障分析、以及自動響應等附加組件。
ServiceNow(https://www.servicenow.com/) - 該工具能夠利用ITSM的自動化工作流,提供客戶服務和業(yè)務流程。
Slack(https://dzone.com/articles/7-essential-slack-integrations-developers-should-k) - 該平臺允許用戶將報警整合到同一個群聊與協(xié)作的平臺中。
資源鏈接:
如何使用Sensu來處理應用向Slack發(fā)送的報警(https://docs.sensu.io/sensu-go/latest/guides/send-slack-alerts/)
如何使用Sensu過濾器來減少報警的數(shù)量(https://docs.sensu.io/sensu-go/latest/guides/reduce-alert-fatigue/)
由Sensu社區(qū)維護人員編寫的緩解過度報警指南(https://sensu.io/resources/whitepaper/alert-fatigue-guide/)
四、指標存儲
一旦您實現(xiàn)了自動配置管理、監(jiān)控與報警,您就會持續(xù)獲得大量的數(shù)據(jù)信息。那么,您又該如何安全地存儲它們,以供后續(xù)分析呢?顯然,您需要擁有一個存儲系統(tǒng),來實現(xiàn)匯總系統(tǒng)運能,學習用戶行為,改進服務級別,以及控制安全風險等。
對DevOps的好處:
在DevOps中,以數(shù)據(jù)為驅(qū)動的決策,能夠促進團隊的持續(xù)學習和服務的持續(xù)改進。因此,通過從指標中獲得的洞察力,您可以為業(yè)務的各個層面提供決策,提高現(xiàn)有的SLA能力,滿足客戶的期望,并為新的戰(zhàn)略投資提供依據(jù)。
工具:
InfluxDB(https://docs.influxdata.com/influxdb/v1.7/) - 這是一個適合于長期數(shù)據(jù)存儲的時序數(shù)據(jù)庫。
Splunk(https://docs.splunk.com/Documentation) - 可通過使用帶有搜索引擎的數(shù)據(jù)庫模型,來存儲和查詢數(shù)據(jù)。
AWS(https://docs.aws.amazon.com/index.html?nc2=h_ql_doc) - 能夠支持廣泛的存儲目的,包括:關(guān)系數(shù)據(jù)庫、非關(guān)系數(shù)據(jù)庫、用于分析的數(shù)據(jù)倉庫、時序數(shù)據(jù)庫,用于存儲事務的分帳數(shù)據(jù)庫等。
資源鏈接:
如何創(chuàng)建Sensu的InfluxDB管道(https://docs.sensu.io/sensu-go/latest/getting-started/prometheus-metrics/#install-sensu-influxdb-handler)
使用InfluxDB和Grafana檢查輸出指標的提?。╤ttps://blog.sensu.io/check-output-metric-extraction-with-influxdb-grafana)
五、DevOps可視化工具
可視化工具可謂上述DevOps工具鏈在監(jiān)控領(lǐng)域的合適選擇:您可以將所有的數(shù)據(jù)都組合到一起,通過對其進行排序和可視化,最終將其顯示到定制的儀表板上。
對DevOps的好處:
通過提供上下文與相關(guān)釋義,可視化工具允許用戶隨時跟蹤各種變更和改進,并為管理層提供實時的視圖,以協(xié)助戰(zhàn)略指導與決策。其自定義的選項則能夠讓團隊成員輕松地設計和共享自己當前的儀表板。
工具:
Grafana(https://grafana.com/docs/) - 該工具可以在包括Graphite、InfluxDB和Elasticsearch在內(nèi)的各種不同的數(shù)據(jù)存儲上被使用。
資源鏈接:
一個結(jié)合Sensu、InfluxDB和Grafana的用例(https://blog.sensu.io/how-to-measure-every-api-call-in-your-go-app)
如何使用Grafana來可視化各項指標(https://docs.sensu.io/sensu-go/latest/getting-started/prometheus-metrics/#visualize-metrics-with-grafana)
后續(xù)工作:評估您的DevOps工具
DevOps給您帶來的是從軟件產(chǎn)品流程、開發(fā)觀念、乃至協(xié)同文化上的轉(zhuǎn)變。我們不應簡單地進行“堆積木”式的工具套用,而應當將它們合理地運用到持續(xù)的監(jiān)控生態(tài)系統(tǒng)之中。無論您現(xiàn)在處于DevOps進程中的哪個階段,請最好重新評估一下當前正在使用的工具。通過搜索和發(fā)現(xiàn)當前監(jiān)控用例的不足之處,您可以按需進行微調(diào)。
文章標題:硬核:值得嘗試的DevOps兵器庫
本文網(wǎng)址:http://jinyejixie.com/news/99704.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供虛擬主機、網(wǎng)站制作、用戶體驗、域名注冊、關(guān)鍵詞優(yōu)化、品牌網(wǎng)站設計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容