天天看點

linux shell中擷取mongodb最大連接配接數、記憶體使用情況等

前兩天接到了一個新的需求,需要在linux shell腳本中監控到mongodb最大連接配接數、記憶體使用情況等。

但是我對于linux shel很不了解,隻是會一些簡單常用的linux的操作而已,隻要一頓狂搜,最終多番嘗試下終于擷取到這些值。

成功的步驟大緻如下:

0、

把mongodb監控到的一行資料以json格式寫入到aaa.txt檔案中

1、 

讀取aaa.txt中的内容并指派給a

擷取mapped映射到記憶體的資料大小:

2、

 擷取字元串變量a中的子字元串“mapped”的下标,并指派給indma

3、

給變量ind加8,把結果指派給indma1

4、

擷取字元串變量a中的子字元串“netin”的下标,并指派給indma0

5、

給變量indma0減4,把結果指派給indma2

6、

擷取字元串a中下标indma1到indma2之間的子字元串并指派給mastr,即mapped的值

擷取實體記憶體使用量:

7、

擷取字元串變量a中的子字元串“res”的下标,并指派給indre

8、

給變量indre加5,把結果指派給indre1

9、

擷取字元串變量a中的子字元串“time”的下标,并指派給indre0

10、

給變量indre0減4,把結果指派給indre2

11、

擷取字元串a中下标indre1到indre2之間的子字元串并指派給restr,即res的值

擷取虛拟記憶體使用量:

12、

 擷取字元串變量a中的子字元串“vsize”的下标,并指派給indvs

13、

給變量indvs加5,把結果指派給indvs1

14、

擷取字元串變量a的總長度

15、

給變量indvs0減3,把結果指派給indvs2

16、

擷取字元串a中下标indvs1到indvs2之間的子字元串并指派給vsstr,即vsize的值

擷取目前連接配接數:

17、 

擷取字元串變量a中的子字元串“conn”的下标,并指派給indco

18、

給變量indco加6,把結果指派給indco1

19、 

 擷取字元串變量a中的子字元串“delete”的下标,并指派給indco0

20、

給變量indco0減4,把結果指派給indco2

21、

擷取字元串a中下标indco1到indco2之間的子字元串并指派給costr,即conn的值

最大連接配接數819,空閑連接配接數可以根據最大連接配接數和目前連接配接數算出來。

繼續閱讀