成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何借助Monit搭建服務器監控系統?

譯文
安全 網站安全 數據安全
許多Linux管理員依賴一種集中式遠程監控系統(比如Nagios或Cacti),檢查網絡基礎設施的健康狀況。雖然集中式監控系統為管理員在處理許多主機和設備時簡化了工作,但專用的監控設備顯然成了單一故障點;要是監控設備出現故障或者由于其他原因(比如硬件壞掉或網絡停運)而聯系不上,你就失去了可見性,無法了解整個基礎設施的狀況。

許多Linux管理員依賴一種集中式遠程監控系統(比如Nagios或Cacti),檢查網絡基礎設施的健康狀況。雖然集中式監控系統為管理員在處理許多主機和設備時簡化了工作,但專用的監控設備顯然成了單一故障點;要是監控設備出現故障或者由于其他原因(比如硬件壞掉或網絡停運)而聯系不上,你就失去了可見性,無法了解整個基礎設施的狀況。

想為監控系統增添冗余機制,一個辦法就是起碼在網絡上任何關鍵/核心服務器上安裝獨立的監控軟件(作為一條退路)。那樣萬一集中式監控系統壞掉,你仍能夠通過備用的監控工具,保持可見性,了解核心服務器的狀況。

Monit簡介

Monit是一種跨平臺的開源工具,可用于監控Unix/Linux系統(比如Linux、BSD、OSX和Solaris)。Monit安裝起來極其容易,也非常輕型(大小只有500KB),并不需要任何第三方程序、插件或代碼庫。不過,Monit有助于提供成熟的監控功能,具有進程狀態監控、文件系統變化監控、電子郵件通知、針對核心服務的可定制操作等功能。Monit集安裝簡易、輕量級實現和功能強大等優點于一身,因而是一款再理想不過的備用監控工具。

好幾年來我一直在多個主機上使用Monit,對它一貫以來的可靠表現非常滿意。即使作為一款成熟的監控系統,Monit對任何Linux管理員來說也非常實用、非常強大。我在本教程中將演示如何在本地服務器上搭建Monit(作為備用監控工具),以監控常見服務。該系統搭建起來后,我將僅僅介紹Monit強大功能的皮毛。

將Monit安裝到Linux上

大多數Linux發行版已經在其軟件庫中含有Monit。

在Debian、Ubuntu或Linux Mint上:

$ sudo aptitude install monit

在Fedora或CentOS/RHEL上:

在CentOS/RHEL上,你必須先啟用EPEL或Repoforge軟件庫。

# yum install monit

Monit隨帶一個文檔很齊全的配置文件,有許多示例。主配置文件位于Fedora/CentOS/RHEL中的/etc/monit.conf,或位于Debian/Ubuntu/Mint中的/etc/monit/monitrc。Monit配置有兩個部分:“全局”部分和“服務”部分。#p#

全局配置:Web狀態頁面

Monit可以使用幾種郵件服務器用于通知,以及/或者HTTP/HTTPS狀態頁面。不妨從滿足下列要求的Web狀態頁面入手。

•Monit偵聽端口1966。

•對Web狀態頁面的訪問用SSL加密。

•登錄需要monituser/romania作為用戶/密碼。

•只允許從本地主機、myhost.mydomain.ro和內部局域網(192.168.0.0/16)進行登錄。

•Monit以pem格式存儲SSL證書。

至于隨后的步驟,我將使用基于紅帽的系統。類似步驟適用于基于Debian的系統上。

首先,生成一個自簽名的證書(monit.pem),并存儲在/var/cert中。

# mkdir /var/certs
# cd /etc/pki/tls/certs
# ./make-dummy-cert monit.pem
# cp monit.pem /var/certs
# chmod 0400 /var/certs/monit.pem

現在,將下列代碼片段放入到Monit的主配置文件。你可以從空的配置文件入手,也可以拷貝一份原始文件。

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

#p#

全局配置:電子郵件通知

下一步,不妨在Monit中建立電子郵件通知機制。我們至少需要一臺活動的SMTP服務器,它能夠從Monit主機發送郵件。類似下列的信息就可以了(針對你的具體情況稍作調整):

•郵件服務器主機名:smtp.monit.ro

•Monit所使用的發送者電子郵件地址:monit@monit.ro

•誰將收到來自monit守護程序的郵件:guletz@monit.ro

•郵件服務器使用的SMTP端口:587(默認端口是25)

有了上述信息,電子郵件通知可以配置成這樣:

