MQ日常维护操作手册
假設(shè)隊(duì)列管理器為QMgrName,以下所有使用QMgrName的地方您都可以替換成您維護(hù)的mq隊(duì)列管理器名稱。
一、MQ的啟動(dòng)與停止
用root用戶啟/停需要root用戶包含在mqm組中。
?
1、MQ的啟動(dòng)
strmqm QMgrName
如果啟動(dòng)默認(rèn)隊(duì)列管理器,strmqm后可以忽略隊(duì)列管理器名稱。
在意外情況停止隊(duì)列管理器后,啟動(dòng)可能會(huì)失敗,此時(shí)可以檢查上次停止后是否有IPC資源未釋放,若有請(qǐng)予以刪除,刪除方法參考下面的“C.清理所有殘留在系統(tǒng)內(nèi)部的信號(hào)燈和共享內(nèi)存”。
?
2、MQ的關(guān)閉
一般情況下,我們使用“endmqm??-i?QMgrName”來(lái)停止mq,如果停止失敗,可以使用如下步驟:
步驟1:endmqm??-p?QMgrName,如果停不掉,繼續(xù)步驟2;
步驟2:殺死有關(guān)進(jìn)程,清理殘留在系統(tǒng)內(nèi)部的信號(hào)燈和共享內(nèi)存
A.找到隊(duì)列管理器程序進(jìn)程
ps -ef|grep?QMgrName
B.使用kill命令終止1>中找到的程序進(jìn)程,無(wú)法停止的進(jìn)程可以用kill -9來(lái)終止,終止進(jìn)程的順序如下(不存在的進(jìn)程可以忽略):
kill amqpcsea ?命令服務(wù)器
kill amqhasmx ?記錄器
kill amqharmx ?日志格式化器(僅LINEAR日志)
kill amqzllp0 ?檢查點(diǎn)處理器
kill amqzlaa0 ?隊(duì)列管理器代理
kill amqzxma0 ?處理控制器
kill amqrrmfa ?庫(kù)進(jìn)程(用于群集)
C.清理所有殘留在系統(tǒng)內(nèi)部的信號(hào)燈和共享內(nèi)存(其屬主和組均為mqm)
ipcs -s| grep mqm | awk '{print $2}'|xargs -i ipcrm -s {}
ipcs -m| grep mqm | awk '{print $2}'|xargs -i ipcrm -m {}
?
二、MQ運(yùn)行狀態(tài)查看與常用操作
?
1、查看隊(duì)列管理器運(yùn)行狀態(tài)
對(duì)MQ 5.2或以上版本,執(zhí)行如下命令檢查隊(duì)列管理器運(yùn)行狀態(tài):dspmq
顯示結(jié)果中QMNAME表示MQ隊(duì)列管理器的名稱,STATUS表示當(dāng)前運(yùn)行狀態(tài)。
運(yùn)行狀態(tài)有如下幾種:
Starting????正在啟動(dòng)
Running????正在運(yùn)行
Ending????正在停止
Ended normally??已經(jīng)正常終止
Ended immediately??已經(jīng)立即終止
Ended preemtively??已經(jīng)強(qiáng)制終止
Ended unexpectively?異常終止
注意:停止MQ后必須使用dspmq命令進(jìn)行狀態(tài)檢查
dspmq查詢結(jié)果示例:
QMNAME(QM00)????STATUS(Running)
?
2、查看通道運(yùn)行狀態(tài)與啟停通道
runmqsc
dis chl(*);?????查看所有通道定義
dis chs(*);?????查看所有通道狀態(tài),如果沒(méi)有查詢到通道狀態(tài),或報(bào)錯(cuò)AMQ8420: Channel Status not found,請(qǐng)啟動(dòng)通道
dis chs(ChannelName); 查看通道ChannelName的狀態(tài)
通道狀態(tài)有如下幾種:
STARTING??正在啟動(dòng)
BINDING????正在綁定
INITIALIZING??正在初始化
RUNNING???正常
STOPPING?正在停止
RETRYING??重試
PAUSED??等待
STOPPED 已停止
REQUESTING??請(qǐng)求
start?chl(ChannelName); ?啟動(dòng)通道
stop?chl(ChannelName);??停止通道
reset channel(ChannelName);??重置通道序號(hào)。當(dāng)本地與其他MQ隊(duì)列管理器的通道無(wú)法正常啟動(dòng)的情況,檢查日志發(fā)現(xiàn)是通道序號(hào)不一致,此時(shí)就需要先停止發(fā)送方通道,并在發(fā)送方和接收方進(jìn)行通道計(jì)數(shù)的重置,重置后啟動(dòng)通道即可恢復(fù)通訊。
?
3、查看通道監(jiān)聽(tīng)狀態(tài)與啟停監(jiān)聽(tīng)
runmqsc
dis listner(*);?????查看通道監(jiān)聽(tīng)定義
dis lsstatu(listnerName);???查看監(jiān)聽(tīng)狀態(tài)
start?lstr(listnerName); 啟動(dòng)監(jiān)聽(tīng)
stop?lstr(listnerName); 停止監(jiān)聽(tīng)?
?
4、查看隊(duì)列深度
runmqsc
dis q(*);????查看所有各類隊(duì)列的屬性
dis?qlocal(QName);???查看所有本地隊(duì)列的屬性
隊(duì)列深度屬性為:CURDEPTH
?
5、查看死信隊(duì)列
dis?qlocal(DEADQName)
?
三、日常維護(hù)項(xiàng)目
1、監(jiān)控文件系統(tǒng)/var/mqm的使用情況,建議不要超過(guò)80%。
?
2、定期報(bào)告MQ系統(tǒng)錯(cuò)誤,備份清理MQ系統(tǒng)錯(cuò)誤記錄
在遇到問(wèn)題時(shí),檢查/var/mqm/errors目錄下是否有新的FDC文件產(chǎn)生,如果有應(yīng)當(dāng)檢查原因。另外,要定期檢查該目錄下MQ錯(cuò)誤日志。
3、檢查日志個(gè)數(shù)是否增長(zhǎng)
使用命令cd移動(dòng)到MQ日志所在目錄(/var/mqm/log/QMgrName/active/),使用ls –l|wc命令統(tǒng)計(jì)。
4.?檢查MQ隊(duì)列管理器錯(cuò)誤日志
當(dāng)系統(tǒng)運(yùn)行不正常時(shí)首先檢查:/var/mqm/qmgrs/QMgrName/errors/AMQERR0n.LOG
錯(cuò)誤消息生成后總是放在AMQERR01中,AMQERR02和AMQERR03文件用于保存歷史錯(cuò)誤消息。
?
附圖:/var/mqm目錄結(jié)構(gòu)
?
轉(zhuǎn)載于http://www.daobugu.com/New/index/id/109.html
轉(zhuǎn)載于:https://www.cnblogs.com/dahaoran/p/10836659.html
總結(jié)
以上是生活随笔為你收集整理的MQ日常维护操作手册的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【运维安全】- 总结
- 下一篇: TensorFlow从1到2(十三)图片