首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

根据处理器数量更新Monit配置的脚本

是一个用于自动更新Monit配置文件的脚本,根据系统中的处理器数量动态调整Monit的配置参数,以实现更好的性能和资源利用。

Monit是一款开源的系统监控工具,用于监控服务器的各种系统资源和服务状态。通过配置Monit,可以实现对服务器的自动化监控和管理。

以下是一个示例的根据处理器数量更新Monit配置的脚本:

代码语言:txt
复制
#!/bin/bash

# 获取处理器数量
cpu_count=$(grep -c ^processor /proc/cpuinfo)

# 更新Monit配置文件
sed -i "s/set daemon 120/set daemon 60/" /etc/monit/monitrc
sed -i "s/set logfile \/var\/log\/monit.log/set logfile \/var\/log\/monit\/monit.log/" /etc/monit/monitrc
sed -i "s/set httpd port 2812 and use address localhost/set httpd port 2812 and use address 0.0.0.0/" /etc/monit/monitrc
sed -i "s/set httpd allow localhost/set httpd allow all/" /etc/monit/monitrc
sed -i "s/set mailserver localhost/set mailserver mail.example.com/" /etc/monit/monitrc
sed -i "s/set alert root@localhost/set alert admin@example.com/" /etc/monit/monitrc
sed -i "s/set cpu 80% with timeout 3 cycles/set cpu 90% with timeout 3 cycles/" /etc/monit/monitrc
sed -i "s/set loadavg 5 4 3/set loadavg 10 8 6/" /etc/monit/monitrc
sed -i "s/set memory 85% with timeout 3 cycles/set memory 90% with timeout 3 cycles/" /etc/monit/monitrc
sed -i "s/set swap 80% with timeout 3 cycles/set swap 90% with timeout 3 cycles/" /etc/monit/monitrc
sed -i "s/set context default/set context system/" /etc/monit/monitrc
sed -i "s/set logfile \/var\/log\/monit.log/set logfile \/var\/log\/monit\/monit.log/" /etc/monit/monitrc

# 根据处理器数量更新Monit配置
if [ $cpu_count -lt 4 ]; then
    sed -i "s/set pidfile \/var\/run\/monit.pid/set pidfile \/var\/run\/monit.pid\n\ncheck system localhost\n  if loadavg (1min) > 4 then alert\n  if loadavg (5min) > 2 then alert\n  if memory usage > 80% then alert\n  if swap usage > 20% then alert\n  if cpu usage (user) > 90% then alert\n  if cpu usage (system) > 90% then alert\n  if cpu usage (wait) > 90% then alert\n/" /etc/monit/monitrc
else
    sed -i "s/set pidfile \/var\/run\/monit.pid/set pidfile \/var\/run\/monit.pid\n\ncheck system localhost\n  if loadavg (1min) > 8 then alert\n  if loadavg (5min) > 4 then alert\n  if memory usage > 90% then alert\n  if swap usage > 20% then alert\n  if cpu usage (user) > 95% then alert\n  if cpu usage (system) > 95% then alert\n  if cpu usage (wait) > 95% then alert\n/" /etc/monit/monitrc
fi

# 重启Monit服务
service monit restart

这个脚本首先获取系统中的处理器数量,然后根据处理器数量更新Monit的配置文件。如果处理器数量小于4个,将调整Monit的配置参数以适应较低的资源需求;如果处理器数量大于等于4个,将调整Monit的配置参数以适应较高的资源需求。最后,重启Monit服务使配置生效。

Monit的配置文件通常位于/etc/monit/monitrc,可以根据实际情况修改脚本中的配置文件路径。

请注意,以上脚本仅为示例,实际使用时需要根据具体情况进行调整和测试。此外,腾讯云提供了一系列云计算相关的产品和服务,如云服务器、云数据库、云存储等,可以根据实际需求选择适合的产品和服务。具体的产品介绍和文档可以在腾讯云官方网站上找到。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