set mailserver smtp.monit.ro port 587
set mail-format {
from: monit@monit.ro
subject: $SERVICE $EVENT at $DATE on $HOST
message: Monit $ACTION $SERVICE $EVENT at $DATE on $HOST : $DESCRIPTION.
Yours sincerely,
Monit
}
set alert guletz@monit.ro

正如你所見,Monit提供了幾個內置變量($DATE、$EVENT和$HOST等),你可以定制電子郵件消息,以滿足自己的需要。如果你想從Monit主機本身發送郵件,就需要一個已經安裝的與sendmail兼容的程序(比如postfix或ssmtp)。#p#

全局配置:Monit守護程序

下一個部分是設置monit守護程序。我們將按如下方式設置它。

•120秒過后執行***檢查。

•每隔3分鐘檢查一次服務。

•使用syslog用于記錄日志。

放入下面這個代碼片段,獲得上述設置。

set daemon 120
with start delay 240
set logfile syslog facility log_daemon

我們還必須定義“idfile”和“eventqueue”,前者是monit守護程序使用的獨特ID,后者是monit發送郵件的路徑,但由于SMTP/網絡錯誤而無法送達。證實路徑(/var/monit)已經存在。下列配置就行。

set idfile /var/monit/id
set eventqueue
basedir /var/monit

#p#

測試全局配置

現在,“全局”部分已完成。Monit配置文件看起來就像這樣:

# 全局部分

# status webpage and acl's
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
# mail-server
set mailserver smtp.monit.ro port 587
# email-format
set mail-format {
from: monit@monit.ro
subject: $SERVICE $EVENT at $DATE on $HOST
message: Monit $ACTION $SERVICE $EVENT at $DATE on $HOST : $DESCRIPTION.
Yours sincerely,
Monit
}
set alert guletz@monit.ro
# 延遲檢查
set daemon 120
with start delay 240
set logfile syslog facility log_daemon
# idfile和郵件隊列路徑
set idfile /var/monit/id
set eventqueue
basedir /var/monit

現在是時候檢查我們完成的步驟了。你可以測試現有的配置文件(/etc/monit.conf),只要運行:

# monit -t
Control file syntax OK

如果Monit報告任何錯誤,請再次閱讀配置文件。幸好,錯誤/警告信息量很豐富。比如說:

monit: Cannot stat the SSL server PEM file '/var/certs/monit.pem' -- No such file or directory
/etc/monit/monitrc:10: Warning: hostname did not resolve 'smtp.monit.ro'

一旦你驗證了配置語法,就啟動monit守護程序,等兩三分鐘:

# service monit start

如果你使用systemd,運行:

# systemctl start monit

現在打開瀏覽器窗口,進入到https://:1966。把換成你的Monit主機名或IP地址。

請注意:如果你有一個自簽名的SSL證書,會在瀏覽器中看到警告信息。

如何借助Monit搭建服務器監控系統?

你完成登錄后,肯定會看到下面這一頁。

如何借助Monit搭建服務器監控系統?

