nagios資料庫
『壹』 prometheus比zabbix好在哪點
Prometheus由Go語言開發,是一套開源的監控、報警、時間序列資料庫的組合,適合監控docker容器。因為K8S的流行帶動了Prometheus的發展,它可以監控主機、服務、容器。
時間序列數據:按照時間順序記錄系統、設備狀態變化的數據被稱為時序數據。這種時序數據,會應用到很多場景,比如:系統日誌、無人駕駛車輛運行記錄、證券行業實時交易數據等。
時間序列資料庫優勢
性能好:關系型資料庫對於大規模數據的處理性能槽糕,NOsql可以比較好的處理大規模數據,但依然比不上時間序列資料庫。
存儲成本低:高效的壓縮演算法,節省存儲空間,有效降低IO。
Prometheus有著非常高效的時間序列數據存儲方法,每個采樣數據僅僅佔用3.5byte左右空間,上百萬條時間序列,30秒間隔,保留60天,大概花了200多G的空間。
Prometheus的主要特徵
1、多維度數據模型;
2、靈活的查詢語言;
3、不依賴分布式存儲,單個伺服器節點是自主的;
4、以HTTP方式,通過pull模型拉取時間序列數據;
5、可以通過中間網關支持push模型;
6、通過服務發現或者靜態配置,來發現目標服務對象;
7、支持多種多樣的圖表和界面展示,可以使用第三方的工具來展示內容,比如:grafana。
Prometheus監控原理
Prometheus Server負責定時在目標上抓取metrics數據;每個抓取目標都需要暴露一個HTTP服務介面用於Prometheus定時抓取。也就是說Prometheus會將獲取到的監控數據打包成一個可訪問的web頁面,通過訪問指定的url來確定主機的狀態。
『貳』 新手做linux運維需要學哪些知識
1、Linux系統基礎
嚴格的來講,Linux 不算是一個操作系統,只是一個 Linux 系統中的內核,即計算機軟體與硬體通訊之間的平台;Linux的全稱是GNU/Linux,這才算是一個真正意義上的Linux系統。GNU是Richard Stallman組織的一個項目,世界各地的程序員可以變形GNU程序,同時遵循GPL協議,允許任何人任意改動。但是,修改後的程序必須遵循GPL協議。
Linux 是一個多用戶多任務的操作系統,也是一款自由軟體,完全兼容POSIX標准,擁有良好的用戶界面,支持多種處理器架構,移植方便。
為程序分配系統資源,處理計算機內部細節的軟體叫做操作系統或者內核。如果你希望詳細了解操作系統的概念,請查看操作系統教程。
用戶通過Shell與Linux內核交互。Shell是一個命令行解釋工具(是一個軟體),它將用戶輸入的命令轉換為內核能夠理解的語言(命令)。
2、網路服務
服務有很多種,每間公司都會用到不同的,但基礎的服務肯定要掌握,如FTP, DNS,SAMBA, 郵件, 這幾個大概學一下就行。
其實網路服務方面不用太擔心,一般公司的環境都已經搭建好,就算有新伺服器或讓你整改,公司會有相應的文檔讓你參照來弄,不會讓你亂來的,但至少相關的配置一定要學熟,而且肯定是編譯安裝多,那些模塊要熟悉一下他的作用,特別是php那些模塊。
這面2點只是基礎,也是必要條件,不能說是工具,下以才是真正的要掌握的工具。
3、shell腳本和另一個腳本語言
shell是運維人員必須具備的,不懂這個連入職都不行,至少也要寫出一些系統管理腳本,最簡單也得寫個監控CPU,內存比率的腳本吧,這是最最最基本了。別以為會寫那些猜數字和計算什麼數的,這些沒什麼作用,只作學習意義,寫系統腳本才是最有意義。
Shell是系統的用戶界面,提供了用戶與內核進行交互操作的一種介面。它接收用戶輸入的命令並把它送入內核去執行 。
實際上Shell是一個命令解釋器,它解釋由用戶輸入的命令並且把它們送到內核。不僅如此,Shell有自己的編程語言用於對命令的編輯,它允許用戶編寫由shell命令組成的程序。Shell編程語言具有普通編程語言的很多特點,比如它也有循環結構和分支控制結構等,用這種編程語言編寫的Shell程序與其他應用程序具有同樣的效果。
Linux提供了像MicrosoftWindows那樣的可視的命令輸入界面--X Window的圖形用戶界面(GUI)。它提供了很多桌面環境系統,其操作就像Windows一樣,有窗口、圖標和菜單,所有的管理都是通過滑鼠控制。GNOME。
每個Linux系統的用戶可以擁有他自己的用戶界面或Shell,用以滿足他們自己專門的Shell需要。
同Linux本身一樣,Shell也有多種不同的版本。主要有下列版本的Shell:
Bourne Shell:是貝爾實驗室開發的。
BASH:是GNU的Bourne Again Shell,是GNU操作系統上默認的shell。
Korn Shell:是對Bourne SHell的發展,在大部分內容上與Bourne Shell兼容。
C Shell:是SUN公司Shell的BSD版本。
Z Shell:The last shell you』ll ever need! Z是最後一個字母,也就是終極Shell。它集成了bash、ksh的重要特性,同時又增加了自己獨有的特性。
而另一個腳本語言是可選的,一般是3P,即python,Perl和PHP,PHP就不需要考慮了,除非你要做開發,我個人建議學Python會比較好,不難實現自動化運維,Perl是文本處理很強大,反正這兩個學一個就行了。
4、sed和awk工具
必須要掌握,在掌握這兩個工具同時,還要掌握正則表達式,這個就痛苦了,正則是最難學的表達式,但結合到sed和awk中會很強大,在處理文本內容和過濾WEB內容時十分有用,不過在學shell的同時一般會經常結合用到的,所以學第3點就會順便學第4點。
5、文本處理命令
sort , tr , cut, paste, uniq, tee等,必學,也是結合第3點時一並學習的。
6、資料庫
首選MySQL,別問我為什麼不學SQL Server和Oracle,因為Linux用得最多絕對是MySQL。增刪改查必學,特別要學熟查,其它方面可能不太需要,因為運維人員使用最多還是查,哪些優化和開發語句不會讓你弄的。
MySQL是一個關系型資料庫管理系統,由瑞典MySQL AB 公司開發,目前屬於 Oracle 旗下產品。MySQL 是最流行的關系型資料庫管理系統之一,在 WEB 應用方面,MySQL是最好的 RDBMS (Relational Database Management System,關系資料庫管理系統) 應用軟體。
MySQL是一種關系資料庫管理系統,關系資料庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度並提高了靈活性。
MySQL所使用的 SQL 語言是用於訪問資料庫的最常用標准化語言。MySQL 軟體採用了雙授權政策,分為社區版和商業版,由於其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網站的開發都選擇 MySQL 作為網站資料庫。
由於其社區版的性能卓越,搭配 PHP 和 Apache 可組成良好的開發環境。
7、防火牆
不學不行,防火牆也算是個難點,說難不難,說易不易,最重要弄懂規則。如果學過CCNA的朋友可能會比較好學,因為iptables也有NAT表,原理是一樣的,而Filter表用得最多,反正不學就肯定不合格。
8、監控工具
十分十分重要,我個人建議,最好學這3個,cacti,nagios,zabbix。企業用得最多應該是nagios和zabbix,反正都學吧,但nagios會有點難,因為會涉及到用腳本寫自動監控,那個地方很難。
Zabbix是一個基於WEB界面的提供分布式系統監視以及網路監視功能的企業級的開源解決方案。
Zabbix能監視各種網路參數,保證伺服器系統的安全運營;並提供靈活的通知機制以讓系統管理員快速定位/解決存在的各種問題。
Cacti是一套基於PHP,MySQL,SNMP及RRDTool開發的網路流量監測圖形分析工具。
Cacti是通過 snmpget來獲取數據,使用 RRDtool繪畫圖形,而且你完全可以不需要了解RRDtool復雜的參數。它提供了非常強大的數據和用戶管理功能,可以指定每一個用戶能查看樹狀結構、host以及任何一張圖,還可以與LDAP結合進行用戶驗證,同時也能自己增加模板,功能非常強大完善。界面友好。軟體 Cacti 的發展是基於讓 RRDTool 使用者更方便使用該軟體,除了基本的 Snmp 流量跟系統資訊監控外,Cacti 也可外掛 Scripts 及加上 Templates 來作出各式各樣的監控圖。
9、集群和熱備
這個很重要,肯定要懂的,但到了公司就不會讓你去弄,因為新手基本不讓你碰。集群工具有很多,最好學是LVS,這是必學,最好也學學nginx集群,反向代理。還有熱備,這個就更多工具能實現了,像我公司是自己開發熱備工具的,MySQL熱備也要學,就是主從復制,這個別告訴我容易,其實不容易的,要學懂整個流程一點也不容易,只照著做根本沒意思。
10、數據備份
不學不行,工具有很多,但至少要把RAID的原理弄懂,特別是企業最常用的1+0或0+1,自己做實驗也要弄出來,備份工具有很多,如tar, mp, rsync等,最好多了解一下。
『叄』 正在做it運維,Linux和資料庫方面的有什麼好建議
linux系統如果是學習可以選用redhat或centos,特別是centos在企業中用得最多,當然還會有其它版本的,但學習者還是以這2個版本學習就行,因為這兩個版本都是兄弟,沒區別的,有空可以再研究一下SUSE,有些公司也喜歡用,例如我公司 。。。。。
工具如下:
1、linux系統基礎,這個不用說了,是基礎中的基礎,連這個都不會就別幹了,參考書籍,可以看鳥哥linux基礎篇,至少要掌握這書60%內容,沒必須全部掌握,但基本命令總得會吧
2、網路服務,服務有很多種,每間公司都會用到不同的,但基礎的服務肯定要掌握,如FTP, DNS,SAMBA, 郵件, 這幾個大概學一下就行,LAMP和LNMP是必須要熟練,我所指的不是光光會搭建,而是要很熟悉裡面的相當配置才行,因為公司最關鍵的絕對是WEB伺服器,所以nginx和apache要熟悉,特別是nginx一定要很熟悉才行,至少有些公司還會用tomcat,這個也最好學一下。其實網路服務方面不用太擔心,一般公司的環境都已經搭建好,就算有新伺服器或讓你整改,公司會有相應的文檔讓你參照來弄,不會讓你亂來的,但至少相關的配置一定要學熟,而且肯定是編譯安裝多,那些模塊要熟悉一下他的作用,特別是PHP那些模塊。
這面2點只是基礎,也是必要條件,不能說是工具,下以才是真正的要掌握的工具。
3、shell腳本和另一個腳本語言,shell是運維人員必須具備的,不懂這個連入職都不行,至少也要寫出一些系統管理腳本,最簡單也得寫個監控CPU,內存比率的腳本吧,這是最最最基本了,別以為會寫那些猜數字和計算什麼數的,這些沒什麼作用,只作學習意義,寫系統腳本才是最有意義,而另一個腳本語言是可選的,一般是3P,即python, perl和php,php就不需要考慮了,除非你要做開發,我個人建議學python會比較好,難實現自動化運維,perl是文本處理很強大,反正這兩個學一個就行了。
4、sed和awk工具,必須要掌握,在掌握這兩個工具同時,還要掌握正則表達式,這個就痛苦了,正則是最難學的表達式,但結合到sed和awk中會很強大,在處理文本內容和過濾WEB內容時十分有用,不過在學shell的同時一般會經常結合用到的,所以學第3點就會順便學第4點。
5、文本處理命令,sort , tr , cut, paste, uniq, tee等,必學,也是結合第3點時一並學習的。
6、資料庫,首選mysql,別問我為什麼不學sqlserver和oracle,因為linux用得最多絕對是mysql,增刪改查必學,特別要學熟查,其它方面可能不太需要,因為運維人員使用最多還是查,哪些優化和開發語句不會讓你弄的。
7、防火牆,不學不行,防火牆也算是個難點,說難不難,說易不易,最重要弄懂規則,如果學過CCNA的朋友可能會比較好學,因為iptables也有NAT表,原理是一樣的,而FILTER表用得最多,反正不學就肯定不合格。
8、監控工具,十分十分重要,我個人建議,最好學這3個,cacti,nagios,zibbix,企業用得最多應該是nagios和 zibbix,反正都學吧,但nagios會有點難,因為會涉及到用腳本寫自動監控,那個地方很難。
9、集群和熱備,這個很重要,肯定要懂的,但到了公司就不會讓你去弄,因為新手基本不讓你碰,集群工具有很多,最好學是LVS,這是必學,最好也學學nginx集群,反向代理,還有熱備,這個就更多工具能實現了,像我公司是自己開發熱備工具的,mysql熱備也要學,就是主從復制,這個別告訴我容易,其實不容易的,要學懂整個流程一點也不容易,只照著做根本沒意思。
10、數據備份,不學不行,工具有很多,但至少要把RAID的原理弄懂,特別是企業最常用的1+0或0+1,自己做實驗也要弄出來,備份工具有很多,如tar, mp, rsync等,最好多了解一下。
算了,說到這10點已經夠你受了,應該可以入門了,因為有些技術會比較難學,例如apache和nginx中還有些很重要的技術,如系統調優和服務優化,還有程序優化,這些在沒接觸工作前很難學習到的,所以先把這10點學了吧,估計要學熟至少3個月不止,就腳本那部分已經讓你很吃力了,我建議是先學熟shell,等工作後再學另一門腳本語言,這樣會比較好。
以上就是踏入linux運維工程師需要掌握的工具,其實還有很多工具要掌握的,但你在學習環境中是很難學到,最後我再提醒一下,這里所指的工具相當於技能,而不是像windows或ubuntu那些圖形化工具,那些工具沒用的,還有,學linux就別裝圖形界面,這樣虛擬機就不用吃太多內存,而且絕對不建議在真機上裝linux,根本達不到學習效果。
更多相關內容可參考資料http://www.viiboo.cn
『肆』 java如何對監控Mysql資料庫對象是否出現錯誤
你說的資料庫對象時什麼不太明白。。。
一般做資料庫監控都是定時執行一條簡單的sql就OK了
類似:
select(0)fromtest;
不過這個功能很多有數據源的服務,或者監控系統都實現了。
weblogic、nagios啥的都有這個功能,自己配一下就行。
資料庫監控埠也行,定時telnet