阿里云ecs服务器cpu满了怎么设置报警到手机

阿里云ecs服务器cpu满了怎么设置报警到手机,第1张

小鸟云云监控是一项针对云服务资源和互联网应用进行监控的服务。云监控服务可用于收集获取云服务器资源的监控指标,探测互联网服务可用性,以及针对指标设置警报。云监控服务能够监控云服务器CPU、内存、磁盘、网络等资源,同时提供对这些指标的告警服务。借助报警服务,您可以及时做出反应,保证应用程序顺畅运行!

云监控现已可免费使用

Monit是什么?

Monit是

一个跨平台的用来监控Unix/linux系统(比如Linux、BSD、OSX、Solaris)的工具。Monit特别易于安装,而且非常轻量级(只

有500KB大小),并且不依赖任何第三方程序、插件或者库。然而,Monit可以胜任全面监控、进程状态监控、文件系统变动监控、邮件通知和对核心服务

的自定义动作等场景。易于安装、轻量级的实现以及强大的功能,让Monit成为一个理想的后备监控工具。

已经在一些机器使用Monit几年了,而且我对它的可靠性非常满意。甚至作为全面的监控系统,对任何Linux系统管理员来说Monit也是非常有用和强

大的。在这篇教程中,我会展示如何在一个本地服务器部署Monit(作为后备监控系统)来监控常见的服务。在部署过程中,我只会展示我们用到的部分。

在Linux安装Monit

Monit已经被包含在多数Linux发行版的软件仓库中了。

Debian、Ubuntu或者Linux Mint:

$ sudo aptitude install monit

Fedora或者CentOS/RHEL:

在CentOS/RHEL中,你必须首先启用EPEL或者Repoforge软件仓库

# yum install monit

Monit

自带一个文档完善的配置文件,其中包含了很多例子。主配置文件在/etc/monitconf(Fedora/CentOS/RHEL

中),或者/etc/monit/monitrc(Debian/Ubuntu/Mint

中)。Monit配置文件有两部分:“Global”(全局)和“Services”(服务)。

Global Configuration: Web Status Page (全局配置:Web状态页面)

Monit可以使用邮件服务来发送通知,也可以使用HTTP/HTTPS页面来展示。我们先使用如下配置的web状态页面吧:

Monit监听1966端口。

对web状态页面的访问是通过SSL加密的。

使用monituser/romania作为用户名/口令登录。

只允许通过localhost、myhostmydomainro和在局域网内部(19216800/16)访问。

Monit使用pem格式的SSL证书。

之后的步骤,我会使用一个基于Red Hat的系统。在基于Debian的系统中的步骤也是类似的。

首先,在/var/cert生成一个自签名的证书(monitpem):

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

现在将下列代码片段放到Monit的主配置文件中。你可以创建一个空配置文件,或者基于自带的配置文件修改。

set httpd port 1966 and SSL ENABLE PEMFILE /var/certs/monitpem allow monituser:romania allow localhost allow 19216800/16 allow myhostmydomainro

Global Configuration: Email Notification (全局配置:邮件通知)

然后,我们来设置Monit的邮件通知。我们至少需要一个可用的SMTP服务器来让Monit发送邮件。这样就可以(按照你的实际情况修改):

邮件服务器的机器名:smtpmonitro

Monit使用的发件人:monit@monitro

邮件的收件人:guletz@monitro

邮件服务器使用的SMTP端口:587(默认是25)

有了以上信息,邮件通知就可以这样配置:

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

就像你看到的,Monit会提供几个内部变量($DATE、$EVENT、$HOST等),你可以按照你的需求自定义邮件内容。如果你想要从Monit所在机器发送邮件,就需要一个已经安装的与sendmail兼容的程序(如postfix或者ssmtp)。

Global Configuration: Monit Daemon (全局配置:Monit守护进程)

接下来就该配置Monit守护进程了。可以将其设置成这样:

在120秒后进行第一次检测。

每3分钟检测一次服务。

使用syslog来记录日志。

如下代码段可以满足上述需求。

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

