成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

善用腳本 讓你的Nagios記錄系統監控日志(附vmstat詳解)

原創
運維 系統運維
Nagios是一個有著強大報警功能的系統監測工具,不過美中不足的是Nagios并沒有提供記錄狀態和日志的功能,無法滿足分析系統繁忙原因的需求。本文提供一段腳本,可以以vmstat為基礎實現這個需求,在系統繁忙時分離出日志,供系統組同事們一起分析問題。

【51CTO獨家特稿】我是一名linux/unix系統工程師,平時用Nagios自動監測公司的內網開發環境及外網應用環境。Nagios報警功能很強大,但有時我們的系統組有這個需求,特別是系統繁忙時希望能留下日志,以供分析:到底是受到了攻擊,還是開發人員設置不當,亦或是運維人員改動了系統配置等。機器少時可能問題不大,但公司的CDN服務器集群是一百多臺,目前看形勢還在增長,所以我想設計一個shell腳本來作Nagios的補充,在系統繁忙時分離出日志,供系統組同事們一起分析問題,得出問題的癥結所在。

這里介紹下以vmstat為基礎的系統監控腳本/root/monitor.sh

此腳本設計思想與功能實現:

①此腳本設計為Nagios監控補遺,Nagios是即時監控服務器狀態并即時報警,但美中不足的不能記錄其狀態及日志,所以設計此腳本;

②此腳本已在FreeBSD上成功調試運行,亦適用于RHEL/Centos系統;

③這里以常用生產服務器HPDL380G6(英特爾至強E5540@2.53GHz雙四核)為依據,r的閥值為4;

腳本內容如下

  1. #!/bin/bash  
  2. while :   
  3. do  
  4. vmr=`vmstat | tail -1 | awk '{print $1}'`  
  5. if [ ${vmr} -gt 4 ]  
  6. then  
  7. date   >> /root/monitor.txt  
  8. vmstat >> /root/monitor.txt  
  9. netstat -anp >> /root/monitor.txt  
  10. ps -aux>> /root/monitor.txt  
  11. last   >> /root/monitor.txt  
  12. tail -10 /var/log/messages >> /root/monitor.txt  
  13. fi  
  14. sleep 60 
  15. done  
  16.  

此腳本可放至后臺運行 sh /root/monitor.sh & ,如遇CPU繁忙的情況,它會自動記載系統日志等以供分析。

這里補充下vmstat的詳細信息。這部分資料參考南非蜘蛛,如有問題可咨詢本文作者撫琴煮酒:yuhongchun027@163.com。

用vmstat監視內存使用情況

vmstat是Virtual Meomory Statistics(虛擬內存統計)的縮寫,可對操作系統的虛擬內存、進程、CPU活動進行監視。它是對系統的整體情況進行統計,不足之處是無法對某個進程進行深入分析。

vmstat的語法如下:

vmstat [-V] [-n] [delay [count]]

其中,-V表示打印出版本信息;-n表示在周期性循環輸出時,輸出的頭部信息僅顯示一次;delay是兩次輸出之間的延遲時間;count是指按照這個時間間隔統計的次數。對于vmstat輸出各字段的含義,可運行man vmstat查看。

vmstat命令有四個可選標志可供使用。如果機器有虛擬地址緩存-c標志就改變輸出報告緩存刷新統計數據。報告包括自從系統啟動后每種緩存刷新全部總量。六個緩存類型是用戶,上下文,區域,段,頁,部分頁。

-i標志 使輸出變為報告中斷的數量。如果給出設備名,如d1,d2等,監控將在設備級*執行,(*注,參閱第十二章有關打開設備級監控的信息。)并報告每個給定設備的統計信息。

修改"普通"報告來顯示交換而非頁面調度活動的信息。這選項改變顯示的兩個字段:si(換入)和so(換出)替代了re和mf字段。

值得注意是,interval 和count選項對-i或-s選項是非法的。

vmstat 參數詳解

procs:
r-->在運行隊列中等待的進程數 
b-->在等待io的進程數 
w-->可以進入運行隊列但被替換的進程

memoy
swap-->現時可用的交換內存(k表示) 
free-->空閑的內存(k表示)

pages
re--》回收的頁面 
mf--》非嚴重錯誤的頁面 
pi--》進入頁面數(k表示) 
po--》出頁面數(k表示) 
fr--》空余的頁面數(k表示) 
de--》提前讀入的頁面中的未命中數 
sr--》通過時鐘算法掃描的頁面

disk 顯示每秒的磁盤操作。 s表示scsi盤,0表示盤號

fault 顯示每秒的中斷數 
in--》設備中斷 
sy--》系統中斷 
cy--》cpu交換

cpu 表示cpu的使用狀態
cs--》用戶進程使用的時間 
sy--》系統進程使用的時間 
id--》cpu空閑的時間

如果 r經常大于 4 ,且id經常少于40,表示cpu的負荷很重。

如果pi,po 長期不等于0,表示內存不足。

如果disk 經常不等于0, 且在 b中的隊列 大于3, 表示 io性能不好。

由vmstat看服務器

一般VMSTAT工具的使用是通過兩個數字參數來完成的,第一個參數是采樣的時間間隔數,單位是秒,第二個參數是采樣的次數。如:

