版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
IT運維之Linux服務器監(jiān)控方案IT運維之Linux服務器監(jiān)控方案IT運維之Linux服務器監(jiān)控方案全文共9頁,當前為第1頁。隨著Linux應用日益廣泛,絕大部分的網(wǎng)絡服務器都使用Linux操作系統(tǒng)。為了全面掌握網(wǎng)絡服務器的運行狀況和趨勢,需要對服務器進行全面的監(jiān)控。
利用Linux發(fā)行版搭建一個網(wǎng)絡服務器可能對于許多人都是一件很容易的事情,但網(wǎng)絡服務器正式上線后,服務器數(shù)據(jù)流動、連接數(shù)、網(wǎng)絡流量、系統(tǒng)負荷等各方面都會增加,安全問題也隨之而來,再考慮到日志、數(shù)據(jù)庫的重要性,我想無論是哪一位系統(tǒng)管理員,都應該迫不及待地想把服務器上線的前期工作做好吧。
那我們究竟需要做好哪些工作準備呢?之前有看過一篇文章說到系統(tǒng)管理員應該定期完成的九件事情,我分析過后,認為有幾件事情是必須得做的。首先是備份,做好定時備份策略,備份所有你認為重要的數(shù)據(jù),并且定期檢查你的備份是否有效、全面;日志輪換,無論你想用哪種輪換方式,控制日志增長避免驅動器已滿是你的目的;做一定的安全措施,如防火墻iptables的訪問控制,用denyhosts防止黑客遠程暴力破解,mysql遠程登錄權限等等;最后就是服務器監(jiān)控,也是我主要想講述的內容。
對于服務器的硬件資源、性能、帶寬、端口、進程、服務等都必須有一個可靠和持續(xù)的監(jiān)測,統(tǒng)計分析每天的各種數(shù)據(jù),從而能及時反映出服務器哪里存在性能瓶頸、安全隱患等。另外是要有危機意識,就是了解服務器有可能出現(xiàn)哪些嚴重的問題,出現(xiàn)這些問題后該如何去迅速處理。比如數(shù)據(jù)庫的數(shù)據(jù)丟失,日志容量過大,被黑客入侵等等。說到底,預防是關鍵。
監(jiān)控,是預防的其中的一項重要工作。這里先說說我需要監(jiān)控的內容。系統(tǒng)負載、cpu使用率、內存占用、磁盤空間、網(wǎng)絡流量、端口、進程、apache或tomcat的連接數(shù)、mysql的運行狀態(tài)這些都是我想要監(jiān)控的東西,但又能做到多少呢,我只能盡力而為了。要了解服務器每時每刻的整體運行狀態(tài),單靠幾個Linux自帶的性能監(jiān)測命令是很難實現(xiàn)的。所以,利用shell腳本和開源監(jiān)控工具進行服務器監(jiān)控成為了我的兩個主要的選擇。
利用shell腳本監(jiān)控能夠很好把握的監(jiān)控的內容,時間,警告峰值,以及方便地進行告警通知,自定義監(jiān)控日志內容等等;而許多開源的監(jiān)控工具都十分方便和實用,比如有zabbix、cacti、nagios等,而且能夠針對不同的監(jiān)控內容,生成好看的便于觀察的曲線圖,多數(shù)的開源監(jiān)控工具都比較成熟,至于哪個好用就得用過才知道。由于這些監(jiān)控工具都有許多熱血人士寫了安裝和使用的文檔,我這里就不寫進來了。想了解下的朋友也可以到我的博客上走走,在這里我主要是把自己寫的一些shell監(jiān)控腳本分享一下,希望大家能給點意見。
我這里寫了四個腳本(performance.sh性能監(jiān)控,process.sh進程監(jiān)控,network.sh流量監(jiān)控,#sh流量分析統(tǒng)計),并使用crontab定時執(zhí)行腳本進行監(jiān)控數(shù)據(jù)的記錄,形成每天的監(jiān)控日志放在如下相應的文件夾,并且超過自己設定的告警值后發(fā)郵件通知,如果是騰訊企業(yè)郵箱,163郵箱那些有免費短信通知功能的可以嘗試一下,收到郵件告警后很快就能收到短信了,十分方便。
性能監(jiān)控腳本
##############################################################################
#!/bin/bash
#監(jiān)控cpu系統(tǒng)負載
IP=`ifconfigeth0|grep"inetaddr"|cut-f2-d":"|cut-f1-d""`
cpu_num=`grep-c'modelname'/proc/cpuinfo`
count_uptime=`uptime|wc-w`
load_15=`uptime|awk'{print$'$count_uptime'}'`
average_load=`echo"scale=2;a=$load_15/$cpu_num;if(length(a)==scale(a))print0;printa"|bc`
average_int=`echo$average_load|cut-f1-d"."`
load_warn=0.70
if[$average_int-gt0
]
then
echo"$IP服務器單個核心15分鐘的平均負載為$average_load,超過警戒值1.0,請立即處理!?。?(date+%Y%m%d/%H:%M:%S)">>/usr/monitor/performance/performance_$(date+%Y%m%d).log
echo"$IP服務器單個核心15分鐘的平均負載為$average_load,超過警戒值1.0,請立即處理?。?!$(date+%Y%m%d/%H:%M:%S)"|mail-s"$IP服務器系統(tǒng)負載嚴重告警"XXXX@
else
echo"$IP服務器單個核心15分鐘的平均負載值為$average_load,負載正常$(date+%Y%m%d/%H:%M:%S)">>/usr/monitor/performance/performance_$(date+%Y%m%d).log
fi
#監(jiān)控cpu使用率
cpu_idle=`top-b-n1|grepCpu|awk'{print$5}'|cut-f1-d"."`
if[$cpu_idle-lt20]
then
echo"$IP服務器cpu剩余$cpu_idle%,使用率已經(jīng)超過80%,請及時處理。">>/usr/monitor/performance/performance_$(date+%Y%m%d).log
echo"$IP服務器cpu剩余$cpu_idle%,使用率已經(jīng)超過80%,請及時處理?。?!"|mail-s"$IP服務器cpu告警"XXXX@
else
echo
"$IP服務器cpu剩余$cpu_idle%,使用率正常">>/usr/monitor/performance/performance_$(date+%Y%m%d).log
fi
#監(jiān)控交換分區(qū)
swap_total=`free-m|grepSwap|awk'{print$2}'`
swap_free=`free-m|grepSwap|awk'{print$4}'`
IT運維之Linux服務器監(jiān)控方案全文共9頁,當前為第2頁。
swap_used=`free-m|grepSwap|awk'{print$3}'`
if[$swap_used-ne0]
then
swap_per=0`echo"scale=2;$swap_free/$swap_total"|bc`
swap_warn=0.20
swap_now=`expr$swap_per\>$swap_warn`
if[$swap_now-eq0]
then
echo"$IP服務器swap交換分區(qū)只剩下$swap_freeM未使用,剩余不足20%,使用率已經(jīng)超過80%,請及時處理。">>/usr/monitor/performance/performance_$(date+%Y%m%d).log
echo"$IP服務器swap交換分區(qū)只剩下$swap_freeM未使用,剩余不足20%,使用率已經(jīng)超過80%,請及時處理。"|mail-s"$IP服務器內存告警"XXXX@
else
echo"$IP服務器swap交換分區(qū)剩下$swap_freeM未使用,使用率正常">>/usr/monitor/performance/performance_$(date+%Y%m%d).log
fi
else
echo"$IP服務器交換分區(qū)未使用">>/usr/monitor/performance/performance_$(date+%Y%m%d).log
fi
#監(jiān)控磁盤空間
disk_sda1=`df-h|grep/dev/sda1|awk'{print$5}'|cut-f1-d"%"`
if[$disk_sda1-gt80]
then
echo"$IP服務器/根分區(qū)使用率已經(jīng)超過80%,請及時處理。">>/usr/monitor/performance/performance_$(date+%Y%m%d).log
echo"$IP服務器/根分區(qū)使用率已經(jīng)超過80%,請及時處理。"|mail-s"$IP服務器硬盤告警"XXXX@
else
echo"$IP服務器/根分區(qū)使用率為$disk_sda1%,使用率正常">>/usr/monitor/performance/performance_$(date+%Y%m%d).log
fi
#監(jiān)控登錄用戶數(shù)
users=`uptime|awk'{print$6}'`
if[$users-gt2]
IT運維之Linux服務器監(jiān)控方案全文共9頁,當前為第3頁。then
echo"$IP服務器用戶數(shù)已經(jīng)達到$users個,請及時處理。">>/usr/monitor/performance/performance_$(date+%Y%m%d).log
echo"$IP服務器用戶數(shù)已經(jīng)達到$users個,請及時處理。"|mail-s"$IP服務器用戶登錄數(shù)告警"XXXX@
else
echo"$IP服務器當前登錄用戶為$users個,情況正常">>/usr/monitor/performance/performance_$(date+%Y%m%d).log
fi
###############################################################################
性能監(jiān)控日志/usr/monitor/performance/performance_%Y%m%d.log
進程監(jiān)控腳本
###############################################################################
#!/bin/bash
IP=`ifconfigeth0|grep"inetaddr"|cut-f2-d":"|cut-f1-d""`
tomcat_dir="/opt/apache-tomcat-7.0.8"
mysql_dir="/usr/local/mysql/bin/mysqld_safe"
vsftp_dir="/usr/sbin/vsftpd"
ssh_dir="/usr/sbin/sshd"
fordirin$tomcat_dir$mysql_dir$vsftp_dir$ssh_dir
do
process_count=$(ps-ef|grep"$dir"|grep-vgrep|wc-l)
forserviceintomcatmysqlvsftpssh
do
echo"$dir"|grep-q"$service"
if[$?-eq0]
then
if[$process_count-eq0]
IT運維之Linux服務器監(jiān)控方案全文共9頁,當前為第4頁。then
echo"$serviceisdownat$(date+%Y%m%d%H:%M:%S)">>/usr/monitor/process/process_$(date+%Y%m%d).log
echo"$serviceisdownat$(date+%Y%m%d%H:%M:%S)"|mail-s"$IP服務器$service服務關閉告警"XXXX@
else
echo"$serviceisrunningat$(date+%Y%m%d%H:%M:%S)">>/usr/monitor/process/process_$(date+%Y%m%d).log
fi
else
continue
fi
done
done
###############################################################################
進程監(jiān)控日志/usr/monitor//process/process_%Y%m%d.log
流量監(jiān)控腳本
###############################################################################
#!/bin/bash
#
R1=`cat/sys/class/net/eth0/statistics/rx_bytes`
T1=`cat/sys/class/net/eth0/statistics/tx_bytes`
sleep1
R2=`cat/sys/class/net/eth0/statistics/rx_bytes`
T2=`cat/sys/class/net/eth0/statistics/tx_bytes`
TBPS=`expr$T2-$T1`
RBPS=`expr$R2-$R1`
TKBPS=`expr$TBPS/1024`
RKBPS=`expr$RBPS/1024`
echo"上傳速率eth0:$TKBPSkb/s下載速率eth0:$RKBPSkb/sat$(date+%Y%m%d%H:%M:%S)">>/usr/monitor/network/network_$(date+%Y%m%d).log
###############################################################################
IT運維之Linux服務器監(jiān)控方案全文共9頁,當前為第5頁。流量監(jiān)控日志/usr/monitor/network/network_$(date+%Y%m%d).log
流量分析腳本
###############################################################################
#!/bin/bash
#
TX=0;
RX=0;
MAX_TX=0;
MAX_RX=0;
whilereadline
do
a=`echo$line|grep"eth0"|awk'{print$3}'`
if[$a-ge0]
then
TX=$a
if[$TX-ge$MAX_TX]
then
MAX_TX=$TX
fi
fi
b=`echo$line|grep"eth0"|awk'{print$7}'`
if[$b-ge0]
then
RX=$b
if[$RX-ge$MAX_RX]
then
MAX_RX=$RX
fi
fi
done</usr/monitor/network/network_$(date+%Y%m%d).log
echo"最高上傳速度為$MAX_TXkb/sat$(date+%Y%m%d)">>/usr/monitor/network/#log
IT運維之Linux服務器監(jiān)控方案全文共9頁,當前為第6頁。
echo"最高下載速度為$MAX_RXkb/sat$(date+%Y%m%d)">>/usr/monitor/network/#log
###############################################################################
流量分析日志/usr/monitor/network/#log
利用腳本進行系統(tǒng)監(jiān)控是一個不錯的選擇,簡單實用。之后我還想到用shell腳本進行對myqsl的監(jiān)控,對日志增長的監(jiān)控,對apache連接數(shù)監(jiān)控等等,這個有待后面的研究了。
利用shell腳本進行監(jiān)控當然是方便,可靠,但單靠一堆數(shù)據(jù)日志,很難發(fā)現(xiàn)什么趨勢變化,再加上當你維護的服務器量較多的時候,更是手忙腳亂的。這里我推薦一些開源的監(jiān)控工具來幫助大家更好地去做好系統(tǒng)監(jiān)控。
Cacti,是一套基于PHP,MySQL,SNMP及RRDTool開發(fā)的網(wǎng)絡流量監(jiān)測圖形分析工具。它通過snmpget來獲取數(shù)據(jù),使用RRDtool繪畫圖形。在眾多監(jiān)測圖形分析工具中,RRDTool所畫的圖是最好看的,而且Cacti還能定制模板,按需增加插件,功能十分強大。想要實現(xiàn)異常通知功能的話,可以整合Nagios來一起使用。Nagios是一個監(jiān)視系統(tǒng)運行狀態(tài)和網(wǎng)絡信息的監(jiān)視系統(tǒng)。能監(jiān)視所指定的本地或遠程主機以及服務,同時提供異常通知功能等。同時提供一個WEB界面以方便系統(tǒng)管理人員查看網(wǎng)絡狀態(tài),各種系統(tǒng)問題,以及日志等等。Cacti+Nagios這個組合很好用,但配置過程比較復雜,大家可以嘗試去搭建一個這樣的實用而方便的分布式監(jiān)控系統(tǒng)。
另外一個要介紹的監(jiān)控工具叫Zabbix,除了能監(jiān)視各種網(wǎng)絡參數(shù),保證服務器系統(tǒng)的安全運營之外,還能提供如短信、郵件、jabber等通知機制以讓系統(tǒng)管理員快速定位/解決存在的各種問題。基本上能實現(xiàn)cacti+nagios的功能。安裝配置過程也比較簡單,我的博客上有在ubuntu環(huán)境和centos環(huán)境下搭建zabbix監(jiān)控系統(tǒng)的文章,大家有空可以參考一下。
IT運維之Linux服務器監(jiān)控方案全文共9頁,當前為第7頁。
IT運維之Linux服務器監(jiān)控方案全文共9頁,當前為第1頁。IT運維之Linux服務器監(jiān)控方案全文共9頁,當前為第2頁。IT運維之Linux服務器監(jiān)控方案全文共9頁,當前為第3頁。IT運維之Linux服務器監(jiān)控方案全文共9頁,當前為第4頁。IT運維之Linux服務器監(jiān)控方案全文共9頁,當前為第5頁。IT運維之Linux服務器監(jiān)控方案全文共9頁,當前為第6頁。IT運維之Linux服務器監(jiān)控方案全文共9頁,當前為第7頁。zabbix的性能監(jiān)控分析圖
其實除了以上提到的shell腳本和監(jiān)控方案,要使服務器監(jiān)控的效果更好,還有一項工作是必須做的,就是監(jiān)控數(shù)據(jù)及運維操作的記錄,我這里把它叫做運維日志吧。每天有寫運維日志的習慣是很重要的,這可以有利于我們分析服務器的趨勢,比如增加哪些服務后,服務器的cpu占用會有上升的趨勢;哪個時段是流量的高峰期;哪個時段服務器比較空閑,可以進行數(shù)據(jù)庫備份的操作等等。更有好處的是,把我們日常的操作行為通過日志形式記錄下來,萬一除了什么問題,可以通過查詢操作日志,了解是否人為操作而引起的。最后一點,有幾個重要的性能監(jiān)測工具可別忘記了,top、vmstat、w、uptime、ps、free、iostat、netstat、/proc等,這些是Linux系統(tǒng)內置或附件的工具,記住每個命令的詳細用法,有時候就可以直接找出造成性能問題的原因了。
關于服務器監(jiān)控這個話題,很多專家給出了不同的意見,但無可否認的,監(jiān)控工作必須做,至于監(jiān)控什么是重點,用怎樣的監(jiān)控方式去實現(xiàn),通過監(jiān)控能達到多大的效果,這個就視乎服務器應用需求及個人需求了,本文只是提出一些個人的見解,供大家參考。最后簡單總結一下本文的主要內容:監(jiān)控的重要性;shell監(jiān)控腳本;開源監(jiān)控方案;記住寫運維日志和常用Linux監(jiān)控工具。希望大家都能夠找出適合自己的、適合企業(yè)的服務器監(jiān)控方案。2010年讀書節(jié)活動方案一、
活動目的:書是人類的朋友,書是人類進步的階梯!為了拓寬學生的知識面,通過開展“和書交朋友,遨游知識大海洋”系列讀書活動,激發(fā)學生讀書的興趣,讓每一個學生都想讀書、愛讀書、會讀書,從小養(yǎng)成熱愛書籍,博覽群書的好習慣,并在讀書實踐活動中陶冶情操,獲取真知,樹立理想!二、活動目標:1、通過活動,建立起以學校班級、個人為主的班級圖書角和個人小書庫。2、通過活動,在校園內形成熱愛讀書的良好風氣。3、通過活動,使學生養(yǎng)成博覽群書的好習慣。4、通過活動,促進學生知識更新、思維活躍、綜合實踐能力的提高。三、活動實施的計劃1、做好讀書登記簿(1)每個學生結合個人實際,準備一本讀書登記簿,具體格式可讓學生根據(jù)自己喜好來設計、裝飾,使其生動活潑、各具特色,其中要有讀書的內容、容量、實現(xiàn)時間、好詞佳句集錦、心得體會等欄目,高年級可適當作讀書筆記。(2)每個班級結合學生的計劃和班級實際情況,也制定出相應的班級讀書目標和讀書成長規(guī)劃書,其中要有措施、有保障、有效果、有考評,簡潔明了,易于操作。(3)中隊會組織一次“讀書交流會”展示同學們的讀書登記簿并做出相應評價。2、舉辦讀書展覽:各班級定期舉辦“讀書博覽會”,以“名人名言”、格言、諺語、經(jīng)典名句、“書海拾貝”、“我最喜歡的___”、“好書推薦”等形式,向同學們介紹看過的新書、好書、及書中的部分內容交流自己在讀書活動中的心得體會,在班級中形成良好的讀書氛圍。IT運維之Linux服務器監(jiān)控方案全文共9頁,當前為第8頁。3、出讀書小報:IT運維之Linux服務器監(jiān)控方案全文共9頁,當前為第8頁。3、通過活動,使學生養(yǎng)成博覽群書的好習慣。B比率分析法和比較分析法不能測算出各因素的影響程度。√
C采用約當產(chǎn)量比例法,分配原材料費用與分配加工費用所用的完工率都是一致的。XC采用直接分配法分配輔助生產(chǎn)費用時,應考慮各輔助生產(chǎn)車間之間相互提供產(chǎn)品或勞務的情況。錯C產(chǎn)品的實際生產(chǎn)成本包括廢品損失和停工損失。√C成本報表是對外報告的會計報表?!罜成本分析的首要程序是發(fā)現(xiàn)問題、分析原因。×C成本會計的對象是指成本核
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- DB11∕T 537-2019 墻體內保溫施工技術規(guī)程 膠粉聚苯顆粒保溫漿料做法和增強粉刷石膏聚苯板做法
- 陜西省渭南市臨渭區(qū)2024屆九年級下學期中考二模數(shù)學試卷(含答案)
- 5年中考3年模擬試卷初中道德與法治九年級下冊01第1課時回望成長
- 湘教版三年級下冊音樂教案
- 過秦論課件教學課件
- (統(tǒng)考版)2023版高考化學一輪復習課時作業(yè)18化學能與熱能
- 智慧城市建設居間合同
- 宗教場所裝修貸款合同
- 書店裝修合同終止協(xié)議書
- 家禽飼料配送合同格式
- 玻璃、易碎品管理規(guī)程
- 公務員考核量化測評標準
- 五大領域認知發(fā)展
- PMS顏色對照表
- 鐵路電力供電基礎知識
- 第十二章土工合成材料ppt課件
- 滬教版二年級上冊《7的乘、除法》數(shù)學教案
- 舞蹈演員職稱評審個人總結.doc
- 用WINPCIN備份FANUC全參數(shù)程序
- 電氣設備安裝工程工程量計算經(jīng)典實例
- 急性腸系膜淋巴結炎臨床路徑標準住院流程
評論
0/150
提交評論