收到有关RabbitMQ集群分区的通知
如果您在集群中運行RabbitMQ,則集群不太可能會被分區 (集群的一部分失去與其余部分的連接)。 上面的鏈接頁面介紹了顯示狀態和配置行為的基本命令。 當發生分區時,您首先希望得到通知,然后進行解決。
RabbitMQ實際上使用cluster_partition_handling配置自動處理第二個。 它具有三個值:ignore,pause_minority和autoheal。 上面鏈接的分區指南也對此進行了說明(“我應該選擇哪種模式?”)。 請注意,無論您選擇什么,都遇到問題,必須恢復連接。 例如,在前一小節中我解釋了在多可用區設置中,最好使用pause_minority然后手動重新連接。
幸運的是,檢測分區非常簡單。 如果沒有分區,那么status命令的“ partitions”元素為空,如果有分區,則為非空的partitions元素,或者根本沒有這樣的元素。 因此,此行進行檢測:
clusterOK=$(sudo rabbitmqctl cluster_status | grep "{partitions,\[\]}" | wc -l)例如,您可能希望將該腳本安排為每分鐘運行一次。 處理結果取決于您使用的工具(Nagios,CloudWatch等)。 對于Nagios ,實際上有一個現成的插件 。 如果是AWS CloudWatch,則可以執行以下操作:
if [ "$clusterOK" -eq "0" ]; thenecho "RabbitMQ cluster is partitioned"aws cloudwatch put-metric-data --metric-name $METRIC_NAME --namespace $NAMESPACE --value 1 --dimensions Stack=$STACKNAME --region $REGION elseaws cloudwatch put-metric-data --metric-name $METRIC_NAME --namespace $NAMESPACE --value 0 --dimensions Stack=$STACKNAME --region $REGION fi發生分區時,重要的事情將得到通知。 此后,它取決于特定的應用程序,問題,隊列的配置(耐用,鏡像等)。
翻譯自: https://www.javacodegeeks.com/2015/04/getting-notified-about-rabbitmq-cluster-partitioning.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的收到有关RabbitMQ集群分区的通知的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ddos攻击平台(ddos攻击 ping
- 下一篇: (linux ftp用户)