[oracle@brucelau oracle]$ vmstat 1 2 
   procs                      memory    swap       io  system         CPU
r  b  w   swpd   free   buff  cache  si  so    bi    bo   in    cs  us  sy  id
1  0  0      0 271844 186052 255852   0   0     2     6  102    10   0   0 100
0  0  0      0 271844 186052 255852   0   0     0     0  104    11   0   0 100

(注:目前系統幾乎空閑,并且不同操作系統VMSTAT輸出內容有所不同)

目前說來,對于服務器監控有用處的度量主要有:

r(運行隊列)
pi(頁導入)
us(用戶CPU)
sy(系統CPU)
id(空閑)

通過VMSTAT識別CPU瓶頸

r(運行隊列)展示了正在執行和等待CPU資源的任務個數。當這個值超過了CPU數目,就會出現CPU瓶頸了。

獲得CPU個數的命令(LINUX環境):

cat /proc/cpuinfo|grep processor|wc –l

當r值超過了CPU個數,就會出現CPU瓶頸,解決辦法大體幾種:

1. 最簡單的就是增加CPU個數

2. 通過調整任務執行時間,如大任務放到系統不繁忙的情況下進行執行,進爾平衡系統任務

3. 調整已有任務的優先級 

通過VMSTAT識別CPU滿負荷

首先需要聲明一點的是,vmstat中CPU的度量是百分比的。當us+sy的值接近100的時候,表示CPU正在接近滿負荷工作。但要注意的是,CPU滿負荷工作并不能說明什么,UNIX總是試圖要CPU盡可能的繁忙,使得任務的吞吐量最大化。唯一能夠確定CPU瓶頸的還是r(運行隊列)的值。 

通過VMSTAT識別RAM瓶頸

數據庫服務器都只有有限的RAM,出現內存爭用現象是Oracle的常見問題。

首先察看RAM的數量,命令如下(LINUX環境):

[root@brucelau root]#free
           total       used       free       shared     buffers     cached
Mem:       1027348     873312     154036     185736     187496     293964
-/+ buffers/cache:       391852      635496
Swap:      2096440          0      2096440

當然可以使用top等其他命令來顯示RAM。

當內存的需求大于RAM的數量,服務器啟動了虛擬內存機制,通過虛擬內存,可以將RAM段移到SWAP DISK的特殊磁盤段上,這樣會出現虛擬內存的頁導出和頁導入現象,頁導出并不能說明RAM瓶頸,虛擬內存系統經常會對內存段進行頁導出,但頁導入操作就表明了服務器需要更多的內存了,頁導入需要從SWAP DISK上將內存段復制回RAM,導致服務器速度變慢。

解決的辦法有幾種:

1. 最簡單的,加大RAM

2. 改小SGA,使得對RAM需求減少

3. 減少RAM的需求(如:減少PGA)

【編輯推薦】

  1. Linux監控工具的展覽館
  2. 運維監控連載:開源監控利器nagios實戰全解
  3. Linux系統監控工具之vmstat詳解
責任編輯:yangsai 來源: 51CTO.com
相關推薦

2010-05-19 10:14:41

vmstatLinux系統監控工具

2011-03-04 11:18:15

Nagios監控Sphinx

2011-03-21 15:42:14

LinuxNagios

2011-03-25 15:37:17

Solarisnagios

2011-03-24 08:56:23

nagios監控

2011-03-23 09:05:40

Nagios監控

2011-03-23 09:07:38

Nagios安裝

2011-03-23 10:17:25

Nagios監控

2011-03-23 12:44:06

Nagios監控

2011-08-22 15:03:17

nagios

2014-03-19 17:22:33

2011-03-24 10:08:39

Nagios監控oracle

2011-03-04 10:47:06

Nagios監控Sphinx

2011-03-24 10:59:09

Nagios監控Mysql

2022-03-03 11:04:37

監控系統思路

2011-03-28 17:18:57

nagios監控iostat

2010-05-26 12:57:59

linux 系統監控

2011-04-01 15:42:13

CactiNagios

2011-03-21 14:53:27

Nagios監控Linux

2011-03-24 13:00:30

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品久久久久久久久久久免费看 | 日韩三级免费观看 | 日韩在线观看 | 欧美激情精品久久久久久变态 | 欧美日韩亚洲国产综合 | 亚洲三区在线观看 | 蜜桃精品视频在线 | 亚洲精品久久久久久久久久久久久 | 国产成人精品免高潮在线观看 | 久草在线 | 免费日韩av网站 | 国产一二区视频 | 成人精品区| 天天色影视综合 | 日韩二| 国产小视频在线观看 | 永久免费av | 黄一区二区三区 | 国产精品久久久久久久久久 | 天天操夜夜操 | 九九天堂网 | 精品久久久网站 | 欧美专区在线视频 | 99久久精品免费看国产四区 | 成人一区av偷拍 | 久久男人 | www久久av| 亚洲一区二区视频在线播放 | 国产ts人妖一区二区三区 | 久久这里有精品 | 人人澡视频 | 欧美高清一区 | 中文二区 | 一级片片 | 中日韩欧美一级片 | 在线亚洲欧美 | 一区二区三区欧美 | 亚洲三区在线观看 | 在线国产一区二区 | 青青伊人久久 | 99久热在线精品视频观看 |