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

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

https://www.rabbitmq.com/management-cli.htmlwget http://{mq_addr}:15672/cli/rabbitmqadminchmod +x rabbitmqadminmv rabbitmqadmin /usr/bin/rabbitmqadminrabbitmqadmin --bash-completion > /etc/bash_completion.d/rabbitmqadmin## 查看支持的子命令rabbitmqadmin help subcommands列出当前的 exchangesrabbitmqadmin list exchanges# Get a list of queues, with some columns specifiedrabbitmqadmin list queues vhost name node messages message_stats.publish_details.rate# Get a list of queues, with all the detail we can takerabbitmqadmin -f long -d 3 list queues# 列出当前的queuerabbitmqadmin list queues# 列出当前的vhostsrabbitmqadmin list vhosts# 查看rabbitmq的消息rabbitmqadmin get queue="qqqq1"  count=20 -f pretty_json   # 或者 -f table 格式输出(建议使用pretty_json)# 清空某个queuerabbitmqadmin purge queue name="qqqq1"

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

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

# 查看rabbitmq的消息: rabbitmqadmin get queue="qqqq1"  count=20 -f pretty_json# 清空某个queue: rabbitmqadmin purge queue name="qqqq1"
#!/bin/bashsource /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 10fiif [[ "${CHOICE}" == 'GET_MESSAGE' ]]; then    echo "rabbitmqadmin get queue=\"${QUEUE_NAME}\"  count=${NUMBER} -f pretty_json" > task.shelif [[ "${CHOICE}" == 'PURGE_MESSAGE' ]]; then    echo "rabbitmqadmin purge queue name=\"${QUEUE_NAME}\"" > task.shficat task.sh# 使用ansible将脚本推送到mq机器去执行(或者本地执行也行,只要rabbitmqadmin命令行里面配置下mq的连接参数即可)# ansible推送并执行的命令,这里我就不贴了。。。。

最终的效果:

©著作权归作者所有:来自51CTO博客作者我的二狗呢的原创作品,如需转载,请注明出处,否则将追究法律责任

你的鼓励让我更有动力

赞赏

0人进行了赞赏支持

更多相关文章

  1. Terraform,从一个简单的例子开始
  2. Gerrit升级实践:从2.15.x升级至3.2.x
  3. 这也能用Jenkins?快速实现一个定期批量登录远程虚拟机并支持添加
  4. PyCharm激活码,亲测有效(支持最新PyCharm2020.3 激活码)
  5. linux终端命令
  6. vim命令
  7. linux初始化配置
  8. 操作系统-进程的初步实现
  9. 构建自动化发布系统之jenkins、gitlab 、sonar结合

随机推荐

  1. 推荐一些能能提高生产力的 Python 库
  2. Python 中更优雅的日志记录方案
  3. 这个 Python 库有必要好好学学
  4. Python一行代码搞定炫酷可视化,你需要了解
  5. 震惊了!每30秒学会一个Python小技巧,Github
  6. GitHub Actions,卧槽!牛批!
  7. 如何用 Python 给照片换色
  8. 原创丨我在 GitHub 上发现了哪些好的学习
  9. 还记得当年你是如何接触Python的吗?
  10. 我们终于可以把 bug 留给子孙后代了