硬核:值得嘗試的DevOps兵器庫

2021-02-07    分類: 網站建設

【51CTO.com快譯】DevOps一直是近年來大熱話題之一。不過,許多組織時常會困惑于DevOps自動化給整個基礎架構所帶來的復雜性。并且,它們經常不知道該選擇使用哪些DevOps工具。

在業(yè)界,有一些可用于監(jiān)控的集成式DevOps工具集。它們不但可以提高系統(tǒng)的可視性和整體性能,而且能夠在保障組織生產力的基礎上,建立和諧的跨職能部門協(xié)作關系。在DevOps理念中,正確的工具集不僅僅是其中所包含的工具本身,還是用于開發(fā)與定義產品、服務、及場景的文化、規(guī)則與實踐。

在本文中,我們將為您開啟一個“兵器庫”,并向您介紹各種常用的DevOps工具。它們可以被用于監(jiān)控DevOps生態(tài)系統(tǒng),并幫助開發(fā)和運營團隊實現有效地協(xié)同工作。

一、DevOps監(jiān)控工具

通過良好的監(jiān)控平臺,您可以監(jiān)控到目標基礎架構、以及應用程序的性能。無論是在本地、還是在云端、甚至是在容器化的環(huán)境里,只要您能夠正確地使用監(jiān)控工具,就能夠全面了解并掌握每一個Kubernetes、物聯網設備、乃至各種裸機系統(tǒng)的實時狀態(tài)。

對DevOps的好處:

有效的監(jiān)控工具可以提高系統(tǒng)的整體性能和生產率,進而有助于減少(甚至消除)服務中斷的時間。您可以事先充分地計劃好各種升級、以及新的項目,從而更好地分配現有的時間與資源。您可以在迭代的過程中,以及缺陷產品對用戶產生影響之前,就及時地檢測出各種潛在的問題、并尋求解決方案。

工具:

Sensu(https://docs.sensu.io/sensu-go/latest/) - 一款靈活、且支持可擴展的遙測(telemetry)方案,和服務健康性檢查工具。它可以被用于監(jiān)控服務器、容器、服務、應用程序、功能、以及連接設備等方面。

Prometheus(https://prometheus.io/docs/introduction/overview/) - 它帶有內置的數據庫,能夠依靠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中實現重用

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配置管理工具

用戶能夠通過配置管理工具,來實現目標系統(tǒng)配置和部署的自動化;通過實施所需的配置,來修復各種實際環(huán)境中的配置偏差。通過將基礎架構建模成為各種代碼,用戶可以將軟件交付的各項實踐(如版本控制、自動化測試、以及持續(xù)交付),應用到基礎架構和應用程序之中。

對DevOps的好處:

眾所周知,傳統(tǒng)的手動執(zhí)行方式,給運維人員帶來了重復且易錯的工作負擔。DevOps自動化則提高了整體的部署效率。通過可預測和可擴展的實現方式,開發(fā)與生產環(huán)境能夠得到標準化的配置、軟件產品才能夠確保得到交叉性的測試。通過削減snowflake算法服務器的運行時間,您將能夠更快速、更可靠地部署各種軟件。

工具:

Ansible(https://docs.ansible.com/) - 該工具由Python所編寫,無需代理,用戶可采用命令式(而非聲明式)的方法。

Chef(https://docs.chef.io/) - 該工具由Ruby所編寫,同樣依賴于命令式的配置管理方法。

Puppet(https://puppet.com/docs) - 該工具用到了特定域的語言、以及代理/主機的架構。不過它依賴的是聲明性的配置管理方法。

資源鏈接:

簡述如何使用Chef來管理自動化基礎架構(https://blog.sensu.io/chef-automation-for-infrastructure-management)

將基礎設施即代碼應用到測試和監(jiān)控中(https://blog.sensu.io/infrastructure-as-code-testing-and-monitoring)

三、DevOps報警工具

對于軟件系統(tǒng)而言,我們時常希望報警工具不但能夠提供可操作的報警信息,并且需要能夠通過定制來適應系統(tǒng)的復雜性。通過定制,報警系統(tǒng)既要保持足夠的敏感性,以全面捕獲系統(tǒng)中的各種中斷事件,又不可過于敏感,推送海量的報警信息給運維人員,以至于他們熟視無睹、或漏掉關鍵的事故。

對DevOps的好處:

有了報警工具,開發(fā)人員就可以和運維人員一起協(xié)商需要報警的各種策略,包括:如何確定需要通知的對象,如何跟蹤問題和處置結果,以及如何確定修復的優(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過濾器來減少報警的數量(https://docs.sensu.io/sensu-go/latest/guides/reduce-alert-fatigue/)

由Sensu社區(qū)維護人員編寫的緩解過度報警指南(https://sensu.io/resources/whitepaper/alert-fatigue-guide/)

四、指標存儲

一旦您實現了自動配置管理、監(jiān)控與報警,您就會持續(xù)獲得大量的數據信息。那么,您又該如何安全地存儲它們,以供后續(xù)分析呢?顯然,您需要擁有一個存儲系統(tǒng),來實現匯總系統(tǒng)運能,學習用戶行為,改進服務級別,以及控制安全風險等。

對DevOps的好處:

在DevOps中,以數據為驅動的決策,能夠促進團隊的持續(xù)學習和服務的持續(xù)改進。因此,通過從指標中獲得的洞察力,您可以為業(yè)務的各個層面提供決策,提高現有的SLA能力,滿足客戶的期望,并為新的戰(zhàn)略投資提供依據。

工具:

InfluxDB(https://docs.influxdata.com/influxdb/v1.7/) - 這是一個適合于長期數據存儲的時序數據庫。

Splunk(https://docs.splunk.com/Documentation) - 可通過使用帶有搜索引擎的數據庫模型,來存儲和查詢數據。

AWS(https://docs.aws.amazon.com/index.html?nc2=h_ql_doc) - 能夠支持廣泛的存儲目的,包括:關系數據庫、非關系數據庫、用于分析的數據倉庫、時序數據庫,用于存儲事務的分帳數據庫等。

資源鏈接:

如何創(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)控領域的合適選擇:您可以將所有的數據都組合到一起,通過對其進行排序和可視化,最終將其顯示到定制的儀表板上。

對DevOps的好處:

通過提供上下文與相關釋義,可視化工具允許用戶隨時跟蹤各種變更和改進,并為管理層提供實時的視圖,以協(xié)助戰(zhàn)略指導與決策。其自定義的選項則能夠讓團隊成員輕松地設計和共享自己當前的儀表板。

工具:

Grafana(https://grafana.com/docs/) - 該工具可以在包括Graphite、InfluxDB和Elasticsearch在內的各種不同的數據存儲上被使用。

資源鏈接:

一個結合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給您帶來的是從軟件產品流程、開發(fā)觀念、乃至協(xié)同文化上的轉變。我們不應簡單地進行“堆積木”式的工具套用,而應當將它們合理地運用到持續(xù)的監(jiān)控生態(tài)系統(tǒng)之中。無論您現在處于DevOps進程中的哪個階段,請最好重新評估一下當前正在使用的工具。通過搜索和發(fā)現當前監(jiān)控用例的不足之處,您可以按需進行微調。

網站題目:硬核:值得嘗試的DevOps兵器庫
分享鏈接:http://www.bm7419.com/news4/99704.html

成都網站建設公司_創(chuàng)新互聯,為您提供定制網站定制開發(fā)、網站營銷、ChatGPT、微信公眾號、響應式網站

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

商城網站建設