日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux时钟告警,Linux记录-告警脚本

發布時間:2024/1/23 linux 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux时钟告警,Linux记录-告警脚本 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

#!/bin/bash

export JAVA_HOME=/app/jdk/jdk1.8.0_92

export HADOOP_CONF_DIR=/home/hdfs/balancer/hadoop-conf

rm -f hostname.txt

rm -f dfused.txt

rm -f hostdfs.txt

rm -f hostdfs_alert.txt

###獲取大于97%的主機名和dfs used%

function checkdfs(){

echo "start checking hdfs used rate"

hdfs dfsadmin -report | grep -i "50010" | awk -F ":" ‘{print $2}‘| awk ‘{print $1}‘ > hostname.txt

hdfs dfsadmin -report | grep "DFS Used%" | awk -F ": " ‘{print $2}‘ | awk -F "%" ‘{print $1}‘ > dfused.txt

livesum=$(hdfs dfsadmin -report | grep "Live datanodes" | awk ‘{print $3}‘ | awk -F "):" ‘{print $1}‘ | awk -F "(" ‘{print $2}‘)

echo $livesum

sed -i ‘1d‘ dfused.txt

let livesum+=1

sed -i $livesum‘,$d‘ dfused.txt

sed -i $livesum‘,$d‘ hostname.txt

linesum=$(cat hostname.txt | wc -l)

echo $linesum

harr=($(awk ‘{print $1}‘ hostname.txt))

darr=($(awk ‘{print $1}‘ dfused.txt))

if [ $linesum -gt 0 ]

then

for (( i = 0 ; i < ${#harr[@]} ; i++ ))

do

for (( j = 0 ; j < ${#darr[@]} ; j++ ))

do

if [ $i -eq $j ]

then

echo ${harr[$i]} ":" ${darr[$j]} >> hostdfs.txt

fi

done

done

else

echo "Not Live Datanodes"

fi

ddarr=($(cat hostdfs.txt | awk ‘$3>97{print $3}‘ |sort -ru))

for (( m = 0; m< ${#ddarr[@]} ; m++ ))

do

if [[ $(echo $(cat hostdfs.txt) | grep "${ddarr[$m]}") != "" ]]

then

echo $(cat hostdfs.txt | grep "${ddarr[$m]}" | awk ‘NR==1{print $1}‘) ":" ${ddarr[$m]} >> hostdfs_alert.txt

fi

done

}

checkdfs

url="http://xxx/monitor/report/sendReport"

linenum=$(cat hostdfs_alert.txt | wc -l)

let linenum+=1

echo $linenum

#上報數據

function postdfs(){

for (( k = 1; k< $linenum ; k++ ))

do

key=$(echo $(sed -n "$k p" hostdfs_alert.txt | awk -F ":" ‘{print "bdp.ops."$1".##cluster=bdp##env=prod"}‘) | awk ‘{gsub(/[[:blank:]]*/,"",$0);print $0;}‘ )

echo $key >>key.txt

value=$(sed -n "$k p" hostdfs_alert.txt | awk -F ": " ‘{print $2}‘)

data="{\"key\":\"$key\",\"value\":\"$value\"}"

echo $data

cmd="curl -s -X POST -H ‘Content-type‘:‘application/json‘ -d ‘${data}‘ ${url}"

sh -c "$cmd"

done

}

postdfs

data_expression="x>97"

data_time=5

data_count=1

data_alertMode="1,2,3"

data_members="01384016"

add_url="http://xxx/monitor/rule/addReport"

keynum=$(cat key.txt | wc -l)

let keynum+=1

echo $keynum

function dfsalert(){

for((n=1;n

do

data_key=$(sed -n "$n p" key.txt | awk ‘{print $1}‘)

str1=$(sed -n "$n p" key.txt | awk -F "." ‘{print $3"."$4"."$5"."$6}‘)

str2="以下主機IP HDFS使用已經超過97%:"

data_description=${str2}${str1}

add_data="{\"id\":\"$data_key\",\"expression\":\"$data_expression\",\"time\":$data_time,\"count\":$data_count,\"alertMode\":\"$data_alertMode\",\"members\":\"$data_members\",\"description\":\"$data_description\"}"

echo $add_data

add_cmd="curl -s -X POST -H ‘Content-type‘:‘application/json‘ -d ‘${add_data}‘ ${add_url}"

sh -c "$add_cmd"

done

}

dfsalert

總結

以上是生活随笔為你收集整理的linux时钟告警,Linux记录-告警脚本的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。