2021-02-07 分類: 網(wǎng)站建設(shè)
【51CTO.com快譯】DevOps一直是近年來大熱話題之一。不過,許多組織時常會困惑于DevOps自動化給整個基礎(chǔ)架構(gòu)所帶來的復(fù)雜性。并且,它們經(jīng)常不知道該選擇使用哪些DevOps工具。
在業(yè)界,有一些可用于監(jiān)控的集成式DevOps工具集。它們不但可以提高系統(tǒng)的可視性和整體性能,而且能夠在保障組織生產(chǎn)力的基礎(chǔ)上,建立和諧的跨職能部門協(xié)作關(guān)系。在DevOps理念中,正確的工具集不僅僅是其中所包含的工具本身,還是用于開發(fā)與定義產(chǎn)品、服務(wù)、及場景的文化、規(guī)則與實踐。
在本文中,我們將為您開啟一個“兵器庫”,并向您介紹各種常用的DevOps工具。它們可以被用于監(jiān)控DevOps生態(tài)系統(tǒng),并幫助開發(fā)和運營團隊實現(xiàn)有效地協(xié)同工作。
一、DevOps監(jiān)控工具
通過良好的監(jiān)控平臺,您可以監(jiān)控到目標基礎(chǔ)架構(gòu)、以及應(yīng)用程序的性能。無論是在本地、還是在云端、甚至是在容器化的環(huán)境里,只要您能夠正確地使用監(jiān)控工具,就能夠全面了解并掌握每一個Kubernetes、物聯(lián)網(wǎng)設(shè)備、乃至各種裸機系統(tǒng)的實時狀態(tài)。
對DevOps的好處:
有效的監(jiān)控工具可以提高系統(tǒng)的整體性能和生產(chǎn)率,進而有助于減少(甚至消除)服務(wù)中斷的時間。您可以事先充分地計劃好各種升級、以及新的項目,從而更好地分配現(xiàn)有的時間與資源。您可以在迭代的過程中,以及缺陷產(chǎn)品對用戶產(chǎn)生影響之前,就及時地檢測出各種潛在的問題、并尋求解決方案。
工具:
Sensu(https://docs.sensu.io/sensu-go/latest/) - 一款靈活、且支持可擴展的遙測(telemetry)方案,和服務(wù)健康性檢查工具。它可以被用于監(jiān)控服務(wù)器、容器、服務(wù)、應(yīng)用程序、功能、以及連接設(shè)備等方面。
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服務(wù)檢索(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)配置和部署的自動化;通過實施所需的配置,來修復(fù)各種實際環(huán)境中的配置偏差。通過將基礎(chǔ)架構(gòu)建模成為各種代碼,用戶可以將軟件交付的各項實踐(如版本控制、自動化測試、以及持續(xù)交付),應(yīng)用到基礎(chǔ)架構(gòu)和應(yīng)用程序之中。
對DevOps的好處:
眾所周知,傳統(tǒng)的手動執(zhí)行方式,給運維人員帶來了重復(fù)且易錯的工作負擔(dān)。DevOps自動化則提高了整體的部署效率。通過可預(yù)測和可擴展的實現(xiàn)方式,開發(fā)與生產(chǎn)環(huán)境能夠得到標準化的配置、軟件產(chǎn)品才能夠確保得到交叉性的測試。通過削減snowflake算法服務(wù)器的運行時間,您將能夠更快速、更可靠地部署各種軟件。
工具:
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ǔ)設(shè)施即代碼應(yīng)用到測試和監(jiān)控中(https://blog.sensu.io/infrastructure-as-code-testing-and-monitoring)
三、DevOps報警工具
對于軟件系統(tǒng)而言,我們時常希望報警工具不但能夠提供可操作的報警信息,并且需要能夠通過定制來適應(yīng)系統(tǒng)的復(fù)雜性。通過定制,報警系統(tǒng)既要保持足夠的敏感性,以全面捕獲系統(tǒng)中的各種中斷事件,又不可過于敏感,推送海量的報警信息給運維人員,以至于他們熟視無睹、或漏掉關(guān)鍵的事故。
對DevOps的好處:
有了報警工具,開發(fā)人員就可以和運維人員一起協(xié)商需要報警的各種策略,包括:如何確定需要通知的對象,如何跟蹤問題和處置結(jié)果,以及如何確定修復(fù)的優(yōu)先級。
工具:
PagerDuty(https://www.pagerduty.com/) - 這是一個候召職務(wù)(On-call)的管理平臺,能夠提供事件情況、故障分析、以及自動響應(yīng)等附加組件。
ServiceNow(https://www.servicenow.com/) - 該工具能夠利用ITSM的自動化工作流,提供客戶服務(wù)和業(yè)務(wù)流程。
Slack(https://dzone.com/articles/7-essential-slack-integrations-developers-should-k) - 該平臺允許用戶將報警整合到同一個群聊與協(xié)作的平臺中。
資源鏈接:
如何使用Sensu來處理應(yīng)用向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)運能,學(xué)習(xí)用戶行為,改進服務(wù)級別,以及控制安全風(fēng)險等。
對DevOps的好處:
在DevOps中,以數(shù)據(jù)為驅(qū)動的決策,能夠促進團隊的持續(xù)學(xué)習(xí)和服務(wù)的持續(xù)改進。因此,通過從指標中獲得的洞察力,您可以為業(yè)務(wù)的各個層面提供決策,提高現(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ù)庫,用于存儲事務(wù)的分帳數(shù)據(jù)庫等。
資源鏈接:
如何創(chuàng)建Sensu的InfluxDB管道(https://docs.sensu.io/sensu-go/latest/getting-started/prometheus-metrics/#install-sensu-influxdb-handler)
使用InfluxDB和Grafana檢查輸出指標的提取(https://blog.sensu.io/check-output-metric-extraction-with-influxdb-grafana)
五、DevOps可視化工具
可視化工具可謂上述DevOps工具鏈在監(jiān)控領(lǐng)域的合適選擇:您可以將所有的數(shù)據(jù)都組合到一起,通過對其進行排序和可視化,最終將其顯示到定制的儀表板上。
對DevOps的好處:
通過提供上下文與相關(guān)釋義,可視化工具允許用戶隨時跟蹤各種變更和改進,并為管理層提供實時的視圖,以協(xié)助戰(zhàn)略指導(dǎo)與決策。其自定義的選項則能夠讓團隊成員輕松地設(shè)計和共享自己當(dāng)前的儀表板。
工具:
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)變。我們不應(yīng)簡單地進行“堆積木”式的工具套用,而應(yīng)當(dāng)將它們合理地運用到持續(xù)的監(jiān)控生態(tài)系統(tǒng)之中。無論您現(xiàn)在處于DevOps進程中的哪個階段,請最好重新評估一下當(dāng)前正在使用的工具。通過搜索和發(fā)現(xiàn)當(dāng)前監(jiān)控用例的不足之處,您可以按需進行微調(diào)。
網(wǎng)站題目:硬核:值得嘗試的DevOps兵器庫
分享鏈接:http://m.newbst.com/news4/99704.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、定制開發(fā)、網(wǎng)站營銷、ChatGPT、微信公眾號、響應(yīng)式網(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)容