摘要:在DevOps的整個流程中,使用一些開源工具可以促進開發(fā)與運維之間的溝通,有利于項目的管理,甚至可以達到事半功倍的效果。
DevOps是一組過程、方法與系統(tǒng)的統(tǒng)稱,用于促進開發(fā)(應(yīng)用程序/軟件工程)、技術(shù)運營和質(zhì)量保障(QA)部門之間的溝通、協(xié)作與整合。在DevOps的整個流程中,使用一些開源工具可以促進開發(fā)與運維之間的溝通,有利于項目的管理,甚至可以達到事半功倍的效果。
本文作者Richard Kraaijenhagen是Owlin創(chuàng)始人,全棧工程師,數(shù)據(jù)科學(xué)家。他收集了DevOps開發(fā)可能用到的所有工具,并且把它們按照職責(zé)進行分類,本文摘取了部分工具分享給大家,這些工具也可以用于日常軟件方面的開發(fā),所以,大家直接Mark吧!
包&產(chǎn)品管理工具
Chocolatey:Chocolatey是Windows下一款開源的命令行包管理軟件 ,簡單說這就是Windows的apt-get;
FPM:全稱是Effing package management,該死的軟件包管理器,極大的緩解了多個平臺構(gòu)建軟件包(deb,rpm,等)的痛苦;
Herd:是一個基于Twitter Murder的文件分布系統(tǒng);
Vagrant Cachier:Vagrant的一個插件,用于緩存包方面的管理;
WiX Toolset:提供一組強大的工具集來幫助你創(chuàng)建Windows安裝包。該工具集從XML源代碼構(gòu)建你的Windows安裝程序包,可以無縫集成到構(gòu)建過程;
Boxstarter:利用Chocolatey包管理工具來自動化安裝軟件和創(chuàng)建可重復(fù)、腳本化的Windows環(huán)境;
Elita:Elita是一個利用git和salt進行持續(xù)部署(部署作為服務(wù))和API-driven基礎(chǔ)設(shè)施的引擎/框架;
Fig:主要用來跟Docker一起來實現(xiàn)的快速隔離的開發(fā)環(huán)境;
Pulp:Pulp是一個用來管理軟件庫以及相關(guān)內(nèi)容的平臺;
Veewee:Veewee是一個開源工具,用來創(chuàng)建和配置輕量級、可再生、便捷式虛擬機環(huán)境。
日志&監(jiān)控
AmonOne:現(xiàn)代化的自托管服務(wù)器監(jiān)控工具;
Anthracite:一個事件/日志改變/管理應(yīng)用程序;
collectd3:是一個可視化的collectd系統(tǒng)性能統(tǒng)計工具;
collectd:是一個守護(daemon)進程,用來收集系統(tǒng)性能和提供各種存儲方式來存儲不同值的機制;
Diamond:是一個基于Python的守護程序,主要用來收集系統(tǒng)指標,并且把它們發(fā)布到Graphite(或其它)工具中;
Errbit:是一個用于收集和管理程序錯誤的開源工具;
Sensu:一個開源的監(jiān)控框架;
Logstash:是一個應(yīng)用程序日志、事件的傳輸、處理、管理和搜索的平臺。你可以用它來統(tǒng)一對應(yīng)用程序日志進行收集管理,提供Web接口用于查詢和統(tǒng)計;
log.io:一個實時的開源日志監(jiān)控工具;
FnordMetric:是一個基于redis/ruby的實時事件跟蹤應(yīng)用,是個收集和可視化時間序列數(shù)據(jù)的框架,用戶可以在幾分鐘內(nèi)創(chuàng)建漂亮的實時分析儀表盤;
Logster:是一個工具,讀取日志文件然后創(chuàng)建Graphite 或 Ganglia可用的指標數(shù)據(jù)。比如你可能使用logster來圖形化在你的Web Server日志中的HTTP響應(yīng)發(fā)生數(shù)量;
Kibana:是一個為Logstash和ElasticSearch提供的日志分析的Web接口。可使用它對日志進行高效的搜索、可視化、分析等各種操作;
Monit:是一款功能非常豐富的進程、文件、目錄和設(shè)備的監(jiān)測軟件,用于Unix平臺。 它可以自動修復(fù)那些已經(jīng)停止運作的程序,適合處理那些由于多種原因?qū)е碌能浖e誤;
Metrics:這并不是Java庫,而是基于Go的一個輕量級的檢測器;
Graphite:是一個用于采集網(wǎng)站實時信息并進行統(tǒng)計的開源項目,可用于采集多種網(wǎng)站服務(wù)運行狀態(tài)信息;
Ganglia:Ganglia是一個跨平臺可擴展的、高性能計算系統(tǒng)下的分布式監(jiān)控系統(tǒng),如集群和網(wǎng)格;
Server Density:一個跨平臺的監(jiān)控系統(tǒng);
Folsom:Folsom是一款受 Coda Hale's metrics啟發(fā)的、基于Erlang的度量系統(tǒng);
CMB (Cloud Message Bus):是一個高可用、橫向擴展的隊列和通知服務(wù),兼容AWS SQS和SNS;
Glances:是一款用于Linux、BSD的開源命令行系統(tǒng)監(jiān)視工具,它使用Python語言開發(fā),能夠監(jiān)視CPU、負載、內(nèi)存、磁盤I/O、網(wǎng)絡(luò)流量、文件系統(tǒng)、系統(tǒng)溫度等信息。
Uptime:使用Node.js、MongoDB和Twitter Bootstrap開發(fā)的遠程監(jiān)控系統(tǒng);
Icinga:Nagios的擴展版本;
Packetbeat: 是開源應(yīng)用監(jiān)控和包跟蹤系統(tǒng);
Zipkin:是Twitter的一個開源項目,允許開發(fā)者收集Twitter各個服務(wù)上的監(jiān)控數(shù)據(jù),并提供查詢接口;
Dead Man???s Snitch:是一款監(jiān)控Heroku Scheduler、計劃的監(jiān)視工具;
Statsd:是一個Node.js的daemon程序,簡單,輕巧。使用的UDP協(xié)議,可以和Graphite圖片渲染應(yīng)用結(jié)合;
Riemann:一個網(wǎng)絡(luò)監(jiān)控系統(tǒng);
Puppet Dashboard:Puppet Dashboard是一個Web接口,為Puppet提供節(jié)點分類和報告功能,是一個開源的配置管理工具;
jmxtrans:jmxtrans是一款非常強大的工具,使用它可以輕易生成基于json的配置文章,然后再以你想要的格式輸出;
Scales:跟蹤服務(wù)器狀態(tài)和統(tǒng)計指標,使你全面掌握服務(wù)器狀態(tài),還可以發(fā)送指標到Graphite來圖像呈現(xiàn)或者向文件寫入崩潰信息;
Zabbix:是一個基于Web界面的提供分布式系統(tǒng)監(jiān)視以及網(wǎng)絡(luò)監(jiān)視功能的企業(yè)級的開源解決方案;
Graylog 2:Graylog2是一個用來將系統(tǒng)日志syslog保存到MongoDB中的工具。
進程管理
Bouncy:可以作為HTTP路由主機;
Supervisor:是一個客戶端服務(wù)器系統(tǒng),允許用戶監(jiān)控和控制類Unix操作系統(tǒng)上的進程數(shù);
God:由Ruby實現(xiàn)的進程監(jiān)控框架。
服務(wù)發(fā)現(xiàn)
Consul:簡化了分布式環(huán)境中的服務(wù)的注冊和發(fā)現(xiàn)流程,通過HTTP或者DNS接口發(fā)現(xiàn)。支持外部SaaS 提供者等;
etcd:是一個高可用的Key/Value存儲系統(tǒng),主要用于分享配置和服務(wù)發(fā)現(xiàn);
Apache ZooKeeper:是Apache Hadoop的一個子項目,它主要是用來解決分布式應(yīng)用中經(jīng)常遇到的一些數(shù)據(jù)管理問題;
Weave:創(chuàng)建一個虛擬網(wǎng)絡(luò)并連接到部署在多個主機上的Docker容器。
持續(xù)集成和交付
Buildbot:是一個系統(tǒng)的自動化編譯/測試周期需要的軟件,以驗證代碼的變化。通過自動重建和測試每次發(fā)生了變化的東西,在建設(shè)迅速查明之前,減少不必要的失敗;
Cabot:是一個開源,自我托管的監(jiān)控工具;
Jenkins:是基于Java開發(fā)的一種持續(xù)集成工具,用于監(jiān)控持續(xù)重復(fù)的工作;
Hubot:基于腳本具有很高的靈活性,任何人都可以編寫自己的腳本來擴展基本功能;
Hudson:是一個可擴展的持續(xù)集成引擎,主要用于:持續(xù)、自動地構(gòu)建/測試軟件項目、監(jiān)控一些定時執(zhí)行的任務(wù);
CruiseControl.rb:是一個持續(xù)集成服務(wù)器,它可以讓團隊里的每個人隨時了解項目的健康狀況和進度;
OpsBot:是一個開源的、可插入的改善通信的機器人。
希望這些工具能夠給開發(fā)者帶來實實在在的幫助,想要查看更多工具,大家可以 訪問原文,原文中的工具列表會持續(xù)更新。
后,再跟大家分享一個 DevOps BookMarks,這里面涉及了DevOps方方面面的工具和內(nèi)容,有興趣的同學(xué)可以前去學(xué)習(xí)。
本文來自: ZEEF
本站文章版權(quán)歸原作者及原出處所有 。內(nèi)容為作者個人觀點, 并不代表本站贊同其觀點和對其真實性負責(zé),本站只提供參考并不構(gòu)成任何投資及應(yīng)用建議。本站是一個個人學(xué)習(xí)交流的平臺,網(wǎng)站上部分文章為轉(zhuǎn)載,并不用于任何商業(yè)目的,我們已經(jīng)盡可能的對作者和來源進行了通告,但是能力有限或疏忽,造成漏登,請及時聯(lián)系我們,我們將根據(jù)著作權(quán)人的要求,立即更正或者刪除有關(guān)內(nèi)容。本站擁有對此聲明的最終解釋權(quán)。