在教程的其余部分,我將介紹如何監控本地服務器和常見服務。你會在官方維基頁面上看到許多有用的示例(http://mmonit.com/wiki/Monit/ConfigurationExamples)。大多數示例可以拷貝粘貼!#p#

服務配置:處理器/內存監控

不妨先監控本地服務器的處理器/內存使用情況。將下列代碼片段拷貝到配置文件。

check system localhost
if loadavg (1min) > 10 then alert
if loadavg (5min) > 6 then alert
if memory usage > 75% then alert
if cpu usage (user) > 70% then alert
if cpu usage (system) > 60% then alert
if cpu usage (wait) > 75% then alert

很容易解讀上述配置。每個監控周期(在全局部分中被設為120秒),針對本地主機執行上述檢查。要是符合條件,monit守護程序就會通過電子郵件發送提醒。

如果某些屬性不需要每個周期都加以監控,你可以使用下列格式。比如說,這將每隔一個周期(也就是每隔240秒)監控平均負載。

if loadavg (1min) > 10 for 2 cycles then alert

#p#

服務配置:SSH服務監控

不妨檢查我們是否將sshd二進制文件安裝在/usr/sbin/sshd中:

check file sshd_bin with path /usr/sbin/sshd

我們還想檢查sshd的init腳本是否存在:

check file sshd_init with path /etc/init.d/sshd

***,我們想檢查sshd守護程序是否安裝并運行起來,是否偵聽端口22:

check process sshd with pidfile /var/run/sshd.pid
start program "/etc/init.d/sshd start"
stop program "/etc/init.d/sshd stop"
if failed port 22 protocol ssh then restart
if 5 restarts within 5 cycles then timeout

更具體地說,我們可以解讀上述配置,如下所示。我們檢查一個名為sshd的進程和pidfile(/var/run/sshd.pid)是否存在。要是這其中一個都不存在,我們就使用init腳本重啟sshd守護程序。我們檢查偵聽端口22的進程是否支持SSH協議。要是不支持,我們就重啟sshd守護程序。要是在最近5個監控周期(即5 x 120秒)里面至少有5次重啟,sshd守護程序就宣布失效,我們并不試圖再次檢查。

如何借助Monit搭建服務器監控系統? #p#

服務配置:SMTP服務監控

現在檢查遠程SMTP郵件服務器(比如192.168.111.102)。假設SMTP服務器通過其局域網接口,運行SMTP、IMAP和SSH。

check host MAIL with address 192.168.111.102
if failed icmp type echo within 10 cycles then alert
if failed port 25 protocol smtp then alert
else if recovered then exec "/scripts/mail-script"
if failed port 22 protocol ssh then alert
if failed port 143 protocol imap then alert

我們檢查遠程主機是否響應ICMP。要是我們沒有在10個周期內收到ICMP響應,就發送提醒。要是SMTP協議測試在端口25上失敗,我們就發送提醒。要是測試失敗后測試又成功了,我們就運行腳本(/scripts/mail-script)。要是SSH和IMAP協議測試分別在端口22和端口143上失敗,我們就發送提醒。

結束語

我在本教程中演示了如何在本地服務器上搭建Monit。就Monit的功能而言,我在這里介紹的僅僅是冰山一角。不妨花點時間閱讀關于Monit的參考手冊頁。Monit的語法非常通俗易懂,為任何Linux管理員提供了許多功能。如果你結合集中式遠程監控工具和Monit為己所用,就會擁有一個更可靠的監控系統。你覺得Monit怎么樣?

英文:How to set up server monitoring system with Monit

責任編輯:藍雨淚 來源: 51CTO.com
相關推薦

2015-04-13 15:41:41

IT技術周刊

2015-04-13 15:30:54

網絡·安全技術周刊

2015-07-29 09:40:45

Pandora FMSUbuntu服務器監控

2019-04-08 08:39:47

Nginx代理服務器

2014-02-11 10:43:39

PageSpeedNginx

2020-10-09 07:00:00

無服務器應用監控架構

2020-06-07 11:54:34

Linux服務器命令

2019-06-13 17:15:30

監控Linux服務器

2016-10-11 12:45:50

PythonWeb服務器

2016-08-10 16:28:00

WebURLHTTP

2016-08-22 20:37:10

PythonWeb服務器

2010-05-25 09:32:04

搭建SVN服務器

2019-10-22 10:20:13

Nginx反向代理服務器

2010-05-24 09:43:28

搭建SVN服務器

2010-03-31 15:45:45

CentOS系統

2011-03-23 15:13:08

Nagios監控oracle

2011-08-22 12:25:08

nagios

2014-05-28 13:23:57

Zabbix 監控Linux系統

2010-05-24 09:59:54

SVN服務器搭建

2017-03-20 14:00:33

ARM服務器微軟
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 天天天天操 | 99热在线播放 | 亚洲电影免费 | 欧美一区二区三区 | 亚洲福利网 | 亚洲在线一区二区 | 久久久久久艹 | 91av视频在线播放 | 国产一二三区电影 | 欧美黄a| 亚洲欧美中文日韩在线v日本 | 日韩高清中文字幕 | 久久久久久国产精品 | 香蕉视频在线播放 | 日韩精品免费一区 | 国产久视频 | 国产成人免费在线观看 | 国产成人综合网 | wwwsihu| 久在线| 国产精品日韩欧美一区二区 | 日韩不卡一区二区三区 | 精品欧美一区二区三区久久久 | 久久精品国产一区二区三区不卡 | 亚洲一区日韩 | 福利片一区二区 | 日韩激情在线 | 亚洲日日操| 欧美激情黄色 | 精品国产一区二区三区日日嗨 | 天天色综 | 日韩精品在线观看一区二区三区 | 天堂亚洲网 | 欧美久久一区二区 | 久久精品免费一区二区 | 欧美一级黄色网 | 一区二区三区精品在线 | 亚洲欧美国产毛片在线 | 亚洲精品久久久久久久久久久久久 | 美女视频一区二区三区 | 久久久妇女国产精品影视 |