开源shell脚本系列-检查etcd集群可用性

news2024/10/1 19:20:23

714dca29bac3da32e7ff5a3f1e413792.png

图好看不?AI生成的,这几天也在测试AI绘图这个东东,挺牛叉的。咱们的社区工具平台在PC的web端已经完成了。

大家没事可以去看看,设置个主页也行其实挺好的:https://www.98dev.com/index,主要用于一些关键性新闻的收集,数据实时更新。

有啥意见和建议可以留言提给我。有好的IT资讯或者资源可以推荐给我,我到时候都会集成进去。

正在研究手机端页面和小程序,然后再集成各种AI项目进去。大概是这个思路。

说正事!

波哥根据自己的日常工作情况开源一个关于etcd的shell脚本。这个功能我已经集成到公司项目中了,用python写的,关联性比较强没办法单独开源出来,花点时间用shell重写了版。有需要的可以试试或者在我这个基础上改改。

脚本说明:

    脚本需要可以指定集群地址,端口,账号密码以及脚本执行的循环次数。

脚本功能:

    可以输出集群可用性,会对集群的/test/test.txt进行写入,读取,删除测试。结果考虑有可能中文乱码,双语显示。

#!/bin/bash


# 配置etcd集群地址、端口、账号、密码
ETCD_ENDPOINTS="http://127.0.0.1:2379"
ETCD_USERNAME=""
ETCD_PASSWORD=""


# 验证集群可读可写性的key
ETCD_TEST_KEY="/test/test.txt"


# 循环次数
LOOP_TIMES=1


# 验证etcd集群是否健康
function check_cluster_health() {
  local health=$(ETCDCTL_API=3 etcdctl --endpoints=$ETCD_ENDPOINTS \
                --user=$ETCD_USERNAME:$ETCD_PASSWORD \
                endpoint health 2>&1)
  if [[ $health =~ "unhealthy" ]]; then
    echo "ETCD集群健康状态: 不健康"
    echo "ETCD Cluster Health: Unhealthy"
    echo $health
    exit 1
  else
    echo "ETCD集群健康状态: 健康"
    echo "ETCD Cluster Health: Healthy"
  fi
}


