You need to enable JavaScript to run this app. 单Bash脚本实现多项目Elasticsearch快照备份状态校验
优惠活动
大模型
产品
解决方案
定价
更多

单Bash脚本实现多项目Elasticsearch快照备份状态校验

单脚本实现多项目Elasticsearch快照备份校验方案

修改后可直接使用的完整脚本如下:

#!/bin/bash
# 定义所有需要校验的项目列表,后续新增/删除项目直接修改此处即可
PROJECTS=("emirates" "etihad" "flydubai" "airarabia")
# 指标输出文件路径
METRIC_FILE="/var/lib/node_exporter/textfile_collector/elasticsearch_backup_status.prom"

# 启动时先清空旧指标文件,避免残留已下线项目的无效数据
> "$METRIC_FILE"

# 遍历所有项目逐个执行备份校验
for project in "${PROJECTS[@]}"; do
    _BACKUP_STATUS=$(curl -s -X GET "10.0.45.101:9200/_cat/snapshots/$project?v&s=id&pretty" | tail -1 | awk '{ print $2 }')
    # 兜底判断:无快照记录时直接判定为校验失败
    if [[ $_BACKUP_STATUS = "SUCCESS" ]]; then
        metric_value=0
    else
        metric_value=1
    fi
    # 追加写入当前项目的校验指标
    echo "elasticsearch_backup_status{project=\"$project\", env=\"prod\", zone=\"dubai\"} $metric_value" >> "$METRIC_FILE"
done

核心修改说明:

  • 将所有待校验项目统一维护在脚本顶部的数组中,无需额外写调用脚本,后续调整校验范围只需修改数组即可
  • 新增执行前清空指标文件的逻辑,避免历史失效项目的指标残留影响监控准确性
  • 循环处理每个项目的校验请求,使用追加模式>>写入指标,保证所有项目的校验结果都能正常保存
  • 额外补充了快照为空的兜底判断逻辑,避免项目未创建快照时出现异常指标

内容的提问来源于stack exchange,提问作者noze_potato

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 18:36:01