最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

藍(lán)鯨rabbitmq監(jiān)控實(shí)踐

2023-08-23 15:56 作者:騰訊藍(lán)鯨智云  | 我要投稿

> 本文來自騰訊藍(lán)鯨智云社區(qū)用戶:vinco


rabbitmq是藍(lán)鯨所依賴的消息隊列服務(wù),影響著多個服務(wù),如作業(yè)平臺、標(biāo)準(zhǔn)運(yùn)維、監(jiān)控平臺、節(jié)點(diǎn)管理、日志平臺等。因?yàn)閞abbitmq服務(wù)異常而導(dǎo)致的故障往往比較隱蔽,這類故障往往無法在頁面直接反饋出來。在生產(chǎn)環(huán)境中曾遇到過因?yàn)閞abbitmq異常,導(dǎo)致作業(yè)任務(wù)以及標(biāo)準(zhǔn)運(yùn)維任務(wù)執(zhí)行卡住的情況,如果故障發(fā)生在夜間,會導(dǎo)致一些重要的定時任務(wù)無法按照預(yù)期執(zhí)行,容易造成一些重大運(yùn)維事故。所以通過監(jiān)控掌握rabbitmq服務(wù)的運(yùn)行情況,對于整個藍(lán)鯨服務(wù)的正常運(yùn)行至關(guān)重要。這里提供一個rabbitmq監(jiān)控實(shí)踐總結(jié)。

rabbitmq_exporter

rabbitmq監(jiān)控指標(biāo)采集使用開源的rabbitmq_exporter,本身監(jiān)控平臺就支持各類exporter插件,這里我們可以拿來即用。如果是監(jiān)控平臺版本是V3.6.3029或者版本相近的,可以直接使用文末附件導(dǎo)入,其他版本的監(jiān)控平臺沒有測試過。

啟用rabbitmq_management插件

rabbitmq_exporter采集依賴于rabbitmq啟用rabbitmq_management插件。

rabbitmq_management 插件是 RabbitMQ 提供的一個管理插件,讓用戶可以通過圖形化的方式來管理 RabbitMQ,它還提供一系列接口,rabbitmq_exporter通過請求這些接口來獲取rabbitmq的各項指標(biāo)。

通過以下命令啟用rabbitmq_management插件

rabbitmq-plugins enable rabbitmq_management

插件啟用不需要重啟rabbitmq,如果是rabbitmq集群,則每個rabbitmq節(jié)點(diǎn)都需要啟用rabbitmq_management

rabbitmq_management插件啟用成功后,會在節(jié)點(diǎn)上監(jiān)聽15672端口

下載rabbitmq_exporter

Release下載地址:https://github.com/kbudde/rabbitmq_exporter/releases

Linux選擇最新版本即可:?rabbitmq_exporter

下載并解壓至本地

rabbitmq_exporter_1.0.0-RC19_linux_amd64.tar.gz ? |- LICENSE ? |- README.md ? |- rabbitmq_exporter

監(jiān)控平臺導(dǎo)入exporter插件

「插件」-「新建」- 「插件類型選擇Exporter」-「上傳rabbitmq_exporter」

綁定端口:9419

綁定主機(jī):127.0.0.1

定義以下環(huán)境變量參數(shù):

參數(shù)類型默認(rèn)值類型默認(rèn)值RABBIT_URL環(huán)境變量文本http://127.0.0.1:15672RABBIT_USER*環(huán)境變量文本adminRABBIT_PASSWORD環(huán)境變量密碼無PUBLISH_PORT環(huán)境變量文本${port}PUBLISH_ADDR環(huán)境變量文本${host}RABBIT_EXPORTERS*環(huán)境變量文本exchange,node,overview,queue,alivenessALIVENESS_VHOST*環(huán)境變量文本/

RABBIT_USER:任意一個tag=management用戶都可以,rabbitmqctl list_users命令可以查看用戶tag

RABBIT_EXPORTERS:rabbitm_exporter把指標(biāo)分成了module,可以認(rèn)為是進(jìn)行了分類,RABBIT_EXPORTERS表示要采集的指標(biāo)類別

ALIVENESS_VHOST:利用rabbitmq 的aliveness接口探測服務(wù)狀態(tài),接口會默認(rèn)在探測的vhost下創(chuàng)建名為aliveness-test的隊列,接口通過對aliveness-test隊列消息的發(fā)送和接收來判斷rabbitmq服務(wù)狀態(tài),確保RABBIT_USER設(shè)置的用戶具有對ALIVENESS_VHOST指定的vhost有創(chuàng)建queue的權(quán)限,比如RABBIT_USER指定為admin,執(zhí)行rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"?為admin用戶授權(quán)

調(diào)試插件,選擇一臺rabbitmq進(jìn)行調(diào)試,并保存指標(biāo),如果指標(biāo)名和監(jiān)控平臺保留字沖突,需要先轉(zhuǎn)換指標(biāo)名才能保存

采集

「數(shù)據(jù)采集」-「新建」-「填寫采集名稱和RABBIT_PASSWORD」

RABBIT_PASSWORD為rabbitmq的admin密碼,其他保持默認(rèn)即可

采集目標(biāo)選擇「動態(tài)拓?fù)洹?「藍(lán)鯨 / 公共組件 / rabbitmq」-「完成采集下發(fā)」

監(jiān)控儀表盤

