中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Rabbitmq監控方法怎么使用

發布時間:2022-09-27 16:37:46 來源:億速云 閱讀:167 作者:iii 欄目:開發技術

本篇內容主要講解“Rabbitmq監控方法怎么使用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Rabbitmq監控方法怎么使用”吧!

1.搜集日志信息

通過ELK搜集集群節點中的日志信息,對于ERROR信息,進行郵件告知相關的維護人員及時進行處理。

2.監控硬件資源及進程

公司已經有監控系統,直接將如下磁盤、內存及端口、URL信息在監控中進行配置即可。

磁盤

監控每臺服務器的磁盤空間,重點監控如下兩個目錄:

log目錄

即/app/log 目錄。日志文件可以通過定期壓縮清理,保證控制在一定的大小內。

data目錄

即/app/data 目錄,這個目錄主要堆積的數據還是未消費的已經持久化到磁盤上的消息。這個需要及時對消息進行監控。

內存

監控服務器的內存使用情況,當達到閥值的情況下,進行提前告警。

監控進程

主要是監控5672端口,及http://xxxx:15672訪問地址

3.通過rest接口進行監控

依托于rabbitmq提供的強大的rest api,我們可以很方便的獲取到集群中的各個節點信息,從而根據具體的需求,進行全方位的監控。

在公司已經采購的監控系統和自行搭建的zabbix監控中,都能夠很好的支持rest api。可以通過監控系統對json結果的解析,達到告警的目的。

消息監控

消息監控可以通過定時調用rest接口,獲取隊列的未消費數量,對超過一定數量的mq消息,提供短信郵件告警;

獲取消息的rest接口地址為:

http://xxx:15672/api/queues

消息內容示例(只截取部分內容):

[{    "memory": 55568,
    ...    "messages": 21,                              #消息總數量
    ...    "messages_ready": 21,                        #待處理消息數量
    ...    "messages_unacknowledged": 0,                #未確認消息數量
    ...    "idle_since": "2018-07-02 14:02:04",    "consumer_utilisation": null,    "policy": "hao123",    "exclusive_consumer_tag": null,    "consumers": 0,    "slave_nodes": ["rabbit@rabbitmqstg03", "rabbit@rabbitmqstg04"],    "synchronised_slave_nodes": ["rabbit@rabbitmqstg03", "rabbit@rabbitmqstg04"],    "recoverable_slaves": ["rabbit@rabbitmqstg03", "rabbit@rabbitmqstg04"],    "state": "running",
    ...    "message_bytes_ram": 13086,                  #消息占用的內存大小
    "message_bytes_persistent": 2816,            #消息占用的磁盤大小
    ...    "name": "ha.queue_123",    "vhost": "/123",    "durable": true,    "auto_delete": false,    "exclusive": false,    "arguments": {},    "node": "rabbit@rabbitmqstg02"}]

文件描述符、socket文件描述符、erlang進程監控

通過rest接口獲取到每個集群中的節點信息,通過實際值和閥值的大小,及時的進行告警,這一步告警方式,可以根據嚴重程度,依次郵件、微信、短信通知到相關的人員。

獲取節點的rest接口地址為:

http://xxx:15672/api/nodes

集群節點內容示例(只截取部分內容):

[{    "cluster_links": [{        "peer_addr": "10.1.110.39",        "peer_port": 51715,        "sock_addr": "10.1.110.37",        "sock_port": 25672,        "stats": {...},        "name": "rabbit@rabbitmqstg04"
    }, ...],    "disk_free": 28271468544,                 # 磁盤使用量
    "fd_used": 58,                            # 文件描述符使用數
    ...    "mem_used": 58362720,                     # 內存使用量
    "mnesia_disk_tx_count": 7,    "mnesia_ram_tx_count": 13108,    "proc_used": 225,                         # erlang進程使用數
    "sockets_used": 0,                        # socket描述符已經使用數
    "fd_total": 65536,                        # 文件描述符總數
    "sockets_total": 58890,                   # socket描述符總數
    "mem_limit": 1607527628,                  # 內存閥值
    "disk_free_limit": 10000000000,           # 磁盤閥值
    "proc_total": 1048576,                    # erlang進程總數
    ...    "log_file": "/app/rabbitmq/rabbitmq_server-3.6.1/log/rabbitmq/rabbit@rabbitmqstg02.log",    "sasl_log_file": "/app/rabbitmq/rabbitmq_server-3.6.1/log/rabbitmq/rabbit@rabbitmqstg02-sasl.log",    "db_dir": "/app/rabbitmq/rabbitmq_server-3.6.1/data/rabbit@rabbitmqstg02",    "config_files": ["/app/rabbitmq/rabbitmq_server-3.6.1/etc/rabbitmq/rabbitmq.config"],
    ...    "name": "rabbit@rabbitmqstg02",    "type": "disc",    "running": true}]

4.監聽堵塞消息

可以在MQ中專門創建一個監控的隊列,定時的發送和消費隊列中的消息,并且通過的如下的代碼去監控隊列是否已經堵塞,如果監聽到隊列已經堵塞,就立即發送告警的短信和郵件。

關于是否需要手動將故障機器剔除集群,這個有待商榷,但是如果要做的話,是可以在這里做到的。

ConnectionFactory factory = new ConnectionFactory();
Connection connection = factory.newConnection();
connection.addBlockedListener(new BlockedListener() {    public void handleBlocked(String reason) throws IOException {        // Connection is now blocked
    }    public void handleUnblocked() throws IOException {        // Connection is now unblocked
    }
});

到此,相信大家對“Rabbitmq監控方法怎么使用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

句容市| 宝坻区| 昌平区| 富宁县| 樟树市| 万安县| 连城县| 铁岭市| 五峰| 会泽县| 旺苍县| 德州市| 河东区| 万山特区| 贵溪市| 大关县| 沙田区| 霍林郭勒市| 阿克陶县| 南靖县| 南溪县| 格尔木市| 张家港市| 谷城县| 福建省| 遵义市| 玛曲县| 库伦旗| 石嘴山市| 都安| 砚山县| 云霄县| 尉犁县| 西林县| 宜昌市| 永春县| 边坝县| 祁门县| 平山县| 会同县| 汾阳市|