新聞中心
linux常用的監(jiān)控軟件有哪些
這個使用ASCII碼顯示方式的命令行工具是一個顯示所有進程活動的性能監(jiān)控工具。它可以展示每日的系統(tǒng)日志以進行長期的進程活動分析,并高亮顯示過載的系統(tǒng)使用資源。它包含了CPU,內(nèi)存,交換空間,磁盤和網(wǎng)絡層的度量指標。所有這些功能只需在終端運行atop即可。
我們提供的服務有:網(wǎng)站設計、成都做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、懷安ssl等。為上千余家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的懷安網(wǎng)站制作公司
# atop
普羅米修斯監(jiān)控主機數(shù)量不超過
Cacti(英文含義為仙人掌〉是一套基于 PHP、MySQL、SNMP和 RRDtool開發(fā)的網(wǎng)絡流量監(jiān)測圖形分析工具。
它通過snmpget來獲取數(shù)據(jù),使用RRDTool繪圖,但使用者無須了解RRDTool復雜的參數(shù)。它提供了非常強大的數(shù)據(jù)和用戶管理功能,可以指定每一個用戶能查看樹狀結構、主機設備以及任何一張圖,還可以與LDAP 結合進行用戶認證,同時也能自定義模板,在歷史數(shù)據(jù)的展示監(jiān)控方面,其功能相當不錯。
Cacti通過添加模板,使不同設備的監(jiān)控添加具有可復用性,并且具備可自定義繪圖的功能,具有強大的運算能力(數(shù)據(jù)的疊加功能)
1.2Nagios
Nagios是一款開源的免費網(wǎng)絡監(jiān)視工具,能有效監(jiān)控windows、Linux和Unix的主機狀態(tài),交換機、打印機、路由器等網(wǎng)絡設備。在系統(tǒng)或服務狀態(tài)異常時發(fā)出郵件或短信報警第一時間通知網(wǎng)站運維人員,在狀態(tài)恢復后發(fā)出正常的郵件或短信通知。
nagios主要的特征是監(jiān)控告警,最強大的就是告警功能,可支持多種告警方式,但缺點是沒有強大的數(shù)據(jù)收集機制,并且數(shù)據(jù)出圖也很簡陋,當監(jiān)控的主機越來越多時,添加主機也非常麻煩,配置文件都是基于文本配置的,不支持web方式管理和配置,這樣很容易出錯,不宜維護。
1.3Zabbix
zabbix是一個基于WEB界面的提供分布式系統(tǒng)監(jiān)視以及網(wǎng)絡監(jiān)視功能的企業(yè)級的開源解決方案。zabbix能監(jiān)視各種網(wǎng)絡參數(shù),保證服務器系統(tǒng)的安全運營;并提供強大的通知機制以讓系統(tǒng)運維人員快速定位/解決存在的各種問題。
zabbix由2部分構成,zabbix server與可選組件zabbix agent。zabbix server可以通過SNMP,zabbix,agent,ping,端口監(jiān)視等方法提供對遠程服務器/網(wǎng)絡狀態(tài)的監(jiān)視,數(shù)據(jù)收集等功能,它可以運行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,os x等平臺上。
zabbix解決了cacti沒有告警的不足,也解決了nagios不能通過web配置的缺點,同時還支持分布式部署,這使得它迅速流行起來,zabbix也成為目前中小企業(yè)監(jiān)控最流行的運維監(jiān)控平臺。當然,zabbix也有不足之處,它消耗的資源比較多,如果監(jiān)控的主機非常多時(服務器數(shù)量超過500臺),可能會出現(xiàn)監(jiān)控超時、告警超時、告警系統(tǒng)單點故障等現(xiàn)象,不過也有很多解決辦法,比如提高硬件性能、改變zabbix監(jiān)控模式等。
① agent代理:專門的代理服務方式進行監(jiān)控,專屬的協(xié)議,裝有zabbix-agent的主機就可以被zabbix-server監(jiān)控,主
動或被動的方式,把數(shù)據(jù)給到server進行處理。
② ssh/telent:linux主機支持ssh/telent協(xié)議
③ snmp:網(wǎng)絡設備路由器、交換機不能安裝第三方程序(agent),使用簡單網(wǎng)絡協(xié)議。大多數(shù)的路由器設備支持SNMP協(xié)議
④ ipmi:通過ipmi接口進行監(jiān)控,我們可以通過標準的ipmi硬件接口,監(jiān)控被監(jiān)控對象的物理特征,比如電壓,溫度,
風扇狀態(tài)電源情況,被廣泛使用服務監(jiān)控中,包括采集cpu溫度,風扇轉速,主板溫度,及遠程開關機等等,而且ipmi獨立于硬件和操作系統(tǒng),無論是cpu,bios還是os出現(xiàn)故障,都不會影響ipmi的工作,因為ipmi的硬件設備BMC(bashboard management controller)是獨立的板卡,獨立供電
⑤ zabbix核心組件介紹
Zabbix Server:
Zabbix軟件實現(xiàn)監(jiān)控的核心程序,主要功能是與Zabbixproxies和Agents進行交互、觸發(fā)器計算、發(fā)送告警通知;并將數(shù)據(jù)集中保存。與prometheus的類似可以保存收集到的數(shù)據(jù),但是prometheus告警需要使用altermanager組件
Database storage:
存儲配置信息以及收集到的數(shù)據(jù)
web Interface:
Zabbix的GUI接口,通常與server運行在同一臺機器上
Proxy:
可選組件,常用于分布式監(jiān)控環(huán)境中,一個幫助zabbix Server收集數(shù)據(jù),分擔zabbix Server的負載的程序
Agent:
部署在被監(jiān)控主機上,負責收集數(shù)據(jù)發(fā)送給server
1.5Prometheus
borg.kubernetes
borgmon(監(jiān)控系統(tǒng)) 對應克隆的版本:prometheus(go語言)
所以prometheus 特別適合K8S 的架構上
而作為一個數(shù)據(jù)監(jiān)控解決方案,它由一個大型社區(qū)支持,有來自700多家公司的6300個貢獻者,13500個代碼提交和7200個拉取請求
Prometheus具有以下特性:
① 多維的數(shù)據(jù)模型(基于時間序列的Key、value鍵值對)
② 靈活的查詢和聚合語言PromQL(難)
③ 提供本地存儲和分布式存儲
④ 通過基于HTTP和HTTPS的Pull模型采集時間序列數(shù)據(jù)(pull數(shù)據(jù)的拉取,時間序列:每段
時間點的數(shù)據(jù)值指標,持續(xù)性的產(chǎn)生。橫軸標識時間,縱軸為數(shù)據(jù)值,一段時間內(nèi)數(shù)值的動態(tài)變化,所有的點連線形成大盤式的折線圖)
⑤ 可利用Pushgateway (Prometheus的可選中間件)實現(xiàn)Push模式
⑥ 可通過動態(tài)服務發(fā)現(xiàn)或靜態(tài)配置發(fā)現(xiàn)目標機器(通過consul自動發(fā)現(xiàn)和收縮)
⑦ 支持多種圖表和數(shù)據(jù)大盤
open-Falcaon是小米開源的企業(yè)級監(jiān)控工具,用GO語言開發(fā),包括小米、滴滴、美團等在內(nèi)的互聯(lián)網(wǎng)公司都在使用它,是一款靈活、可拓展并且高性能的監(jiān)控方案。
Go語言的應用
Go語言由Google公司開發(fā),并于2009年開源,相比Java/Python/C等語言,Go尤其擅長并發(fā)編程,性能堪比C語言,開發(fā)效率肩比Python,被譽為“21世紀的C語言”。
Go語言在云計算、大數(shù)據(jù)、微服務、高并發(fā)領域應用應用非常廣泛。BAT大廠正在把Go作為新項目開發(fā)的首選語言。
Go語言應用范圍:
1、服務端開發(fā):以前你使用C或者C++做的那些事情,用Go來做很合適,例如日志處理、文件系統(tǒng)、監(jiān)控系統(tǒng)等;
2、DevOps:運維生態(tài)中的Docker、K8s、prometheus、grafana、open-falcon等都是使用Go語言開發(fā);
3、網(wǎng)絡編程:大量優(yōu)秀的Web框架如Echo、Gin、Iris、beego等,而且Go內(nèi)置的 net/http包十分的優(yōu)秀;
4、Paas云平臺領域:Kubernetes和Docker Swarm等;
5、分布式存儲領域:etcd、Groupcache、TiDB、Cockroachdb、Influxdb等;
6、區(qū)塊鏈領域:區(qū)塊鏈里面有兩個明星項目以太坊和fabric都使用Go語言;
7、容器虛擬化:大名鼎鼎的Docker就是使用Go語言實現(xiàn)的;
8、爬蟲及大數(shù)據(jù):Go語言天生支持并發(fā),所以十分適合編寫分布式爬蟲及大數(shù)據(jù)處理。
go語言現(xiàn)在很重要么??
Go作為Google2009年推出的語言,其被設計成一門應用于搭載 Web 服務器,存儲集群或類似用途的巨型中央服務器的系統(tǒng)編程語言。
對于高性能分布式系統(tǒng)領域而言,Go 語言無疑比大多數(shù)其它語言有著更高的開發(fā)效率。它提供了海量并行的支持,這對于 游戲 服務端的開發(fā)而言是再好不過了。
到現(xiàn)在Go的開發(fā)已經(jīng)是完全開放的,并且擁有一個活躍的社區(qū)。
=================================
哪些大公司在使用Go語言:
1、Google
這個不用多做介紹,作為開發(fā)Go語言的公司,當仁不讓。Google基于Go有很多優(yōu)秀的項目,比如: ,大家也可以在Github上 查看更多Google的Go開源項目。
2、Facebook
Facebook也在用,為此他們還專門在Github上建立了一個開源組織facebookgo,大家可以通過 訪問查看facebook開源的項目,比如著名的是平滑升級的grace。
3、騰訊
騰訊作為國內(nèi)的大公司,還是敢于嘗試的,尤其是Docker容器化這一塊,他們在15年已經(jīng)做了docker萬臺規(guī)模的實踐,具體可以參考
4、百度
目前所知的百度的使用是在運維這邊,是百度運維的一個BFE項目,負責前端流量的接入。他們的負責人在2016年有分享,大家可以看下這個
5、阿里
阿里巴巴具體的項目不太清楚,不過聽說其系統(tǒng)部門、CDN等正在招Go方面的人。
6、京東
京東云消息推送系統(tǒng)、云存儲,以及京東商城等都有使用Go做開發(fā)。
7、小米
小米對Golang的支持,莫過于運維監(jiān)控系統(tǒng)的開源,也就是
此外,小米互娛、小米商城、小米視頻、小米生態(tài)鏈等團隊都在使用Golang。
8、360
360對Golang的使用也不少,一個是開源的日志搜索系統(tǒng)Poseidon,托管在Github上,
==================================
Go適合做什么?為何這么多人偏愛Go語言?
Go強大的開發(fā)團隊
1、自由高效:組合的思想、無侵入式的接口
Go語言可以說是開發(fā)效率和運行效率二者的完美融合,天生的并發(fā)編程支持。Go語言支持當前所有的編程范式,包括過程式編程、面向對象編程以及函數(shù)式編程。程序員們可以各取所需、自由組合、想怎么玩就怎么玩。
2、強大的標準庫
這包括互聯(lián)網(wǎng)應用、系統(tǒng)編程和網(wǎng)絡編程。Go里面的標準庫基本上已經(jīng)是非常穩(wěn)定了,特別是我這里提到的三個,網(wǎng)絡層、系統(tǒng)層的庫非常實用。
3、部署方便:二進制文件、Copy部署
我相信這一點是很多人選擇Go的最大理由,因為部署太方便了,所以現(xiàn)在也有很多人用Go開發(fā)運維程序。
4、簡單的并發(fā)
它包含了降低心智的并發(fā)和簡易的數(shù)據(jù)同步,我覺得這是Go最大的特色。之所以寫正確的并發(fā)、容錯和可擴展的程序如此之難,是因為我們用了錯誤的工具和錯誤的抽象,Go可以說這一塊做的相當簡單。
5、穩(wěn)定性
Go擁有強大的編譯檢查、嚴格的編碼規(guī)范和完整的軟件生命周期工具,具有很強的穩(wěn)定性,穩(wěn)定壓倒一切。那么為什么Go相比于其他程序會更穩(wěn)定呢?這是因為Go提供了軟件生命周期(開發(fā)、測試、部署、維護等等)的各個環(huán)節(jié)的工具,如go tool、gofmt、go test。
================================
我們?yōu)槭裁催x擇GO語言
選擇GO語言,主要是基于兩方面的考慮
1. 執(zhí)行性能 縮短API的響應時長,解決批量請求訪問超時的問題。在Uwork的業(yè)務場景下,一次API批量請求,往往會涉及對另外接口服務的多次調(diào)用,而在之前的PHP實現(xiàn)模式下,要做到并行調(diào)用是非常困難的,串行處理卻不能從根本上提高處理性能。而GO語言不一樣,通過協(xié)程可以方便的實現(xiàn)API的并行處理,達到處理效率的最大化。 依賴Golang的高性能HTTP Server,提升系統(tǒng)吞吐能力,由PHP的數(shù)百級別提升到數(shù)千里甚至過萬級別。
2. 開發(fā)效率 GO語言使用起來簡單、代碼描述效率高、編碼規(guī)范統(tǒng)一、上手快。 通過少量的代碼,即可實現(xiàn)框架的標準化,并以統(tǒng)一的規(guī)范快速構建API業(yè)務邏輯。 能快速的構建各種通用組件和公共類庫,進一步提升開發(fā)效率,實現(xiàn)特定場景下的功能量產(chǎn)。
Go語言近兩年的發(fā)展速度還是非??斓?,一方面Go語言有強大的行業(yè)背書,另一方面Go語言在設計時充分考慮了當前的編程環(huán)境,加強了大數(shù)據(jù)量、高并發(fā)等應用場景的處理能力,強調(diào)編程語言自身對于處理性能的追求,相信Go語言在未來大數(shù)據(jù)和人工智能相關技術逐漸落地應用的背景下,會有一個較為廣闊的發(fā)展空間。
網(wǎng)站標題:go語言寫監(jiān)控系統(tǒng) go語言控制臺輸入
網(wǎng)頁URL:http://fisionsoft.com.cn/article/hgojee.html