您好,登錄后才能下訂單哦!
故障現(xiàn)象:
2014年6月4日 收到客戶(hù)郵件說(shuō):bjd nagios 的Last Check更新時(shí)間與當(dāng)前時(shí)間差距很大
具體處理過(guò)程如下:
盲目處理階段:
想將問(wèn)題盡快處理掉,所以有點(diǎn)只看問(wèn)題表象忽略了重點(diǎn),唉,說(shuō)多了都是淚。
查詢(xún)?cè)摍C(jī)器各種log 發(fā)現(xiàn)除了一些常規(guī)報(bào)錯(cuò)信息,沒(méi)有重要發(fā)現(xiàn)。
檢查機(jī)器磁盤(pán)空間,內(nèi)存,IO,CPU正常。
此問(wèn)題首次出現(xiàn),之前未有遇到。通過(guò)查詢(xún)資料得知是由于此文件權(quán)限發(fā)生變化導(dǎo)致。但是任我怎么修改文件的權(quán)限和所屬組都不能解決問(wèn)題。并參考了http://myhat.blog.51cto.com/391263/692879,恕不知此問(wèn)題不是解決本次問(wèn)題的關(guān)鍵,結(jié)果造成誤導(dǎo)。
[root@nagios01 ~]#cd/usr/local/nagios/var/rw/
[root@nagios01 rw]#ll
total 0
prwxrwxrwx 1 nagios nagios 0Jun 7 02:11 nagiosNaNd
5. 繼續(xù)為繞此問(wèn)題進(jìn)行分析和嘗試,并進(jìn)行多次重啟服務(wù)操作均未解決,但在重啟服務(wù)時(shí)發(fā)現(xiàn),服務(wù)啟過(guò)程中有報(bào)錯(cuò):/etc/init.d/nagios: line 67: kill: (1777) - No such process 在之前重啟服務(wù)中均未出現(xiàn)此問(wèn)題,覺(jué)得應(yīng)該不正常,于是查之,陷于分析過(guò)程,參考網(wǎng)絡(luò)文章無(wú)數(shù)未找到解決方法,先忽略之。此時(shí)主服務(wù)一直未啟動(dòng)具然不知道,并且沒(méi)有引起足夠的重視。
6. 比對(duì)運(yùn)行正常的機(jī)器,各種比對(duì),配置文件均一致,無(wú)解。
7. 沒(méi)有找到合理的解決方法,重啟機(jī)器,重啟完成后未解決,心灰意冷了。
8. 由于時(shí)間差距大,與用戶(hù)商議先決定開(kāi)啟備機(jī)上的報(bào)警功能,。
9. 備機(jī)啟動(dòng)時(shí)也是多災(zāi)多難,不過(guò)最終切至備機(jī)上開(kāi)始運(yùn)行。
10. 關(guān)閉當(dāng)前機(jī)器報(bào)警功能,讓同事將此機(jī)器生成快照,為了日后找到問(wèn)題時(shí)回退。
11. 把之間忽略的信息重新分析并解決,但問(wèn)題已然存在。
n 發(fā)現(xiàn)轉(zhuǎn)折點(diǎn)階段:
1. 備機(jī)開(kāi)啟,沒(méi)有什么提心了,繼續(xù)排查。
2. 此時(shí)發(fā)現(xiàn)nagios主服務(wù)未啟動(dòng),但是web訪問(wèn)的頁(yè)面也能打開(kāi),各種數(shù)據(jù)都有,詫異各種詫異,之前的處理都是被誤導(dǎo)到天國(guó)去了。
3. 隨即開(kāi)啟nagios主程序,發(fā)現(xiàn)啟動(dòng)1-3分鐘后就自動(dòng)停止。于是先打開(kāi)日志文件保持更新?tīng)顟B(tài),一邊開(kāi)啟nagios主程序,觀察啟動(dòng)過(guò)程。這次在日志中有重大發(fā)現(xiàn):
啟動(dòng)nagios時(shí)在系統(tǒng)日志中出現(xiàn)如下報(bào)錯(cuò)信息:
Jun 7 00:41:41nagios01 kernel: EXT3-fs warning (device dm-0): ext3_dx_add_entry: Directoryindex full!
Jun 7 00:41:41nagios01 kernel: EXT3-fs warning (device dm-0): ext3_dx_add_entry: Directoryindex full!
Jun 7 00:41:50nagios01 /usr/sbin/gmetad[2964]: data_thread() got no answer from any [MonitorHost] datasource
Jun 7 00:41:56nagios01 kernel: EXT3-fs warning (device dm-0): ext3_dx_add_entry: Directoryindex full!
Jun 7 00:41:56nagios01 kernel: EXT3-fs warning (device dm-0): ext3_dx_add_entry: Directoryindex full!
4. 當(dāng)nagios自動(dòng)停止后,此日志不在出現(xiàn),根據(jù)經(jīng)驗(yàn)判斷有重大嫌疑,于時(shí)查之。隨著深入查閱資料更能加深這一判斷:
找到相關(guān)資料http://www.linuxquestions.org/questions/linux-server-73/ext3-fs-warning-device-dm-0-ext3dxaddentry-directory-index-full-631376/
此問(wèn)題為inodes(索引節(jié)點(diǎn))已滿(mǎn),引用"inode譯成中文就是索引節(jié)點(diǎn),每個(gè)存儲(chǔ)設(shè)備(例如硬盤(pán))或存儲(chǔ)設(shè)備的分區(qū)被格式化為文件系統(tǒng)后,應(yīng)該有兩部份,一部份是inode,另一部份是Block,Block是用來(lái)存儲(chǔ)數(shù)據(jù)用的。而inode呢,就是用來(lái)存儲(chǔ)這些數(shù)據(jù)的信息,這些信息包括文件大小、屬主、歸屬的用戶(hù)組、讀寫(xiě)權(quán)限等。inode為每個(gè)文件進(jìn)行信息索引,所以就有了inode的數(shù)值。操作系統(tǒng)根據(jù)指令,能通過(guò)inode值最快的 找到相對(duì)應(yīng)的文件。"通過(guò)幾臺(tái)的情分析判斷,每一G的空間,有120000左右的inodes可以在格式化分區(qū)時(shí)指定inodes的大小,加個(gè) -N參數(shù),如
mkfs.ext3 -N 2500000/dev/sda6 #2500000 為inodes的大小
實(shí)際應(yīng)用需要要根據(jù)分區(qū)的大小來(lái)定,造成此問(wèn)題通常是產(chǎn)生了大量的小文件(附合nagios的特點(diǎn))
5. 再進(jìn)一步落實(shí)
檢查磁盤(pán)空是未滿(mǎn),但是檢查Inodes時(shí)發(fā)現(xiàn) /data目錄還有1%
[root@nagios01 etc]#df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda3 65952 10062 55890 16% /
/dev/mapper/lv01-vm01
12816384 66867 12749517 1% /data
/dev/sda8 65952 90 65862 1%/tmp
/dev/sda7 328000 23317 304683 8% /home
/dev/sda6 655360 10724 644636 2% /var
/dev/sda5 655360 100483 554877 16% /usr
/dev/sda1 26104 44 26060 1%/boot
tmpfs 1021913 1 1021912 1%/dev/shm
[root@nagios01 etc]#df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 1020M 477M 492M 50% /
/dev/mapper/lv01-vm01
48G 35G 11G 77% /data
/dev/sda8 1020M 35M 934M 4% /tmp
/dev/sda7 5.0G 2.4G 2.4G 50% /home
/dev/sda6 10G 2.7G 6.8G 29% /var
/dev/sda5 10G 2.2G 7.3G 24% /usr
/dev/sda1 99M 23M 71M 25% /boot
tmpfs 3.9G 0 3.9G 0% /dev/shm
[root@nagios01 etc]#
6. 繼續(xù)確認(rèn):
在/data/pnp4/pnp4nagios/var/spool這個(gè)目錄下有18G的文件,都是小文件有46萬(wàn)多個(gè)
[root@nagios02 spool]#find .-type f |wc -l
468954
定位問(wèn)題階段:
是存放pnp4nagios的數(shù)據(jù)文件,Pnp4nagios使用的是RRDtool工具來(lái)實(shí)現(xiàn)畫(huà)圖的,用rrdtool是將nagios采集的數(shù)據(jù)繪制圖表的工具。簡(jiǎn)單來(lái)說(shuō)就是對(duì)于服務(wù)和主機(jī),添加“小太陽(yáng)”監(jiān)控圖標(biāo)來(lái)使的,是歷史數(shù)據(jù)。
經(jīng)過(guò)以上的落實(shí)確認(rèn)基本上可以判定,由于inodes(索引節(jié)點(diǎn))已滿(mǎn),造成的nagios程序啟動(dòng)后自動(dòng)停止。
解決問(wèn)題:
刪除小文件/data/pnp4/pnp4nagios/var/spool
重啟nagios 主服務(wù)一切正常,問(wèn)題解決。
經(jīng)刪除這些文件后,驗(yàn)證了小太陽(yáng)中的歷史數(shù)據(jù)圖表還有數(shù)據(jù),證明可以刪除,沒(méi)有影響。
個(gè)人總結(jié):
遇到問(wèn)題不要慌,亂了陣腳,不可取。
判斷問(wèn)題要用排除法,不能頭腦發(fā)熱和想當(dāng)然,否則會(huì)給后續(xù)判斷帶來(lái)重大的方向性錯(cuò)誤。
實(shí)在沒(méi)法的時(shí)候就要把所有懷疑的關(guān)鍵點(diǎn)逐個(gè)進(jìn)行落實(shí)和分析,得出一條關(guān)鍵路徑,最后得出正確的方向。
請(qǐng)教人不如自己查,在關(guān)鍵問(wèn)題上還是要靠本人。雖然對(duì)方是高手,但是通過(guò)電話或郵件根本不可能描述你所面臨的問(wèn)題,因?yàn)槟氵€有沒(méi)定位問(wèn)題的所在,多少次的經(jīng)驗(yàn)驗(yàn)證了這一條。但不是說(shuō)不讓問(wèn),度希望自己揣摩和掌握。
強(qiáng)烈推薦googlebaidu ,沒(méi)有強(qiáng)大的搜索功能,也不會(huì)締造我們這些IT民工的成長(zhǎng),謝謝你們。
吐槽國(guó)內(nèi)的某些組織,google,google,google,上不去啊。
有些手冊(cè)還需完善和建立。
以上代表個(gè)人關(guān)點(diǎn),如有不同意見(jiàn)線下來(lái)討論。
后續(xù)工作:
目前還建議切換回10.219.240.12,因?yàn)樵谔幚磉^(guò)程中修改了很多配置文件參數(shù)。
運(yùn)行一段時(shí)間看看效果,觀察觀察。
觀察后沒(méi)問(wèn)題,需要將做的快照恢復(fù)到之前。并從10.219.240.35上將監(jiān)控狀態(tài)信息同步到10.219.240.12上。
還有一些技術(shù)問(wèn)題需要討論。
附贈(zèng)送一點(diǎn)Linux 小知識(shí)共勉:
在Linux 下刪除大文件時(shí)有時(shí)會(huì)用到這個(gè)命令:
測(cè)試時(shí)在目錄下創(chuàng)建了20w個(gè)左右的空文件,想刪除這些文件,進(jìn)入目錄,輸入命令:
rm -rf *
屏幕顯示:
-bash: /bin/rm: Argument list too long
通過(guò)google后,找到解決方法,輸入下面的命令,刪除成功:
ls | xargs -n 10 rm -fr ls
命令解釋為:輸出所有的文件名(用空格分割) xargs就是將ls的輸出,每10個(gè)為一組(以空格為分隔符),作為rm -rf的參數(shù)也就是說(shuō)將所有文件名10個(gè)為一組,由rm -rf刪除
Linux下面查看目錄大小以及文件數(shù)量命令
查看目錄的大小:
[root@vps 1010 shellp_w_picpath]#du -sh
上面這個(gè)是查看當(dāng)前目錄的大小,如果是要查看指定目錄的大小則:
[root@vps 1010 shellp_w_picpath]#du -sh/uploadp_w_picpaths
這里是查看根目錄下的uploadp_w_picpaths目錄的大小.
2.查看當(dāng)前目錄文件總數(shù):
[root@vps 1010 shellp_w_picpath]#find .-type f |wc -l
上面這個(gè)是查看當(dāng)前目錄文件總數(shù),如果是要查看指定目錄的總數(shù)則:
[root@vps 1010shellp_w_picpath]#find /uploadp_w_picpaths -type f |wc -l
這里的f是表示文件,改成d則表示目錄.
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。