我们必须定义“idfile”,Monit守护进程的一个独一无二的ID文件;以及“eventqueue”,当monit的邮件因为SMTP或者网络故障发不出去,邮件会暂存在这里;以及确保/var/monit路径是存在的。然后使用下边的配置就可以了。

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

测试全局配置

现在“Global”部分就完成了。Monit配置文件看起来像这样:

# Global Section # status webpage and acl's set httpd port 1966 and SSL ENABLE PEMFILE /var/certs/monitpem allow monituser:romania allow localhost allow 19216800/16 allow myhostmydomainro # mail-server set mailserver smtpmonitro port 587 # email-format set mail-format { from: monit@monitro subject: $SERVICE $EVENT at $DATE on $HOST message: Monit $ACTION $SERVICE $EVENT at $DATE on $HOST : $DESCRIPTION Yours sincerely, Monit } set alert guletz@monitro # delay checks set daemon 120 with start delay 240 set logfile syslog facility log_daemon # idfile and mail queue path set idfile /var/monit/id set eventqueue basedir /var/monit

现在是时候验证我们的工作了,你可以通过运行如下命令来验证存在的配置文件(/etc/monitconf):

# monit -t Control file syntax OK

如果monit提示任何错误,请再检查下配置文件。幸运的是,错误/警告信息是可以帮助你发现问题的,比如:

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

一旦你确认配置文件没问题了,可以启动monit守护进程,然后等2到3分钟:

# service monit start

如果你使用的是systemd,运行:

# systemctl start monit

现在打开一个浏览器窗口,然后访问https://<monit_host>:1966。将<monit_host>替换成Monit所在机器的机器名或者IP地址。

如果你使用的是自签名的SSL证书,你会在浏览器中看到一个警告信息。继续访问即可。

你完成登录后,就会看到这个页面。

在这个教程的其余部分,我们演示监控一个本地服务器和常见服务的方法。你会在官方wiki页面看到很多有用的例子。其中的多数是可以直接复制粘贴的!

Service Configuration: CPU/Memory Monitoring (服务配置:CPU、内存监控)

我们先来监控本地服务器的CPU、内存占用。复制如下代码段到配置文件中。

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

你可以很容易理解上边的配置。最上边的check是指每个监控周期(全局配置里设置的120秒)都对本机进行下面的操作。如果满足了任何条件,monit守护进程就会使用邮件发送一条报警。

如果某个监控项不需要每个周期都检查,可以使用如下格式,它会每240秒检查一次平均负载。

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

Service Configuration: SSH Service Monitoring (服务配置:SSH服务监控)

先检查我们的sshd是否安装在/usr/sbin/sshd:

check file sshd_bin with path /usr/sbin/sshd

我们还想检查sshd的启动脚本是否存在:

check file sshd_init with path /etc/initd/sshd

最后,我们还想检查sshd守护进程是否存活,并且在监听22端口:

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

们可以这样解释上述配置:我们检查是否存在名为sshd的进程,并且有一个保存其pid的文件存在(/var/run/sshdpid)。如果任何一个

不存在,我们就使用启动脚本重启sshd。我们检查是否有进程在监听22端口,并且使用的是SSH协议。如果没有,我们还是重启sshd。如果在最近的5

个监控周期(5x120秒)至少重启5次了,sshd就被认为是不能用的,我们就不再检查了。

Service Configuration: SMTP Service Monitoring (服务配置:SMTP服务监控)

现在我们来设置一个检查远程SMTP服务器(如192168111102)的监控。假定SMTP服务器运行着SMTP、IMAP、SSH服务。

check host MAIL with address 192168111102 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回应,就发送一条报警。如果监测到25端口上的SMTP协议是异常的,就发

送一条报警。如果在一次监测失败后又监测成功了,就运行一个脚本(/scripts/mail-script)。如果检查22端口上的SSH或者143端

口上的IMAP协议不正常,同样发送报警。

这类的软件产品还是很多的,比如西安银华电子信息科技有限公司的“网络路由交换机监控短信报警”产品就可以实现你所要求的功能:

(1)网络监控及短信报警