[喵咪Liunx(4)Monit进程监控 原

前言 有一段时间没有更新博客了,最近因为公司项目全球化以及最近慢慢在偏向学习团队管理忙的有点不可开交了,不过这次要给大家带来两篇关于Liunx日常开发维护管理中非常好用的两款利器,其中一个就是Monit...脚本死了 Liunx开篇推荐的软件Supervisor可以帮助你运行脚本或者说软件,但是运行的软件默认连续过快退出三次就结束了,这个时候你怎么知道没有运行了? 2. Monit能搞定吗?...Monit的核心功能就是邮件通知,当你配置好需要监控的进程之后,无论是进程死亡,或者是进程变更都会发送报警邮件并且会更具你的预先配置好的命令尝试重启它,更牛逼的事当monit被关闭的时候也会发送邮件通知...附加功能 比如你不是用的云服务器自己管理的机器,但是机器数量又没有特别多没有到要搭建一套完整的监控系统的份上(zabbix或open-falcon)的份上Monit可以比较好的帮你低成本的解决这个问题...配置报警的几种方式 重中之重就是监控进程或者是服务器的报警,我们一般会选择**/etc/monit.d/**下面建立和监控的进程名一样的文件,Monit会自动读取解析,这里先来介绍几种常见的配置 按照PID

51220
  • [喵咪Liunx(4)Monit进程监控

    [喵咪Liunx(4)Monit进程监控 前言 有一段时间没有更新博客了,最近因为公司项目全球化以及最近慢慢在偏向学习团队管理忙的有点不可开交了,不过这次要给大家带来两篇关于Liunx日常开发维护管理中非常好用的两款利器...脚本死了 Liunx开篇推荐的软件Supervisor可以帮助你运行脚本或者说软件,但是运行的软件默认连续过快退出三次就结束了,这个时候你怎么知道没有运行了? 2. Monit能搞定吗?...Monit的核心功能就是邮件通知,当你配置好需要监控的进程之后,无论是进程死亡,或者是进程变更都会发送报警邮件并且会更具你的预先配置好的命令尝试重启它,更牛逼的事当monit被关闭的时候也会发送邮件通知...附加功能 比如你不是用的云服务器自己管理的机器,但是机器数量又没有特别多没有到要搭建一套完整的监控系统的份上(zabbix或open-falcon)的份上Monit可以比较好的帮你低成本的解决这个问题...配置报警的几种方式 重中之重就是监控进程或者是服务器的报警,我们一般会选择**/etc/monit.d/**下面建立和监控的进程名一样的文件,Monit会自动读取解析,这里先来介绍几种常见的配置 按照PID

    89490

    Monit-开源服务器监控工具 原

    Monit-开源服务器监控工具  发表于 2018-07-02   |   更新时间 2018-08-24  字数统计: 1,111 |  阅读时长 ≈ 5 Monit-开源服务器监控工具 Monit是一个用于管理和监控...25, 根据自己的SMTP服务器确定) 编辑vi /etc/monitrc, 将相应的内容修改为: 1 2 3 4 5 6 7 8 9 10 11 12 set mailserver smtp.exmail.qq.com...然后使用下边的配置就可以了: 1 2 3 set idfile /var/monit/id set eventqueue basedir /var/monit 默认路径为$HOME/.monit.id...验证全局配置 语法检测, 检测/etc/monitrc和/etc/monit.d的配置语法是否正确: 1 2 3 4 5 $ monit -t New Monit id: 8b7015f050672ebfd066d9e161cdf3ef.../service/service restart views" 本文标题:Monit-开源服务器监控工具 文章作者:赵磊 发布时间:2018年07月02日 - 15:07 最后更新:2018年08月24

    1.2K00

    Monit进程监控实践

    脚本死了 Liunx开篇推荐的软件Supervisor可以帮助你运行脚本或者说软件,但是运行的软件默认连续过快退出三次就结束了,这个时候你怎么知道没有运行了?...Monit的核心功能就是邮件通知,当你配置好需要监控的进程之后,无论是进程死亡,或者是进程变更都会发送报警邮件并且会更具你的预先配置好的命令尝试重启它,更牛逼的事当monit被关闭的时候也会发送邮件通知...附加功能 比如你不是用的云服务器自己管理的机器,但是机器数量又没有特别多没有到要搭建一套完整的监控系统的份上(zabbix或open-falcon)的份上Monit可以比较好的帮你低成本的解决这个问题...service命令就可以开关monit了 service monit start service monit stop 配置文件解读 使用monit最重要的就是设置好配置文件,具体的可以在官方文档查看这里只说几个重要的...) 注意:配置文件中还有系统报警等可以自行了解这里不做太多说明 配置报警的几种方式 重中之重就是监控进程或者是服务器的报警,我们一般会选择/etc/monit.d/下面建立和监控的进程名一样的文件,Monit

    1K30

    一种监控apache服务的方法

    当然monit有shell 和 perl 脚本替代品来监控服务。如果服务失败脚本将尝试重新启动服务并向我发送一封自动电子邮件。但是monit 是一个完整的解决方案。...出于安全目的,你可以监控不应更改的文件的 md5 校验和。支持各种apache服务的开源包,这里apache服务包括lighttpd,tomcat等等而且它非常容易配置并且非常可定制。...monitrc是 monit 配置文件的名称,放置于/etc/monitrc位置。...但是每个发行版将文件放在不同的位置:.=> 源代码安装:/etc/monitrc=> Debian/Unentu Linux 安装:/etc/monit/monitrc3.1、一个配置例子打开 monit...=""Restart=restart-always [Install]WantedBy=multi-user.target这里的ExecStart是一个自己写的脚本文件,你可以创建自己的脚本run_monit.sh

    1.3K210

    MySQL高可用架构-MMM环境部署记录

    关于mysql主主复制配置的监控、故障转移和管理的一套可伸缩的脚本套件(在任何时候只有一个节点可以被写入),这个套件也能对居于标准的主从配置的任意数量的从服务器进行读负载均衡,所以你可以用它来在一组居于复制的服务器启动虚拟...此脚本需要在监管机上运行。 mmm_agentd:运行在每个mysql服务器上(Master和Slave)的代理进程,完成监控的探针工作和执行简单的远端服务设置。此脚本需要在被监管机上运行。...在db-master1数据库里更新数据,会自动更新到db-slave数据库里。...并且db-master2恢复后,在故障期间更新的数据也会自动和其它两台机器同步!...并且故障期间更新的数据会自动同步回来。

    2.4K110

    nodemon+cross-env+config实现支持热更新的能根据不同环境加载不同配置的nodejs环境

    nodejs项目中我们经常会用到nodemon启动项目以使我们的项目在开发时支持热更新,修改了代码后不需要手动重启服务器;使用npm 的config模块实现不同的环境(一般是develop,production...cross-env的作用是不需要全局配置NODE_ENV在scripts脚本中修改NODE_ENV的值从而实现不同环境中proccess.env.NODE_ENV的不同,而config的工作原理就是基于...scripts中一一配置,也可以在上面的配置文件中配置,我们建议在配置文件中配置,清晰明了还好管理。...nodemon.json中跟本文相关的配置就是env->NODE_ENV配置项,他的值就对应设置了node环境中proccess.env.NODE_ENV的值, 当执行npm run dev 时,proccess.env.NODE_ENV...对应的是nodemon的配置文件中的值 当执行npm run start 时, proccess.env.NODE_ENV对应的是cross-env设置的参数的值

    91120

    Linux下monit进程管理操作梳理

    废话不多说,下面对monit监控环境的部署做一梳理: 需求说明: 随着线上服务器数量的增加,各种开源软件和工具的广泛使用,一些服务自动停止或无响应的情况时有发生,其中有很大一部分是由于软件自身的稳定性或者机器硬件资源限制而造成的...这本身不是什么困难的事情,实现的方法有很多,比如在Zabbix或Nagios的报警中增加Action或Commands,或自己写脚本放到计划任务中执行都可以。...centos6的配置文件是monit.conf,centos7的配置文件是monitrc --------------------------------------------------------...多个邮箱地址就配置多行;with后的配置可以不加。...根据系统及版本自动启动的命令不同,在这里介绍CentOS7上配置自动启动的方法 [root@linux-node2 ~]# systemctl list-unit-files | grep monit.service

    4.5K110

    PM2 进程管理工具使用总结

    支持进程行为配置 ,即可以通过配置,实现对pm2管理应用的一些基础属性更新修改,如应用名称,启动模式- 等; 支持集群模式,支持负载均衡,但因采用nodejs的cluster模块实现,仅适用于nodejs...,同时运行在不同配置下; 支持监听重启,在文件更新等情况下可实现进程自动重启; 支持linux的startup进程启动,startup是指系统boot, 进程自启动,如centos的chkconfig;...,最好先删除应用后,重新启动方才生效,如修改脚本入口文件; pm2 kill 杀掉pm2管理的所有进程; pm2 logs 查看指定应用的日志,即标准输出和标准错误; pm2 monit 监控各个应用进程...cli方式 pm2 monit是专门用来监控的命令,监控项包括cpu与内存。缺点monit展示内容太过粗糙,不够详细 pm2 list展示当前所有pm2的管理项目,可以查看出每个进程的运行状态。...当然,如果是服务器数量有限,能够支付昂贵的使用费用,无敏感数据等场景的话,推荐使用Keymetrics,毕竟是PM2的开发者的开发和维护,功能特性很丰富。

    2.7K40

    Monit监控软件安装 原

    官网地址:https://mmonit.com/ 在CentOS 6.4上配置Monit的步骤: 我们以服务器IP地址:10.153.126.189,为例进行配置,监控10.153.110.12,...安装完毕,接下来配置monit.conf文件 二、monit配置: 1、文件位置在/etc/monit.conf,修改常见配置: 1)检测时间、日志位置: set daemon 120 with...然后使用下边的配置就可以了; 3)设置web界面: set httpd port 1966 and SSL ENABLE PEMFILE /var/certs/monit.pem...# 接下来设置要监听的服务器 # address后面的是服务器的IP地址。第二行设置port端口号。exec后为当异常情况出现后执行的脚本。...当然monit除了管理进程之外,还可以监控文件、目录、设备等,本文不做讨论,具体配置方式可以去参考monit的官方文档。

    1.6K20

    crontab日常使用梳理

    根据以往的使用经验梳理如下: 基本格式 : *  *  *  *  *  command 分 时  日  月  周  命令 解释: 第1列表示分钟1~59 每分钟用*或者 */1表示 第2列表示小时...: 1)每一分钟执行/root/monit.sh这个脚本 * * * * * /bin/bash -x /root/monit.sh > /dev/null 2>&1 或者 */1 * * * * /bin...在crontab脚本没有定时执行的时候,首先需要检查脚本的语法有没有出现问题。...2)环境变量问题 有时创建了一个crontab,但是这个任务却无法自动执行,而手动执行这个任务却没有问题,这种情况一般是由于在crontab文件中没有配置环境变量引起的。...# tail -f /var/log/cron 上面的/var/log/cron只会记录是否执行了某些计划的脚本,但是具体执行是否正确以及脚本执行过程中的一些信息linux会通过邮件形式发送到给该用户。

    1.3K80

    用monit监控mongodb,崩溃后自动重启mongdb

    Monit可以监控服务器进程状态、端口状态,HTTP/TCP状态码、服务器资源变化、文件系统变动等等,根据这些变化,可以设定邮件报警、重启进程或服务。...monit.d/ # 在这个目录下新增每个待监控服务的配置 编辑全局参数配置文件/etc/monitrc,我的配置如下 vim /etc/monitrc 1 2 3 4 5 6 7 8 9 10 11...Web界面相关的访问配置,如不使用则不需要配置(web管理界面需要额外的M/Monit项目) set httpd port 2812      allow app:app set eventqueue...basedir /var/monit slots 1000   #包含所有需要监控服务的子配置项,这里使用了文件名通配符 include /etc/monit.d/*.monitrc.conf   ...相关命令 monit # 启动monit daemon monit reload # 当更新了配置文件需要重载 monit status # 查看所有服务状态 monit status nginx

    1.8K00

    摸鱼搞了个掘金数据监控桌面应用,还不快用起来!

    摸鱼下,它完成了~ 预览 这是掘金数据监控插件 预览图.png 当然,还有许多其他的功能,预览效果如下(位置可变,可拖拽) 预览图.png 项目地址:Monit: 用于展示各种信息的桌面小组件-https...://github.com/fzf404/Monit 项目文档:Monit-https://monit.fzf404.art/ ❝大家喜欢的可以给个star⭐呀~ ❞ 主要功能与大致实现过程 配置用户...配置.png 数据来源 我是使用个人页面中的两个接口来分别获取文章信息和个人信息数据的。....gif 文章列表 最开始是想按照赞的数量来进行个排序的,可是这样就看不到自己最新文章了(**日后更新**),最后还是先按照发文章的顺序来进行显示了,毕竟走接口来的数据就是这样的,也比较省事。...主题.png 去哪下载 去到项目仓库,我们已经为大家打包好了哦~ 项目仓库.png 根据自己的需要进行选择,下载体验吧~ 项目仓库.png 摸鱼有感 那么这次摸鱼给我带来了什么?

    27910

    Monit部署及基本使用

    前言 Monit是一款功能非常丰富的进程、文件、目录和设备的监测软件,适用于Linux/Unix平台。...它可以监控服务器进程状态、HTTP/TCP状态码、服务器资源变化、文件系统变动等等,根据这些变化,可以设定邮件报警、重启进程或服务、自动修复那些已经停止运作的程序,特别适合处理那些由于多种原因导致的软件错误...同时Monit 包含一个内嵌的 HTTP(S) Web 界面,你可以使用浏览器方便地查看 Monit 所监视的服务器。此外,M/Monit可以把多台安装Monit的服务器集中起来一起管理。...reload # 当更新了配置文件需要重载 monit status # 查看所有服务状态 monit status nginx # 查看nginx服务状态 monit stop all # 停止所有服务...#} include /etc/monit.d/* # 监控服务配置文件目录 监控项目配置 监控服务器配置我们统一放在/etc/monit.d/*。

    1.2K20
    领券