前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用 rabbitmqadmin 实现 cli命令行下的mq简单运维

使用 rabbitmqadmin 实现 cli命令行下的mq简单运维

作者头像
保持热爱奔赴山海
发布2021-03-14 20:33:17
9750
发布2021-03-14 20:33:17
举报
文章被收录于专栏:DevOps数据库相关

使用 rabbitmqadmin 实现 cli命令行下的mq简单运维

rabbitmqadmin的安装和常用命令如下:

代码语言:javascript
复制
https://www.rabbitmq.com/management-cli.html

wget http://{mq_addr}:15672/cli/rabbitmqadmin

chmod +x rabbitmqadmin
mv rabbitmqadmin /usr/bin/rabbitmqadmin

rabbitmqadmin --bash-completion > /etc/bash_completion.d/rabbitmqadmin

## 查看支持的子命令
rabbitmqadmin help subcommands

列出当前的 exchanges
rabbitmqadmin list exchanges

# Get a list of queues, with some columns specified
rabbitmqadmin list queues vhost name node messages message_stats.publish_details.rate

# Get a list of queues, with all the detail we can take
rabbitmqadmin -f long -d 3 list queues

# 列出当前的queue
rabbitmqadmin list queues

# 列出当前的vhosts
rabbitmqadmin list vhosts

# 查看rabbitmq的消息
rabbitmqadmin get queue="qqqq1"  count=20 -f pretty_json   # 或者 -f table 格式输出(建议使用pretty_json)

# 清空某个queue
rabbitmqadmin purge queue name="qqqq1"

下面我们基于rabbitmqadmin+jenkins实现一个自助式的小功能

原理: 使用rabbitmqadmin这个python命令行去执行相关的命令获取mq的信息(建议在mq机器上执行)

代码语言:javascript
复制
# 查看rabbitmq的消息: rabbitmqadmin get queue="qqqq1"  count=20 -f pretty_json
# 清空某个queue: rabbitmqadmin purge queue name="qqqq1"
代码语言:javascript
复制
#!/bin/bash

source /etc/profile

# 这里生成对应的脚本,然后通过ansible下发到mq-01上去执行,并获取返回值

echo ${CHOICE}
echo ${QUEUE_NAME}
echo ${NUMBER}
echo ${confirm}

workspace='/tmp'/

cd ${workspace}

if [ "${confirm}" == 'NO' ]; then
  echo "您刚才选择的是NO, 脚本将不再往下执行。"
  exit 10
fi

if [[ "${CHOICE}" == 'GET_MESSAGE' ]]; then
    echo "rabbitmqadmin get queue=\"${QUEUE_NAME}\"  count=${NUMBER} -f pretty_json" > task.sh
elif [[ "${CHOICE}" == 'PURGE_MESSAGE' ]]; then
    echo "rabbitmqadmin purge queue name=\"${QUEUE_NAME}\"" > task.sh
fi

cat task.sh

# 使用ansible将脚本推送到mq机器去执行(或者本地执行也行,只要rabbitmqadmin命令行里面配置下mq的连接参数即可)
# ansible推送并执行的命令,这里我就不贴了。。。。

最终的效果:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/03/14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用 rabbitmqadmin 实现 cli命令行下的mq简单运维
    • rabbitmqadmin的安装和常用命令如下:
      • 下面我们基于rabbitmqadmin+jenkins实现一个自助式的小功能
        • 最终的效果:
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档