Bash監控Logstash寫入HDFS效能指令碼

2021-08-04 08:49:02 字數 1427 閱讀 5889

我們通過這五個方面來進行監控:寫入hdfs檔案的大小、cpu使用率、記憶體使用率、namenode程序的cpu、記憶體使用率和datanode程序的cpu、記憶體使用率。

(1)hdfs檔案大小:

#!/bin/bash

##獲取寫入檔案的大小(單位為b)

path='******'

size=`hadoop fs -count $ | awk ''`

(2)cpu使用率:

使用top得到cpu的使用情況,再截取出cpu的相關使用率字串(由於使用top -n 1得到的結果是一樣的)

#!/bin/bash

##獲取cpu的使用率

cpu_user_used=`top -b -n 2 | grep cpu | tail -1 | awk ''`

(3)記憶體使用率:

使用量除以總量便可得到使用率

#!/bin/bash

##獲取記憶體的使用率

mem_used=`free | grep mem | awk ''`

(4)namenode程序的cpu、記憶體使用率:

namenode和datanode的程序我們使用jps得到程序的pid;由於grep會截取出secondarynamenode和namenode,這裡用grep -w進行全匹配

#!/bin/bash

##獲取namenode的cpu、記憶體使用率

namenode_pid=`jps | grep -w namenode | awk ''`

##echo $namenode_pid

namenode_use=`top -b -n 2 -d 3| grep $ | grep hdfs | tail -1 | awk ''`

(5)datanode程序的cpu、記憶體使用率:

#!/bin/bash

##獲取datanode的cpu、記憶體使用率

datanode_pid=`jps | grep datanode | awk ''`

##echo $datanode_pid

datanode_use=`top -b -n 2 -d 1| grep $ | grep hdfs | tail -1 | awk ''`

result="$b, $ $, $, $"echo $result

echo $result >> result.txt

執行指令碼,我們可以得到以下結果:

專案 仿寫bash程式

專案目標 在linux平台下仿寫一些命令的實現 1.輸出提示符資訊,類似於 stu host desktop 2.等待使用者輸入命令 3.完成簡單的解析 沒輸入命令情況 直接敲回車 輸入內建命令的情況 cd exit.輸入外接命令的情況 ls.的總體框架就是這樣的 要想實現上述功能我們要清楚linu...

ELK學習筆記之logstash將配置寫在多個檔案

我們用logsatsh寫配置檔案的時候,如果讀取的檔案太多,匹配的正則過多,會使配置檔案動輒成百上千行 可能會造成閱讀和修改困難。這時候,我們可以將配置檔案的輸入 過濾 輸出分別放在不同的配置檔案裡,甚至把輸入 過濾 輸出再次分離,放在不同的檔案裡。這時候,後期再需要增刪改查內容的時候,就容易維護了...

Linux專案 仿寫bash程式

include include include include include include include include include define num 20 define length 128 char oldpwd length 儲存上一次的工作路徑 輸出提示符 void print...