黑客24小时在线接单网站

电脑高手24在线咨询,黑客24小时在线接单网站,黑客接单平台,黑客网站找人,黑客在线qq接单

如何借助Monit搭建服务器监控系统?

许多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 andSSL ENABLEPEMFILE /var/certs/monit.pemallow monituser:romaniaallow localhostallow 192.168.0.0/16allow 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 587set mail-format {from: monit@monit.rosubject: $SERVICE $EVENT at $DATE on $HOSTmessage: 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 120with start delay 240set logfile syslog facility log_daemon

我们还必须定义它“idfile”和“eventqueue”,前者是monit独特的防护程序ID,后者是monit发邮件的路径,但是因为SMTP/网络错误无法交付。确认路径(/var/monit)已经存在了。以下配置即可。

set idfile /var/monit/idset eventqueuebasedir /var/monit

#p#

测试全局配置

现在,“全局”部分已完成。Monit配置文件看起来像这样:

# 全局部分

Monit}set alert guletz@monit.ro# 延迟检查set daemon 120with start delay 240set logfile syslog facility log_daemon# idfile邮件队列路径set idfile /var/monit/idset eventqueuebasedir /var/monitMonit}set alert guletz@monit.ro# 延迟检查set daemon 120with start delay 240set logfile syslog facility log_daemon# idfile和邮件队列路径set idfile /var/monit/idset eventqueuebasedir /var/monit

是时候检查我们完成的步骤了。您可以测试现有的配置文件(/etc/monit.conf),只要运行:

# monit -tControl 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 localhostif loadavg (1min) > 10 then alertif loadavg (5min) > 6 then alertif memory usage > 75% then alertif cpu usage (user) > 70% then alertif cpu usage (system) > 60% then alertif 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.pidstart program "/etc/init.d/sshd start"stop program "/etc/init.d/sshd stop"if failed port 22 protocol ssh then restartif 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.102if failed icmp type echo within 10 cycles then alertif failed port 25 protocol smtp then alertelse if recovered then exec "/scripts/mail-script"if failed port 22 protocol ssh then alertif 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

   
  • 评论列表:
  •  酒奴橪书
     发布于 2022-05-29 08:35:09  回复该评论
  • gt; 6 then alertif memory usage > 75% then alertif cpu usage (user) > 70% then alertif cpu usage (system

发表评论:

Powered By

Copyright Your WebSite.Some Rights Reserved.