系统通过ping、tcp、或http等三种网络探测方式,可以实时监控最多100个服务器的网络通断状态,一旦在设定时间内网络不通,即立刻给管理员发短信报警。

系统所监控的服务器可以是外网的,也可以是局域网内部的。

系统支持通过代理服务器连接的服务器。

服务器网路不通时,系统可以最多给15个手机号码发短信报警。

每次网路不通的短信报警次数,可以自由设定。

发一条短信“网络监控”,可以在手机上查询有那些服务器网络连接不通。

(2)服务器短信控制: 控制权限设置:设置某个手机号码是否具有关机或重启的权限。

短信控制:使用被授权的手机,发送“关机”或“重启”,即可实现关机或重启的功能。

(3)短信设备故障报警

为了防止短信收发设备在长期使用或在意外情况下不正常工作,系统设置了以下两种方式,以增加系统的稳定性。实现功能:

(1)短信设备重启:系统实时检测短信设备的工作状态,如果发现设备死机,会重新启动短信设备。客户也可以手工重启短信设备。

(2)电子邮件通知:在短信设备出现故障时,系统可以给客户发电子邮件提醒。

一个好的安全运维平台需要将事件与IT流程相关联,一旦监控系统发现性能超标或出现宕机现象,就会触发相关事件以及事先定义好的流程,自动启动故障响应和恢复机制。还需要能够筛选出运维人员完成日常的重复性工作,提高运维效率。要实现这些功能都是常规监控软件Cacti、Zabbix所无法实现。

同时,还要求能够预测网络蠕虫威胁,在故障发生前能够报警,让运维人员把故障消除在萌芽状态,将所产生损失减到最低。总的来说运维人需要能够在一个平台中实现资产管理、分布式部署、漏洞扫描、风险评估、策略管理、实时流量监控、异常流量分析、攻击检测报警、关联分析、风险计算、安全事件告警、事件聚合、日志收集与分析、知识库、时间线分析、统一报表输出、多用户权限管理的功能,这种集成开源工具到底有没有?它去哪儿啦?

目前市面上有两种产品可满足这样的要求,目前市面上的SIEM产品主要有HPArcsight(后台挂Oracle库)、IBMSecurityQRadarSIEM和Alienvault的OSSIMUSM,现在的问题是并不缺少商业SIEM解决方案,在开源软件中OSSIM到是最佳选择。

很多人只是肤浅的认为OSSIM只是将一些开源工具集成到一个平台,在OSSIM中颠覆性创新主要在易用(容易安装、部署,容易使用,几乎不用自己写脚本)、分布式监控系统、响应威胁(OTX)、关联分析引擎、可视化攻击展示等。

Alienvault分为开源OSSIM和商业版USM两种,通过这一集成监控工具实现对用户操作规范的约束和对计算机资源进行准实时监控,包括服务器、数据库、中间件、存储备份、网络、安全、机房、业务应用等内容,通过自动监控管理平台实现故障或问题综合处理和集中管理。

手动修改磁盘的报警阈值:

Template - Template OS Linux - Discovery rules - Mounted filesystem discovery - Trigger prototypes进行设置

等待Discovery rules更新过后,可以看到阈值已经更新

实验下看看,记得给分啊

1、监控windows进程内存。在C盘中创建脚本abat,内容tasklist。

2、在zabbix客户端配置文件zabbix-agentdwinconf中添加UserParameter=aa,c:\abat。

3、在主机的监控项中添加新的监控项,这样就可以监控windows进程内存。

4、还可以通过zabbix监控网络设备,网络配置>接口/区域>区域TAB页,在“允许管理设备”里勾选“SNMP”。

5、在网络配置>高级网络配置里,找到snmp标签页,添加一条SNMP V1/V2规则。

6、用snmp进行管理,这里的设备的IP一定要在第一步“允许管理此设备的IP”范围内,用下面命令进行测试。

7、创建监控主机,选择snmp接口,默认端口为161。

8、通过在zabbix上创建监控项,配置上键值、SNMP OID、SNMP community。

9、这样就能通过监控项获取到最新数据了。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 阿里云ecs服务器cpu满了怎么设置报警到手机

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情