埠監控指令碼
對指定的埠列表分別進行監控
說明:
LSNPORTS引數指定要監聽的埠列表,以空格作為分割;
INTERVAL引數指定監控的時間間隔;
LOGPATH引數指定監控日誌存放路徑,如果該路徑不存在,則指令碼會自動新增。
日誌生成方式:按照埠,每個埠生成一個日誌檔案,各自存放。
每次狀態列表生成後都有一個簡單彙總,彙報此次監控所有的埠連線數。
日誌檔案格式:netstat[port]-yyyy-mm-dd.log
日誌檔案內容格式:
DATE:2008-06-23 12:29:01 >> *.8080 *.* 0 0 24576 0 LISTEN
DATE:2008-06-23 12:29:01 >> 218.108.243.67.8080 10.0.16.42.30467 1 0 24840 0 ESTABLISHED
DATE:2008-06-23 12:29:01 >> 218.108.243.67.8080 10.0.19.30.1272 17680 0 25840 0 FIN_WAIT_1
DATE:2008-06-23 12:29:01 >> 218.108.243.67.8080 10.0.31.36.1338 256288 0 24840 0 ESTABLISHED
DATE:2008-06-23 12:29:01 >> 218.108.243.67.8080 10.0.16.42.35565 65535 0 24840 0 ESTABLISHED
DATE:2008-06-23 12:29:01 >> 218.108.243.67.8080 10.0.16.42.31873 65535 0 24840 0 ESTABLISHED
DATE:2008-06-23 12:29:01 >> 218.108.243.67.8080 125.210.228.71.34502 11040 0 24840 0 TIME_WAIT
DATE:2008-06-23 12:29:01 >> 218.108.243.67.8080 10.0.16.42.34210 16560 0 24840 0 ESTABLISHED
DATE:2008-06-23 12:29:01 >> 218.108.243.67.8080 10.0.16.42.37854 16467 0 24840 0 ESTABLISHED
DATE:2008-06-23 12:29:01 >> 218.108.243.67.8080 10.0.16.42.37997 65535 0 24840 0 ESTABLISHED
DATE:2008-06-23 12:29:01 >> 218.108.243.67.8080 10.0.90.25.2298 65110 0 24840 0 ESTABLISHED
DATE:2008-06-23 12:29:01 >> 218.108.243.67.8080 10.0.31.36.1339 256680 0 24840 0 ESTABLISHED
DATE:2008-06-23 12:29:01 >> Total connections[8080]: 12
指令碼內容如下:
#!/bin/sh
LSNPORTS="8080 23234 23345 1521";
INTERVAL=30;
iter=0;
LOGPATH=$HOME/lyon/toplog/logs;
if [ -n $LOGPATH ]; then
mkdir -p $LOGPATH;
fi;
while [ 1 ]; do
for port in $LSNPORTS
do
CCTLST=`netstat -an | grep ".$port" | awk 'BEGIN{OFS="|";}{print $1,$2,$3,$4,$5,$6,$7;}'`;
LOGDATE=`date +%Y-%m-%d`;
LOGFILE="${LOGPATH}/netstat[${port}]-${LOGDATE}.log";
LOGTIME=`date '+DATE:%Y-%m-%d %H:%M:%S'`;
for ns in $CCTLST
do
NETLST=`echo $ns | awk -F"|" 'BEGIN{OFS=" ";}{print $1,$2,$3,$4,$5,$6,$7;}'`;
iter=`expr $iter + 1`;
loginfo=`echo "$LOGTIME" ">>" "$NETLST"`;
echo "$loginfo" >> $LOGFILE;
#echo "$loginfo";
done;
echo "$LOGTIME >> Total connections[$port]: " $iter >> $LOGFILE;
#echo "Total connections[$port]: " $iter;
iter=0;
sleep $INTERVAL;
done;
done;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12932950/viewspace-578360/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【shell】磁碟監控指令碼指令碼
- PostgreSQL之鎖監控指令碼SQL指令碼
- 監控系統告警指令碼集合指令碼
- Shell 系統資訊監控指令碼指令碼
- 監控磁碟使用率的shell指令碼指令碼
- 網路卡流量監控指令碼,python實現指令碼Python
- centos 監控web站點是否500 指令碼CentOSWeb指令碼
- shell指令碼:監控MySQL服務是否正常指令碼MySql
- Shell指令碼監控MySQL主從狀態指令碼MySql
- shell指令碼監控啟動停止weblogic服務指令碼Web
- 關於前端指令碼異常監控的思考前端指令碼
- 在 Linux 上用 Bash 指令碼監控 messages 日誌Linux指令碼
- 使用Shell指令碼程式監控網站URL是否正常指令碼網站
- 寫了個監控 ElasticSearch 程式異常的指令碼!Elasticsearch指令碼
- Linux埠探測指令碼Linux指令碼
- 透過shell指令碼監控日誌切換頻率指令碼
- 基於Ping和Telnet/NC的監控指令碼案例分析指令碼
- zabbix-mongodb監控指令碼(高效能、低佔用)MongoDB指令碼
- Python實現遠端埠監控例項Python
- MySQL 5.6大查詢和大事務監控指令碼(Python 2)MySql指令碼Python
- 分享實用監控指令碼:使用Shell檢查程式是否存在指令碼
- 利用 Shell 指令碼來監控 Linux 系統的記憶體指令碼Linux記憶體
- 用於自動監控磁碟使用情況的 Shell 指令碼指令碼
- CommMonitor 如何開始、暫停、停止監控串列埠?串列埠
- sqlserver監控指令碼_發現某個等待就發出郵件SQLServer指令碼
- 用 Bash 指令碼監控 Linux 上的記憶體使用情況指令碼Linux記憶體
- PowerShell 指令碼來監控 CPU、記憶體和磁碟使用情況:指令碼記憶體
- 如何用bash shell 指令碼監控 Linux記憶體、磁碟和 CPU?指令碼Linux記憶體
- 通過shell指令碼防止埠掃描指令碼
- Linux下針對伺服器網路卡流量和磁碟的監控指令碼Linux伺服器指令碼
- 用 Linux Shell 指令碼來監控磁碟使用情況併傳送郵件Linux指令碼
- 黑盒監控、日誌監控
- 案例五:shell指令碼實現定時監控http服務的執行狀態指令碼HTTP
- 6.prometheus監控--監控dockerPrometheusDocker
- TiDB監控實現--存活監控TiDB
- 【Azure Redis 快取】使用Python程式碼獲取Azure Redis的監控指標值 (含Powershell指令碼方式)Redis快取Python指標指令碼
- 寶塔liunx控制皮膚,監控程式斷了以後自動重啟的指令碼指令碼
- 監控
- 聊聊前端監控——錯誤監控篇前端