rabbitmq_exporter采集的和rabbitmq相關(guān)的指標(biāo),都帶有rabbimtq_的前綴

以下幾個指標(biāo)需要特別關(guān)注,其他指標(biāo)請參考:https://github.com/kbudde/rabbitmq_exporter

指標(biāo)名描述Label(維度)aliveness_infoaliveness狀態(tài),1或0無up節(jié)點(diǎn)存活狀態(tài),1或0nodeuptime節(jié)點(diǎn)運(yùn)行時長(ms)cluster, node, self*running狀態(tài)為running的節(jié)點(diǎn)數(shù)量cluster, node, selfnode_mem_used節(jié)點(diǎn)已使用的內(nèi)存數(shù)量(byte)cluster, node, selfnode_mem_limit*節(jié)點(diǎn)內(nèi)存限制(byte),默認(rèn)是節(jié)點(diǎn)內(nèi)存的40%cluster, node, selfnode_mem_alarmrabbitmq內(nèi)存使用率達(dá)到node_mem_limit時告警,1告警,0不告警cluster, node, selfnode_disk_free內(nèi)存空閑量(byte)cluster, node, selfnode_disk_free_limit內(nèi)存空閑量限制(byte),默認(rèn)是50MBcluster, node, selfnode_disk_free_alarm內(nèi)存空閑量小于node_disk_free_limit時告警,1告警,0不告警cluster, node, selfpartitions網(wǎng)絡(luò)分區(qū)數(shù),發(fā)生網(wǎng)絡(luò)分區(qū)是為2,正常為0cluster, node, selfqueue_messages_readyready的消息數(shù)量cluster, vhost, queue, durable, policy, selfqueue_messages_unacknowledgedunacknowledged的消息數(shù)量cluster, vhost, queue, durable, policy, selfqueue_memory隊列占用的內(nèi)存大?。╞yte)cluster, vhost, queue, durable, policy, self

self:self=1表示該條數(shù)據(jù)是當(dāng)前節(jié)點(diǎn)的數(shù)據(jù),rabbitmq_exporter訪問當(dāng)前節(jié)點(diǎn)的management接口,可以獲取到集群所有節(jié)點(diǎn)的數(shù)據(jù),用self這個label就可能表示獲取到的指標(biāo)是否是屬于當(dāng)前節(jié)點(diǎn),比如在節(jié)點(diǎn)rabbit@VM-240-33-centos.node.consul上采集的rabbitmq_uptime指標(biāo),就包含了所有節(jié)點(diǎn)的uptime數(shù)據(jù)。

# 在rabbit@VM-240-33-centos.node.consul節(jié)點(diǎn)上執(zhí)行curl -s 127.0.0.1:9419/metrics | grep rabbitmq_uptime rabbitmq_uptime{cluster="rabbit@VM-240-18-centos",node="rabbit@VM-240-18-centos.node.consul",self="0"} 1.260266076e+09 rabbitmq_uptime{cluster="rabbit@VM-240-18-centos",node="rabbit@VM-240-33-centos.node.consul",self="1"} 1.433729125e+09 ?

node_mem_limit:對應(yīng)vm_memory_high_watermark配置,默認(rèn)情況下 vm_memory_high_watermark 的值為0.4,即內(nèi)存閾值為 0.4, 表示當(dāng) RabbitMQ 使用的內(nèi)存超過 40%時,就會產(chǎn)生內(nèi)存告警井阻塞所有生產(chǎn)者的連接。一旦告警被解除(有消息被消費(fèi)或者從內(nèi)存轉(zhuǎn)儲到磁盤等情況的發(fā)生), 一切都會恢復(fù)正常。

文末提供儀表盤附件導(dǎo)入

監(jiān)控告警策略

建議設(shè)置以下指標(biāo)告警:

指標(biāo)名靜態(tài)閾值描述rabbitmq_uptime<600000服務(wù)重啟告警rabbitmq_up<1節(jié)點(diǎn)失活告警rabbitmq_aliveness_info<1服務(wù)異常告警rabbitmq_node_mem_alarm>=1內(nèi)存使用達(dá)到閾值告警rabbitmq_partitions>=2出現(xiàn)網(wǎng)絡(luò)分區(qū)告警rabbitmq_node_mem_used>節(jié)點(diǎn)內(nèi)存的35%內(nèi)存使用告警

建議再加上藍(lán)鯨平臺自帶的應(yīng)用內(nèi)存率告警和磁盤使用率告警

附件

儀表盤
采集&策略&儀表盤
rabbitmq_exporter

查看更多藍(lán)鯨運(yùn)維文章,請?zhí)D(zhuǎn):藍(lán)鯨運(yùn)維手冊大全


藍(lán)鯨rabbitmq監(jiān)控實(shí)踐的評論 (共 條)

分享到微博請遵守國家法律
萝北县| 兖州市| 和静县| 迭部县| 荣成市| 南溪县| 自治县| 通化市| 谷城县| 西青区| 汉源县| 浮山县| 平顶山市| 深州市| 嘉禾县| 海兴县| 开封市| 贡嘎县| 天气| 社会| 固镇县| 紫金县| 祥云县| 贵州省| 北京市| 原平市| 车险| 扎鲁特旗| 马公市| 宁强县| 彭阳县| 澜沧| 镇原县| 大渡口区| 庄河市| 应用必备| 林州市| 青田县| 沾益县| 雅安市| 泸州市|