# 验证集群可读可写性
function check_read_write() {
  local value="hello world"
  # put
  ETCDCTL_API=3 etcdctl --endpoints=$ETCD_ENDPOINTS \
    --user=$ETCD_USERNAME:$ETCD_PASSWORD \
    put $ETCD_TEST_KEY "$value" >/dev/null
  if [[ $? -eq 0 ]]; then
    echo "写入ETCD集群成功,key: $ETCD_TEST_KEY, value: $value"
    echo "Write to ETCD cluster successfully, key: $ETCD_TEST_KEY, value: $value"
  else
    echo "写入ETCD集群失败,key: $ETCD_TEST_KEY, value: $value"
    echo "Write to ETCD cluster failed, key: $ETCD_TEST_KEY, value: $value"
    exit 1
  fi


  # get
  local ret=$(ETCDCTL_API=3 etcdctl --endpoints=$ETCD_ENDPOINTS \
              --user=$ETCD_USERNAME:$ETCD_PASSWORD \
              get $ETCD_TEST_KEY)
  if [[ "$ret" == *"$value"* ]]; then
    echo "从ETCD集群读取数据成功,key: $ETCD_TEST_KEY, value: $value"
    echo "Read from ETCD cluster successfully, key: $ETCD_TEST_KEY, value: $value"
  else
    echo "从ETCD集群读取数据失败,key: $ETCD_TEST_KEY, value: $value"
    echo "Read from ETCD cluster failed, key: $ETCD_TEST_KEY, value: $value"
    exit 1
  fi


  # delete
  ETCDCTL_API=3 etcdctl --endpoints=$ETCD_ENDPOINTS \
    --user=$ETCD_USERNAME:$ETCD_PASSWORD \
    del $ETCD_TEST_KEY >/dev/null

执行案例:

./etcd_check.sh
觉得不错别忘了给波哥点赞,分享哦!

波哥

IT行业近二十年的IT老炮。常年潜伏于国企、各一二线大厂中。硬件集成入行,直至虚拟技术、容器化。岗位历经系统集成、DBA、全栈开发、sre、项目经理、产品经理、部门总监。

主要作品:
  • IT类资源汇聚门户:https://www.98dev.com

  • 各大短视频平台:98dev

  • 各大主要技术论坛博客:IT运维技术圈

  • 长视频教学作品:《波哥讲网络》《波哥讲git》《波哥讲gitlab》

  • 小程序:IT面试精选

  • 构建技术社区:+V itboge1521 入学习交流群

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/370093.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java性能-理解G1 垃圾回收器

垃圾回收算法 理解G1 垃圾回收器 G1是在堆内离散的区域进行,各个区域(默认2048个),可能是老年代也可能是新生代并且区域不连续 实际上回收一个区域的时候仍然需要停止应用程序线程,但G1可以专注于回收那些大部分是垃…

判断字符串是否是纯数字不包括符号(含符号显示False)isnumeric()和isdigit()

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 判断字符串是否是纯数字 不包括符号(含符号显示False) isnumeric()和isdigit() [太阳]选择题 对于代码中当s为‘二十六’时isdigit()和isnumeric()输出的结果是? s …

机器学习笔记之近似推断(一)从深度学习角度认识推断

机器学习笔记之近似推断——从深度学习角度认识推断引言推断——基本介绍精确推断难的原因虽然能够表示,但计算代价太大无法直接表示引言 本节是一篇关于推断总结的博客,侧重点在于深度学习模型中的推断任务。 推断——基本介绍 推断(Inference\text{…

互联网医院建设|互联网医院远程问诊系统的功能有哪些?

互联网医院远程问诊系统已经得到了很好的应用,也解决了很多患者不方便复诊的问题,而且互联网医院功能也是根据不同的客户端有这不同的区分的,接下来带大家了解一下。 患者app端功能 预约挂号:支持门诊普通号预约、专家号定时抢约&…

Oracle SQL 性能分析原理与实战演练

作者 | JiekeXu来源 |公众号 JiekeXu DBA之路(ID: JiekeXu_IT)如需转载请联系授权 | (个人微信 ID:JiekeXu_DBA)大家好,我是 JiekeXu,很高兴又和大家见面了,今天和大家一起来看看 Oracle SQL 性能分析原理与实战演练,欢…

题解 # 二维矩阵最大矩形问题#

题目&#xff1a; 小明有一张N*M的方格纸&#xff0c;且部分小方格中涂了颜色&#xff0c;部分小方格还是空白。 给出N (2<Ns30)和M(2sMs30)的值&#xff0c;及每个小方格的状态(&#xff08;被涂了颜色小方格用数字1表示&#xff0c;空白小方格用数字0表示)&#xff1b; 请…

java泛型学习篇(一)

java泛型学习篇(一) 1 学习泛型前的传统思路 1.1 遍历集合中元素的方法 1.1.1 思路 ①用foreach进行遍历 ②把每个Object对象强转成所需类型 ③打印其值1.1.2 示例代码 import java.util.ArrayList; public class Generic01 {public static void main(String[] args) {lon…

机器学习:基于主成分分析(PCA)对数据降维

机器学习&#xff1a;基于主成分分析&#xff08;PCA&#xff09;对数据降维 作者&#xff1a;AOAIYI 作者简介&#xff1a;Python领域新星作者、多项比赛获奖者&#xff1a;AOAIYI首页 &#x1f60a;&#x1f60a;&#x1f60a;如果觉得文章不错或能帮助到你学习&#xff0c;可…

JavaWeb--HTTP

HTTP1 简介2 请求数据格式2.1 格式介绍3 响应数据格式3.1 格式介绍3.2 响应状态码3.2.1状态码大类3.2.2常见的响应状态码3.3 自定义服务器目标&#xff1a; 理解HTTP协议和HTTP请求与响应数据的格式 1 简介 HTTP概念 HyperText Transfer Protocol&#xff0c;超文本传输协议&a…

造成android UI卡顿的原因及解决方法

Android 系统每隔 16ms 会发出 VSYNC 信号重绘界面(Activity)。之所以是 16ms&#xff0c;是因为 Android 设定的刷新率是 60FPS(Frame Per Second)&#xff0c;也就是每秒 60 帧的刷新率&#xff0c;约合 16ms 刷新一次。如果UI线程的执行时间超过16ms&#xff0c;则会产生丢帧…

JavaSE08-运算符

文章目录一、算术运算符1.字符参与运算2.字符串参与 运算二、赋值运算符三、自增自减运算符四、比较运算符五、逻辑运算符六、三元运算符算术运算符、赋值运算符、自增自减运算符、比较运算符、逻辑运算符、三元运算符一、算术运算符 1.字符参与运算 char类型参与算术运算&…

Jmeter使用教程

目录一&#xff0c;简介二&#xff0c;Jmeter安装1&#xff0c;下载2&#xff0c;安装三&#xff0c;创建测试1&#xff0c;创建线程组2&#xff0c;创建HTTP请求默认值3&#xff0c;创建HTTP请求4&#xff0c;添加HTTP请求头5&#xff0c;添加断言6&#xff0c;添加查看结果树…

BoostSearcher搜索引擎项目

BoostSearcher搜索引擎项目 1.BoostSearcher这个项目是什么&#xff1f; 答&#xff1a;一个为Boost文档建立索引的站内搜索引擎&#xff0c;简单的说就是一个类似于csdn站内文档搜索框。 项目展示&#xff1a; gitee:https://gitee.com/zxlfx/boost-search-engine-project …

二叉树——堆

一&#xff0c;树的概念及结构 1.树 4.结点的度&#xff1a;一个节点含有子树的个数称为该结点的度&#xff1b;如&#xff1a;A 的度为6. 5.叶节点或终端节点&#xff1a;度为0的节点称为叶节点&#xff1b;如&#xff1a;B 6.非终端结点或分支节点&#xff1a;度部位0的结…

【华为OD机试模拟题】用 C++ 实现 - 吃火锅(2023.Q1)

最近更新的博客 华为OD机试 - 入栈出栈(C++) | 附带编码思路 【2023】 华为OD机试 - 箱子之形摆放(C++) | 附带编码思路 【2023】 华为OD机试 - 简易内存池 2(C++) | 附带编码思路 【2023】 华为OD机试 - 第 N 个排列(C++) | 附带编码思路 【2023】 华为OD机试 - 考古…

【华为OD机试模拟题】用 C++ 实现 - 分积木(2023.Q1)

最近更新的博客 华为OD机试 - 入栈出栈(C++) | 附带编码思路 【2023】 华为OD机试 - 箱子之形摆放(C++) | 附带编码思路 【2023】 华为OD机试 - 简易内存池 2(C++) | 附带编码思路 【2023】 华为OD机试 - 第 N 个排列(C++) | 附带编码思路 【2023】 华为OD机试 - 考古…

基于博客系统的测试用例

登陆界面博客预览页博客详情页博客编辑页

每日一题——L1-085 试试手气(15)

L1-085 试试手气 我们知道一个骰子有 6 个面&#xff0c;分别刻了 1 到 6 个点。下面给你 6 个骰子的初始状态&#xff0c;即它们朝上一面的点数&#xff0c;让你一把抓起摇出另一套结果。假设你摇骰子的手段特别精妙&#xff0c;每次摇出的结果都满足以下两个条件&#xff1a;…

【Java8】

1、接口中默认方法修饰为普通方法 在jdk8之前&#xff0c;interface之中可以定义变量和方法&#xff0c;变量必须是public、static、final的&#xff0c;方法必须是public、abstract的&#xff0c;由于这些修饰符都是默认的。 接口定义方法: public抽象方法需要子类实现 接口定…

TCP报文详解

目录 &#x1f407;今日良言:但尽全力,且让心安 &#x1f43c;一、TCP协议特点 &#x1f433;二、TCP协议段格式 &#x1f42f;三、TCP的10个核心机制 &#x1f41d;四、三次握手和四次挥手 &#x1f407;今日良言:但尽全力,且让心安 &#x1f43c;一、TCP协议特点 TCP :Tr…