摘要:什么是是一個跨平臺的用來監(jiān)控系統(tǒng)比如的工具。可以監(jiān)控服務器進程狀態(tài)端口狀態(tài),狀態(tài)碼服務器資源變化文件系統(tǒng)變動等等,根據(jù)這些變化,可以設定郵件報警重啟進程或服務。易于安裝輕量級的實現(xiàn)以及強大的功能,讓成為一個理想的后備監(jiān)控工具。
什么是monit
Monit是一個跨平臺的用來監(jiān)控Unix/linux系統(tǒng)(比如Linux、BSD、OSX、Solaris)的工具。Monit特別易于安裝,而且非常輕量級(只有500KB大小),并且不依賴任何第三方程序、插件或者庫。
Monit可以監(jiān)控服務器進程狀態(tài)、端口狀態(tài),HTTP/TCP狀態(tài)碼、服務器資源變化、文件系統(tǒng)變動等等,根據(jù)這些變化,可以設定郵件報警、重啟進程或服務。易于安裝、輕量級的實現(xiàn)以及強大的功能,讓Monit成為一個理想的后備監(jiān)控工具。
monit不像zabbix功能那么強大,但是勝在輕量級,且具備基本所有的監(jiān)控需求,比較適合中小型創(chuàng)業(yè)公司的使用。
官網(wǎng):https://mmonit.com/monit
安裝yum install monit
如何配置使用yum安裝默認配置文件在:
/etc/monitrc # 全局參數(shù)配置文件
/etc/monit.d/ # 在這個目錄下新增每個待監(jiān)控服務的配置
#設置周期,每60秒自動檢測一次 set daemon 60 #設置報警郵件發(fā)送格式 set mailserver smtp.exmail.qq.com port 25 USERNAME "test@outlook.com" PASSWORD "test" set mail-format { from: test@outlook.com subject: monit alert -- $EVENT $SERVICE message: $EVENT Service $SERVICE Date: $DATE Action: $ACTION Host: $HOST Description: $DESCRIPTION } #設置報警郵件發(fā)給誰,默認只會發(fā)送一次報警。 #with reminder on 3 cycles表示如果服務一直處于失敗,則基于周期最多發(fā)送3次報警 set alert dev@outlook.com with reminder on 3 cycles #Monit Web界面相關(guān)的訪問配置,如不使用則不需要配置(web管理界面需要額外的M/Monit項目) set httpd port 2812 allow app:app set eventqueue basedir /var/monit slots 1000 #包含所有需要監(jiān)控服務的子配置項,這里使用了文件名通配符 include /etc/monit.d/*.monitrc.conf下面列舉兩種最常見的服務監(jiān)控方式,端口監(jiān)控和進程號變更監(jiān)控 監(jiān)控mongodb配置示例(利用端口監(jiān)控)
在/etc/monit.d/下新增配置文件mongo.monitrc.conf,內(nèi)容如下:
#匹配進程名 CHECK PROCESS mongo MATCHING mongo #配置服務啟動和重啟命令 start program = "/usr/bin/sudo service mongod start" restart program = "/usr/bin/sudo service mongod restart" #如果端口27017無法訪問則認為服務失敗,發(fā)報警郵件并重啟服務 if failed port 27017 type tcp then alert if failed port 27017 type tcp then restart #如果在三個周期內(nèi)重啟了3次,則不再監(jiān)控 if 3 restarts within 3 cycles then unmonitor監(jiān)控rabbitmq配置示例(利用進程ID變更監(jiān)控)
在/etc/monit.d/下新增配置文件rabbitmq.monitrc.conf,內(nèi)容如下:
#匹配進程名 check PROCESS rabbitmq with MATCHING rabbitmq #配置服務啟動和重啟命令 start program = "/etc/init.d/rabbitmq-server start" restart program = "/etc/init.d/rabbitmq-server restart" #如果進程號發(fā)生變化則認為服務失敗,發(fā)報警郵件并重啟服務 if changed pid then alert if changed pid then restart #如果在三個周期內(nèi)重啟了3次,則不再監(jiān)控 if 3 restarts within 3 cycles then unmonitormonit相關(guān)命令
monit # 啟動monit daemon
monit reload # 當更新了配置文件需要重載
monit status # 查看所有服務狀態(tài)
monit status nginx # 查看nginx服務狀態(tài)
monit stop all # 停止所有服務
monit stop mongo # 停止mongo服務
monit start all # 啟動所有服務
monit start mongo # 啟動mongo服務
可以基于圖形化界面管理多個monit host,但是這個是要收費的,可以免費試用30天
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/67928.html
摘要:引入了新的環(huán)境和概要信息,是一種更揭秘與實戰(zhàn)六消息隊列篇掘金本文,講解如何集成,實現(xiàn)消息隊列。博客地址揭秘與實戰(zhàn)二數(shù)據(jù)緩存篇掘金本文,講解如何集成,實現(xiàn)緩存。 Spring Boot 揭秘與實戰(zhàn)(九) 應用監(jiān)控篇 - HTTP 健康監(jiān)控 - 掘金Health 信息是從 ApplicationContext 中所有的 HealthIndicator 的 Bean 中收集的, Spring...
摘要:架構(gòu)消息代理,作為臨時儲存任務的中間媒介,為提供了隊列服務。生產(chǎn)者將任務發(fā)送到,消費者再從獲取任務。如果使用,則有可能發(fā)生突然斷電之類的問題造成突然終止后的數(shù)據(jù)丟失等后果。任務調(diào)度器,負責調(diào)度并觸發(fā)定時周期任務。 架構(gòu) showImg(https://segmentfault.com/img/bVbmDXa?w=831&h=413); Broker 消息代理,作為臨時儲存任務的中間媒...
閱讀 1815·2023-04-26 01:55
閱讀 1078·2021-09-30 09:47
閱讀 1673·2019-08-30 15:54
閱讀 740·2019-08-30 15:53
閱讀 692·2019-08-30 15:52
閱讀 1133·2019-08-30 15:44
閱讀 2409·2019-08-30 14:06
閱讀 1057·2019-08-29 16:39