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

2021-02-07    分類: 網(wǎng)站建設(shè)

【51CTO.com快譯】DevOps一直是近年來大熱話題之一。不過,許多組織時(shí)常會(huì)困惑于DevOps自動(dòng)化給整個(gè)基礎(chǔ)架構(gòu)所帶來的復(fù)雜性。并且,它們經(jīng)常不知道該選擇使用哪些DevOps工具。

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

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

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

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

對(duì)DevOps的好處:

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

工具:

Sensu(https://docs.sensu.io/sensu-go/latest/) - 一款靈活、且支持可擴(kuò)展的遙測(cè)(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)控工具,但是它在運(yùn)營(yíng)與監(jiān)控方面提供了各種新的實(shí)踐方式。

資源鏈接:

Nagios服務(wù)檢索(https://blog.sensu.io/the-story-of-nagios-plugin-support-in-sensu),如何在Sensu中實(shí)現(xiàn)重用

Prometheus在監(jiān)測(cè)Kubernetes方面的利與弊(https://blog.sensu.io/monitoring-kubernetes-docker-part-2-prometheus)

如何自動(dòng)化您的監(jiān)控工作流(https://blog.sensu.io/workflow-automation-for-monitoring)

二、DevOps配置管理工具

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

對(duì)DevOps的好處:

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

工具:

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

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

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

資源鏈接:

簡(jiǎn)述如何使用Chef來管理自動(dòng)化基礎(chǔ)架構(gòu)(https://blog.sensu.io/chef-automation-for-infrastructure-management)

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

三、DevOps報(bào)警工具

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

對(duì)DevOps的好處:

有了報(bào)警工具,開發(fā)人員就可以和運(yùn)維人員一起協(xié)商需要報(bào)警的各種策略,包括:如何確定需要通知的對(duì)象,如何跟蹤問題和處置結(jié)果,以及如何確定修復(fù)的優(yōu)先級(jí)。

工具:

PagerDuty(https://www.pagerduty.com/) - 這是一個(gè)候召職務(wù)(On-call)的管理平臺(tái),能夠提供事件情況、故障分析、以及自動(dòng)響應(yīng)等附加組件。

ServiceNow(https://www.servicenow.com/) - 該工具能夠利用ITSM的自動(dòng)化工作流,提供客戶服務(wù)和業(yè)務(wù)流程。

Slack(https://dzone.com/articles/7-essential-slack-integrations-developers-should-k) - 該平臺(tái)允許用戶將報(bào)警整合到同一個(gè)群聊與協(xié)作的平臺(tái)中。

資源鏈接:

如何使用Sensu來處理應(yīng)用向Slack發(fā)送的報(bào)警(https://docs.sensu.io/sensu-go/latest/guides/send-slack-alerts/)

如何使用Sensu過濾器來減少報(bào)警的數(shù)量(https://docs.sensu.io/sensu-go/latest/guides/reduce-alert-fatigue/)

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

四、指標(biāo)存儲(chǔ)

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

對(duì)DevOps的好處:

在DevOps中,以數(shù)據(jù)為驅(qū)動(dòng)的決策,能夠促進(jìn)團(tuán)隊(duì)的持續(xù)學(xué)習(xí)和服務(wù)的持續(xù)改進(jìn)。因此,通過從指標(biāo)中獲得的洞察力,您可以為業(yè)務(wù)的各個(gè)層面提供決策,提高現(xiàn)有的SLA能力,滿足客戶的期望,并為新的戰(zhàn)略投資提供依據(jù)。

工具:

InfluxDB(https://docs.influxdata.com/influxdb/v1.7/) - 這是一個(gè)適合于長(zhǎng)期數(shù)據(jù)存儲(chǔ)的時(shí)序數(shù)據(jù)庫。

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

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

資源鏈接:

如何創(chuàng)建Sensu的InfluxDB管道(https://docs.sensu.io/sensu-go/latest/getting-started/prometheus-metrics/#install-sensu-influxdb-handler)

使用InfluxDB和Grafana檢查輸出指標(biāo)的提?。╤ttps://blog.sensu.io/check-output-metric-extraction-with-influxdb-grafana)

五、DevOps可視化工具

可視化工具可謂上述DevOps工具鏈在監(jiān)控領(lǐng)域的合適選擇:您可以將所有的數(shù)據(jù)都組合到一起,通過對(duì)其進(jìn)行排序和可視化,最終將其顯示到定制的儀表板上。

對(duì)DevOps的好處:

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

工具:

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

資源鏈接:

一個(gè)結(jié)合Sensu、InfluxDB和Grafana的用例(https://blog.sensu.io/how-to-measure-every-api-call-in-your-go-app)

如何使用Grafana來可視化各項(xiàng)指標(biāo)(https://docs.sensu.io/sensu-go/latest/getting-started/prometheus-metrics/#visualize-metrics-with-grafana)

后續(xù)工作:評(píng)估您的DevOps工具

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

網(wǎng)站題目:硬核:值得嘗試的DevOps兵器庫
分享鏈接:http://www.muchs.cn/news4/99704.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站定制開發(fā)、網(wǎng)站營(yíng)銷、ChatGPT、微信公眾號(hào)、響應(yīng)式網(wǎng)站

廣告

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

商城網(wǎng)站建設(shè)