1.http://192.168.1.144:9093/#/alerts 显示的告警时间是UTC时间
2.脚本的变量
{"status":"success"}[root@k8s elasticsearch]# cat vars_config.conf|egrep -v '#'
INDEX_FILE="/opt/elasticsearch/indices_file.txt"
ELASTICSEARCHDUMP_CMD="/usr/local/node-v10.16.2-linux-x64/bin/elasticdump"
OUTPUT_DIR="/data/backup/elasticsearch$(date +%Y%m%d%H%M%S)"
INPUT_DIR="/data/backup/elasticsearch$(date +%Y%m%d%H%M%S)"
BACKUP_ESURL="http://192.168.1.49:9200"
REVOVER_ESURL="http://192.168.1.144:9200"
ALERT_URL="http://192.168.1.144:9093/api/v1/alerts"
FAILALERT='[
{
"labels": {
"local_time": "bjsj",
"alertname": "esname",
"instance": "192.168.1.49",
"level": "critical..."
},
"alert": {
"startsAt": "2019-11-11 11:11:11"
},
"annotations": {
"description": "elasticsearch backup FAIL--descriptionfail"
}
}
]'
SUCCESSALERT='[
{
"labels": {
"local_time": "bjsj",
"alertname": "123456ALERTname",
"instance": "192.168.1.49",
"level": "info..."
},
"alert": {
"startsAt": "2019-11-11 11:11:11"
},
"annotations": {
"description": "es backup SUCCESS--descriptionsuccess",
"summary": "es backup DONE..."
},
"startsAt": "rfcstartat",
"endsAt": "rfcendat"
}
]'
3.发送脚本
[root@k8s elasticsearch]# cat backup_es.sh|egrep -v '#'
source ./vars_config.conf
sleep 3
if [ ! -d "$OUTPUT_DIR" ]
then
mkdir -p "$OUTPUT_DIR"
fi
echo "$FAILALERT" > local_time.txt
for index in `cat $INDEX_FILE`
do
$ELASTICSEARCHDUMP_CMD --input=${BACKUP_ESURL}/$index --output=${OUTPUT_DIR}/${index}.map --type=mapping --limit=10000 --concurrency=1
if [[ $? -ne 0 ]];then
curl -XPOST -d"`cat jsondata.txt`" $ALERT_URL
exit 1
fi
$ELASTICSEARCHDUMP_CMD --input=${BACKUP_ESURL}/$index --output=${OUTPUT_DIR}/${index}.settings --type=settings --limit=10000 --concurrency=1
if [[ $? -ne 0 ]];then
curl -XPOST -d"`cat jsondata.txt`" $ALERT_URL
exit 1
fi
$ELASTICSEARCHDUMP_CMD --input=${BACKUP_ESURL}/$index --output=${OUTPUT_DIR}/${index}.data --type=data --limit=10000 --concurrency=1
if [[ $? -ne 0 ]];then
curl -XPOST -d"`cat jsondata.txt`" $ALERT_URL
exit 1
fi
done
echo "$SUCCESSALERT" > jsondata.txt
date -d'+ 480min' --rfc-3339=seconds |sed 's/ /T/g' >bjsj_startat.txt
date -d'+ 481min' --rfc-3339=seconds |sed 's/ /T/g' >bjsj_endat.txt
curl -XPOST -d"`cat jsondata.txt`" $ALERT_URL
-------------------------------------------
告警ui默认使用UTC时间
https://prometheus.io/docs/alerting/clients/
通过调整后变成北京时间
用一个例子来演示会更加清晰