Monit監控軟件安裝 |
您所在的位置:网站首页 › 汉字是象形文字是什么的结合体 › Monit監控軟件安裝 |
Monit監控軟件安裝
2016年07月25日 18:03:38 趕路人兒 閱讀數:2034php 版權聲明:本文爲博主原創文章,未經博主容許不得轉載。 https://blog.csdn.net/liuxiao723846/article/details/52022545html Monit是一款功能很是豐富的進程、文件、目錄和設備的監測軟件,適用於Linux/Unix平臺。官網地址:https://mmonit.com/ 在CentOS 6.4上配置Monit的步驟:linux 咱們以服務器IP地址:10.153.126.189,爲例進行配置,監控10.153.110.12, 10.153.75.78這兩臺服務器。nginx 1、安裝Monit:web # yum install monit –y這一步可能會報錯:apache # yum install monit –ysegmentfault Loaded plugins: fastestmirror, securityapi Determining fastest mirrorstomcat Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again服務器 解決方法: vi /etc/yum.repos.d/epel.repo編輯[epel]下的baseurl前的#號去掉,mirrorlist前添加#號。正確配置以下: [epel] name=Extra Packages for Enterprise Linux 6 - $basearch baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch #mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch failovermethod=priority enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 至此Monit安裝完畢,接下來配置monit.conf文件 2、monit配置: 一、文件位置在/etc/monit.conf,修改常見配置: 1)檢測時間、日誌位置: set daemon 120 with start delay 240 set logfile syslog facility log_daemon 每120s檢測一次;啓動後延時240s開始檢測; 日誌文件位置; 2)id文件 set idfile /var/monit/id set eventqueue basedir /var/monit 咱們必須定義「idfile」,Monit守護進程的一個獨一無二的ID文件; 「eventqueue」,當monit的郵件由於SMTP或者網絡故障發不出去,郵件會暫存在這裏;以及確保/var/monit路徑是存在的。而後使用下邊的配置就能夠了; 3)設置web界面: set httpd port 1966 and SSL ENABLE PEMFILE /var/certs/monit.pem allow monituser:romania allow localhost allow 192.168.0.0/16 allow myhost.mydomain.ro 二、監控信息能夠直接寫到/etc/monit.conf文件中,也能夠單首創建一個.cfg後綴的文件,將check... if 語句添加到裏面,而後在monit.conf文件末尾加入include路徑。 set daemon 30 # 每30秒查詢一次服務器狀態 set logfile /data/apps/monit/log/monit.log # 默認日誌位於 /var/log/monit set idfile /var/.monit.id set eventqueue basedir /data/apps/monit/data slots 10000 set httpd port 2812 and # 監聽2812端口 use address 10.153.126.189 # 本服務器地址,這裏咱們的Monit安裝到了10.153.126.189這臺服務器上。 allow localhost allow 10.1.0.0/255.255.0.0 allow admin : pin # 在這裏設置用戶名及口令。admin爲用戶名,冒號後爲密碼。 # 接下來設置要監聽的服務器 # address後面的是服務器的IP地址。第二行設置port端口號。exec後爲當異常狀況出現後執行的腳本。能夠添加多個check ... if 語句,同時監聽不少臺服務器 # 這裏 /data/apps/monit/contrib/sms.py這個腳本負責報警 check host read_kajuan_10.153.110.12 with address 10.153.110.12 if failed port 80 with timeout 1 seconds for 2 cycles then exec "/data/apps/monit/contrib/sms.py" check host read_kajuan_10.153.75.78 with address 10.153.75.78 if failed port 80 with timeout 1 seconds for 2 cycles then exec "/data/apps/monit/contrib/sms.py" #include /etc/monit.d/* 3、常見監控: 一、根據ip+端口,監控web服務器端口存活: check host gamecenter_api_10.153.123.2 with address 10.153.123.2 if failed port 8093 with timeout 1 seconds for 2 cycles then exec "/data/apps/monit/contrib/sms.py" 表示:在兩次監控週期內,若是端口超時超過1m則報警。 二、根據pid,監控服務進程: check process tomcat with pidfile /var/run/catalina.pid # 進程pid start program = "/etc/init.d/tomcat start" # 設置啓動命令 stop program = "/etc/init.d/tomcat stop" # 設置中止命令 if 9 restarts within 10 cycles then timeout # 設置在10個監視週期內重,啓了9次則超時,再也不監視這個服務。緣由另外說明【3】 if cpu usage > 90% for 5 cycles then alert # 若是在5個週期內該服務的cpu使用率都超過90%則提示 if failed url http://127.0.0.1:4000/ timeout 120 seconds for 5 cycles then restart # 若連續5個週期打開url都失敗(120秒超時,超時也認爲失敗)則重啓服務 設置超時後再也不監視是爲了讓服務不要一直重啓,若是連續重啓屢次不成功,極有可能再重啓下去也不會成功的。而且tomcat的重啓須要佔用大量系統資源,假如一直重啓下去,反而會使其它服務也沒法正常運做。 三、能夠對moint自己服務器進行監控: # 系統名稱,能夠是IP或域名 check system www.example.com if loadavg (1min) > 4 then alert if loadavg (5min) > 2 then alert if memory usage > 75% then alert if cpu usage (user) > 70% then alert if cpu usage (system) > 30% then alert if cpu usage (wait) > 20% then alert 四、實例: # # 監控nginx # # 須要提供進程pid文件信息 check process nginx with pidfile /var/run/nginx.pid # 進程啓動命令行,注:必須是命令全路徑 start program = "/etc/init.d/nginx start" # 進程關閉命令行 stop program = "/etc/init.d/nginx stop" # nginx進程狀態測試,監測到nginx連不上了,則自動重啓 if failed host www.example.com port 80 protocol http then restart # 屢次重啓失敗將再也不嘗試重啓,這種就是系統出現嚴重錯誤的狀況 if 3 restarts within 5 cycles then timeout # 可選,設置分組信息 group server # 可選的ssl端口的監控,若是有的話 # if failed port 443 type tcpssl protocol http # with timeout 15 seconds # then restart # # 監控apache # check process apache with pidfile /var/run/apache2.pid start program = "/etc/init.d/apache2 start" stop program = "/etc/init.d/apache2 stop" # apache吃cpu和內存比較厲害,額外添加一些關於這方面的監控設置 if cpu > 50% for 2 cycles then alert if cpu > 70% for 5 cycles then restart if totalmem > 1500 MB for 10 cycles then restart if children > 250 then restart if loadavg(5min) greater than 10 for 20 cycles then stop if failed host www.example.com port 8080 protocol http then restart if 3 restarts within 5 cycles then timeout group server # 可選,依賴於nginx depends on nginx # # 監控spawn-fcgi進程(其實就是fast-cgi進程) # check process spawn-fcgi with pidfile /var/run/spawn-fcgi.pid # spawn-fcgi必定要帶-P參數纔會生成pid文件,默認是沒有的 start program = "/usr/bin/spawn-fcgi -a 127.0.0.1 -p 8081 -C 10 -u userxxx -g groupxxx -P /var/run/spawn-fcgi.pid -f /usr/bin/php-cgi" stop program = "/usr/bin/killall /usr/bin/php-cgi" # fast-cgi走的不是http協議,monit的protocol參數也沒有cgi對應的設置,這裏去掉protocol http便可。 if failed host 127.0.0.1 port 8081 then restart if 3 restarts within 5 cycles then timeout group server depends on nginx 注意: start和stop的program參數裏的命令必須是全路徑,不然monit不能正常啓動,好比killall應該是/usr/bin/killall。 對於spawn-fcgi,不少人會用它來管理PHP的fast-cgi進程,但spawn-fcgi自己也是有可能掛掉的,因此仍是須要用monit來監控spawn-fcgi。spawn-fcgi必須帶-P參數纔會有pid文件,並且fast-cgi走的不是http協議,monit的protocol參數也沒有cgi對應的設置,必定要去掉protocol http這項設置才管用。 進程屢次重啓失敗monit將再也不嘗試重啓,收到這樣的通知郵件代表系統出現了嚴重的問題,要引發足夠的重視,須要趕忙人工處理。 固然monit除了管理進程以外,還能夠監控文件、目錄、設備等,本文不作討論,具體配置方式能夠去參考monit的官方文檔。參考: http://www.cnblogs.com/ddr888/archive/2011/03/02/1969087.html http://feilong.me/2011/02/monitor-core-processes-with-monit http://www.vpser.net/manage/monit.html http://itoedr.blog.163.com/blog/static/1202842972014529115715267/ https://www.rails365.net/articles/bu-shu-zhi-shi-yong-monit-lai-jian-kong-fu-wu-si http://linuxjcq.blog.51cto.com/3042600/717843 https://segmentfault.com/a/1190000002867212 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |