十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
看到有人寫透視寶做php監(jiān)控的原理圖,跟你分享下。我估計(jì)大家做的方式都是差不多。
創(chuàng)新互聯(lián)建站是專業(yè)的將樂網(wǎng)站建設(shè)公司,將樂接單;提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行將樂網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
PHP運(yùn)行支撐的ZendEngine早在設(shè)計(jì)過程中已經(jīng)預(yù)留了豐富的Hook,可以有效干涉處理過程中的幾個(gè)關(guān)鍵步驟。利用了以下幾個(gè)Hook,就能方便的獲取數(shù)據(jù):
1. ? ? ? ? ? zend_compile_file zend_compile_string
加載分析文件或字符串,本身就會(huì)造成非常大的IO,如果過多地執(zhí)行加載,無疑會(huì)造成內(nèi)存和CPU的消耗.通過這兩個(gè)hook,可以取得文件名、執(zhí)行行數(shù)、使用內(nèi)存和CPU占用時(shí)間。
2.???????????zend_execute zend_execute_internal
通過這兩個(gè)hook的使用,我們可以準(zhǔn)確地分析得出一個(gè)PHP應(yīng)用中的類調(diào)用、方法調(diào)用、方法參數(shù)、內(nèi)存占用和CPU占用,加以分析,便可以準(zhǔn)確得出應(yīng)用系統(tǒng)運(yùn)行過程中的方法運(yùn)行棧,API調(diào)用地址,SQL語句,CacheKey以及Cache命中等關(guān)鍵信息。
3.???????????zend_throw_exception_hook
利用異常鉤子,可以準(zhǔn)確地得到應(yīng)用系統(tǒng)運(yùn)行過程中出現(xiàn)的異常信息,當(dāng)然包括異常發(fā)生的類\方法位置,參數(shù),異常code和異常message。
4.???????????zend_error_cb
錯(cuò)誤鉤子則更加直接,可以準(zhǔn)確得到系統(tǒng)運(yùn)行過程中出現(xiàn)的任何一個(gè)warning,代碼錯(cuò)誤或語法錯(cuò)誤。
不需要做開發(fā),一般監(jiān)控視頻設(shè)備可以設(shè)置一個(gè)播放地址, 可能是 HLS/M3U8/FLV等直播地址,在網(wǎng)頁里只需要讀取和播放,當(dāng)然這個(gè)播放地址在監(jiān)控器里一般會(huì)有設(shè)置密碼查看,所以就算知道視頻地址還要知道密碼才能查看,還是很安全的。
所以監(jiān)控視頻設(shè)備要在外網(wǎng)查看,那連接的網(wǎng)線需要有外網(wǎng)能力。
你好樓主;
1、Ganglia是伯克利開發(fā)的一個(gè)集群監(jiān)控軟件??梢员O(jiān)視和顯示集群中的節(jié)點(diǎn)的各種狀態(tài)信息,比如如:cpu 、mem、硬盤利用率, I/O負(fù)載、網(wǎng)絡(luò)流量情況等,
2、Cacti是一套基于PHP,MySQL,SNMP及RRDTool開發(fā)的網(wǎng)絡(luò)流量監(jiān)測圖形分析工具。
3、Zenoss Core是開源企業(yè)級IT管理軟件-是智能監(jiān)控軟件,他允許IT管理員依靠單一的WEB控制臺來監(jiān)控網(wǎng)絡(luò)架構(gòu)的狀態(tài)和健康度。Zenoss Core同時(shí)也是開源的網(wǎng)絡(luò)與系統(tǒng)管理軟件。
4、Argus 是一個(gè)網(wǎng)絡(luò)連接監(jiān)控器,可以利用它來定制監(jiān)控網(wǎng)絡(luò)中符合某種條件的計(jì)算機(jī),例如網(wǎng)絡(luò)空閑、斷開等。
5、 Monit是一款功能非常豐富的進(jìn)程、文件、目錄和設(shè)備的監(jiān)測軟件,用于Unix平臺。它可以自動(dòng)修復(fù)那些已經(jīng)停止運(yùn)作的程序,特使適合處理那些由于多種原因?qū)е碌能浖e(cuò)誤。
6、Nagios是一個(gè)監(jiān)視系統(tǒng)運(yùn)行狀態(tài)和網(wǎng)絡(luò)信息的監(jiān)視系統(tǒng)。Nagios能監(jiān)視所指定的本地或遠(yuǎn)程主機(jī)以及服務(wù),同時(shí)提供異常通知功能等
7、collectd是一個(gè)守護(hù)(daemon)進(jìn)程,用來收集系統(tǒng)性能和提供各種存儲(chǔ)方式來存儲(chǔ)不同值的機(jī)制。比如以RRD 文件形式。
8、Fiddler是最強(qiáng)大最好用的Web調(diào)試工具之一,它能記錄所有客戶端和服務(wù)器的http和https請求,允許你監(jiān)視,設(shè)置斷點(diǎn),甚至修改輸入輸出數(shù)據(jù),F(xiàn)iddler包含了一個(gè)強(qiáng)大的基于事件腳本的子系統(tǒng),并且能使用.net語言進(jìn)行擴(kuò)展
9、網(wǎng)絡(luò)嗅探器/數(shù)據(jù)包捕獲網(wǎng)絡(luò)取證分析工具(NFAT),它可以檢測網(wǎng)絡(luò)上的流量,會(huì)話,主機(jī)名,操作系統(tǒng)的開放端口等。 NetworkMiner也可以解析PCAP文件進(jìn)行離線分析,同時(shí),NetworkMiner還可以提取網(wǎng)絡(luò)流量的傳輸?shù)奈募?/p>
10、Pandora FMS(靈活監(jiān)控系統(tǒng))是一種小型和大型系統(tǒng)環(huán)境(一個(gè)服務(wù)器2000節(jié)點(diǎn))的可用性和性能監(jiān)視系統(tǒng)。對于本地系統(tǒng),該軟件使用代理來監(jiān)視Linux, Solaris, FreeBSD, MAC OS X, Windows和AIX平臺上的數(shù)值參數(shù),布爾狀態(tài)或字符串。使用者可以用Shellscript, WSH, Perl 或 C創(chuàng)建代理。 可通過SNMP v3, TCP檢查和遠(yuǎn)程WMI探測來進(jìn)行遠(yuǎn)程網(wǎng)絡(luò)監(jiān)視。 數(shù)據(jù)報(bào)告基于Pandora自己的SQL后臺,且可在配置的屏幕上顯示。
11、Observium是一個(gè)可自動(dòng)發(fā)現(xiàn)網(wǎng)絡(luò)中的Cisco設(shè)備和Linux系 統(tǒng)的網(wǎng)絡(luò)監(jiān)控工具,而是包括了主要的網(wǎng)絡(luò)硬件和操作系統(tǒng)的廣泛支持。
12、EasyNetMonitor是一款非常有用的免費(fèi)網(wǎng)絡(luò)監(jiān) 視工具,無需安裝。軟件默認(rèn)會(huì)每10秒鐘ping一次網(wǎng)站,如果網(wǎng)站運(yùn)作正常,也就是有響應(yīng)的話,系統(tǒng)托盤的監(jiān)測狀態(tài)會(huì)顯示綠燈,如果是沒響應(yīng)的話則是顯 示紅燈。要修改或是刪除監(jiān)測的網(wǎng)站,在地球小圖標(biāo)上點(diǎn)擊右鍵,選擇監(jiān)測網(wǎng)址子菜單的 Edit 或是 Delete就行!
13、Colasoft Capsa Free是一個(gè)功能強(qiáng)大的程序,成功地處理與網(wǎng)絡(luò)分析,向您提供用于故障診斷和監(jiān)測的信息。它為用戶提供豐富的經(jīng)驗(yàn),若要了解如何監(jiān)視網(wǎng)絡(luò)活動(dòng),查明網(wǎng)絡(luò)問題,增強(qiáng)網(wǎng)絡(luò)安全性等。
望采納!
1、Ganglia
是一個(gè)集群監(jiān)控軟件,可以監(jiān)視和顯示集群中的節(jié)點(diǎn)的各種狀態(tài)信息,比如:CPU、mem、硬盤利用率、I/O負(fù)載、網(wǎng)絡(luò)流量情況等,同時(shí)可以將歷史數(shù)據(jù)以曲線方式通過php頁面呈現(xiàn),此軟件主要是用來監(jiān)控系統(tǒng)性能的軟件,通過曲線可以很容易見到每個(gè)節(jié)點(diǎn)的工作狀態(tài),對合理調(diào)整、分配系統(tǒng)資源,提高系統(tǒng)整體性能起到重要作用。
它是分布式的監(jiān)控系統(tǒng),有兩個(gè)Daemon,是一個(gè)Linux下圖形化監(jiān)控系統(tǒng)運(yùn)行性能的軟件,界面美觀、豐富,功能強(qiáng)大。
RRDtool是系統(tǒng)存放和顯示time-series (即網(wǎng)絡(luò)帶寬、溫度、人數(shù)、服務(wù)器負(fù)載等) 。并且它提出有用的圖表由處理數(shù)據(jù)強(qiáng)制執(zhí)行有些數(shù)據(jù)密度。
2、Cacti
是一套基于PHP、MySQL、SNMP及RRDTool開發(fā)的網(wǎng)絡(luò)流量監(jiān)測圖形分析工具,通過snmpget來獲取數(shù)據(jù),使用RRDTool繪畫圖形,提供了非常強(qiáng)大的數(shù)據(jù)和用戶管理功能,可以指定每一個(gè)用戶能查看樹狀結(jié) 構(gòu)、host以及任何一張圖,還可以與LDAP結(jié)合進(jìn)行用戶驗(yàn)證,同時(shí)也能自己增加模板,功能非常強(qiáng)大完善。
cacti是用php語言實(shí)現(xiàn)的一個(gè)軟件,它的主要功能是用snmp服務(wù)獲取數(shù)據(jù),然后用rrdtool儲(chǔ)存和更新數(shù)據(jù),當(dāng)用戶需要查看數(shù)據(jù)的時(shí)候用rrdtool生成圖表呈現(xiàn)給用戶。因此,snmp和rrdtool是cacti的關(guān)鍵。
3、Zenoss
是一款智能監(jiān)控軟件,允許IT管理員依靠單一的WEB控制臺來監(jiān)控網(wǎng)絡(luò)架構(gòu)的狀態(tài)和健康度。Zenoss Core同時(shí)也是開源的網(wǎng)絡(luò)與系統(tǒng)管理軟件。
Zenoss提供功能豐富的產(chǎn)品,以監(jiān)測整個(gè)IT基礎(chǔ)設(shè)施:
網(wǎng)絡(luò) -路由器,交換機(jī),防火墻,接入點(diǎn);
服務(wù)器 -微軟的Windows , Linux , Unix系統(tǒng),惠普, NetApp,戴爾;
虛擬化 -完整虛擬機(jī)虛擬化基礎(chǔ)架構(gòu)( VI3 )管理, XenSource監(jiān)測;
應(yīng)用領(lǐng)域 -Process(程序),Port,網(wǎng)絡(luò)應(yīng)用服務(wù), Web服務(wù),數(shù)據(jù)庫,中間件,商業(yè)企業(yè)應(yīng)用方案 ;
4、Argus
是一個(gè)網(wǎng)絡(luò)連接監(jiān)控器,可以利用它來定制監(jiān)控網(wǎng)絡(luò)中符合某種條件的計(jì)算機(jī),例如網(wǎng)絡(luò)空閑、斷開等。
5、Monit
是一款功能非常豐富的進(jìn)程、文件、目錄和設(shè)備的監(jiān)測軟件,用于UNIX平臺,可以自動(dòng)修復(fù)那些已經(jīng)停止運(yùn)行的程序,適合處理那些由于多種原因?qū)е碌能浖e(cuò)誤。
6、Nagios
是一個(gè)監(jiān)視系統(tǒng)運(yùn)行狀態(tài)和網(wǎng)絡(luò)信息的監(jiān)視系統(tǒng),能監(jiān)視所指定的本地或遠(yuǎn)程主機(jī)以及服務(wù),同時(shí)提供異常通知功能等Nagios可運(yùn)行在Linux/Unix平臺之上,同時(shí)提供一個(gè)可選的基于瀏覽器的WEB界面以方便系統(tǒng)管理人員查看網(wǎng)絡(luò)狀態(tài),各種系統(tǒng)問題,以及日志等等。
Nagios的主要功能特點(diǎn):
監(jiān)視網(wǎng)絡(luò)服務(wù)(SMTP、POP3、HTTP、NNTP、PING等);
監(jiān)視主機(jī)資源(進(jìn)程、磁盤等);
簡單的插件設(shè)計(jì)可以輕松擴(kuò)展Nagios的監(jiān)視功能;
服務(wù)等監(jiān)視的并發(fā)處理;
錯(cuò)誤通知功能(通過email、pager或其他用戶自定義的方法)。
首先介紹下 pt-stalk,它是 Percona-Toolkit 工具包中的一個(gè)工具,說起 PT 工具包大家都不陌生,平時(shí)常用的 pt-query-digest、 pt-online-schema-change 等工具都是出自于這個(gè)工具包,這里就不多介紹了。
pt-stalk 的主要功能是在出現(xiàn)問題時(shí)收集 OS 及 MySQL 的診斷信息,這其中包括:
1. OS 層面的 CPU、IO、內(nèi)存、磁盤、網(wǎng)絡(luò)等信息;
2. MySQL 層面的行鎖等待、會(huì)話連接、主從復(fù)制,狀態(tài)參數(shù)等信息。
而且 pt-stalk 是一個(gè) Shell腳本,對于我這種看不懂 perl 的人來說比較友好,腳本里面的監(jiān)控邏輯與監(jiān)控命令也可以拿來參考,用于構(gòu)建自己的監(jiān)控體系。
三、使用
接著我們來看下如何使用這個(gè)工具。
pt-stalk 通常以后臺服務(wù)形式監(jiān)控 MySQL 并等待觸發(fā)條件,當(dāng)觸發(fā)條件時(shí)收集相關(guān)診斷數(shù)據(jù)。
觸發(fā)條件相關(guān)的參數(shù)有以下幾個(gè):
function:
°?默認(rèn)為 status,代表監(jiān)控 SHOW GLOBAL STATUS 的輸出;
°?也可以設(shè)置為 processlist,代表監(jiān)控 show processlist 的輸出;
variable:
°?默認(rèn)為 Threads_running,代表 監(jiān)控參數(shù),根據(jù)上述監(jiān)控輸出指定具體的監(jiān)控項(xiàng);
threshold:
°?默認(rèn)為 25,代表 監(jiān)控閾值,監(jiān)控參數(shù)超過閾值,則滿足觸發(fā)條件;
°?監(jiān)控參數(shù)的值非數(shù)字時(shí),需要配合 match 參數(shù)一起使用,如 processlist 的 state 列;
cycles:
°?默認(rèn)為 5,表示連續(xù)觀察到五次滿足觸發(fā)條件時(shí),才觸發(fā)收集;
連接參數(shù):host、password、port、socket。
其他一些重要參數(shù):
iterations:該參數(shù)指定 pt-stalk 在觸發(fā)收集幾次后退出,默認(rèn)會(huì)一直運(yùn)行。
run-time:觸發(fā)收集后,該參數(shù)指定收集多長時(shí)間的數(shù)據(jù),默認(rèn) 30 秒。
sleep:該參數(shù)指定在觸發(fā)收集后,sleep 多久后繼續(xù)監(jiān)控,默認(rèn) 300 秒。
interval:指定狀態(tài)參數(shù)的檢查頻率,判斷是否需要觸發(fā)收集,默認(rèn) 1 秒。
dest:監(jiān)控?cái)?shù)據(jù)存放路徑,默認(rèn)為 /var/lib/pt-stalk。
retention-time :監(jiān)控?cái)?shù)據(jù)保留時(shí)長,默認(rèn) 30 天。
daemonize:以后臺服務(wù)運(yùn)行,默認(rèn)不開啟。
log:后臺運(yùn)行日志,默認(rèn)為 /var/log/pt-stalk.log。
collect:觸發(fā)發(fā)生時(shí)收集診斷數(shù)據(jù),默認(rèn)開啟。
°?collect-gdb:收集 GDB 堆棧跟蹤,需要 gdb 工具。
°?collect-strace:收集跟蹤數(shù)據(jù),需要 strace 工具。
°?collect-tcpdump:收集 tcpdump 數(shù)據(jù),需要 tcpdump 工具。
常用的有:
1.cactio
實(shí)際上cacti不是監(jiān)控工具,而是個(gè)依賴于SNMP的數(shù)據(jù)采集和數(shù)據(jù)呈現(xiàn)的工具。但是很多人喜歡用來當(dāng)監(jiān)控(因?yàn)槠涔δ芸梢院芎玫耐瓿蛇@個(gè)工作)
功能:數(shù)據(jù)采集、 保存數(shù)據(jù)[SQL, txt].
數(shù)據(jù)展示(rrdtool 繪圖)。
數(shù)據(jù)分析和報(bào)警(很一般)。
2. nagios。
功能:數(shù)據(jù)報(bào)警(報(bào)警功能是Nagios的特色功能) [ 故障觸發(fā),故障恢復(fù)都可以。
依賴分析報(bào)警(能自動(dòng)的識別到關(guān)鍵設(shè)備的故障,關(guān)聯(lián)設(shè)備不會(huì)報(bào)警)。
數(shù)據(jù)采集(采集的數(shù)據(jù)是弱項(xiàng),他只關(guān)心警戒位,只關(guān)心正常與否的狀態(tài),狀態(tài)轉(zhuǎn)換時(shí)可以實(shí)現(xiàn)報(bào)警,所以它采集的數(shù)據(jù)不需要保存),當(dāng)然也有插件彌補(bǔ)這個(gè)不足,如PNP4Nagios。
3. zabbix (php)(推薦)
Nagiostcacti整合互相彌補(bǔ)不足!I
nagios和 cacti不適合超大規(guī)模的監(jiān)控、由于大規(guī)模的帶寬和網(wǎng)絡(luò)限制,會(huì)導(dǎo)致監(jiān)控的延遲等問題,所以有很多是 nagios+ cacti整合,但是依然不適合在大規(guī)模的環(huán)境中,不適合分布式部署, Nagios在大規(guī)模中就會(huì)出現(xiàn)延遲,失
去 Nagios本事的特色。
那么 zabbix同時(shí)整合了 cacti和 Nagios特點(diǎn)的工具,而且還具有了前兩者不具有的工具,支持分布式等等。
4. 補(bǔ)充工具:
netdata:托管在github上的一款類型zabbix的開源監(jiān)控工具h(yuǎn)ttps:/
/github. com/firehol/netdata
open- falcon:小米公司開源的企業(yè)級監(jiān)控工具(python)(推薦)
Ganglia類似于 zabbix,大型分布式監(jiān)控系統(tǒng)
開源監(jiān)控工具對比
5. 監(jiān)控軟件數(shù)據(jù)采集的方式
SNMP 協(xié)議。
agent 代理的方式去采集數(shù)據(jù)。
shell 腳本api 接口
6. 數(shù)據(jù)展示方式
php html app
7. 數(shù)據(jù)告警
mail,msm,微信,電話,釘釘機(jī)器人