首页
学习
活动
专区
工具
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

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

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

    87490

    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

    98130

    一种监控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.3K110

    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.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设置参数

    87620

    PM2 进程管理工具使用总结

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

    2.6K40

    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.5K20

    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 摸鱼有感 那么这次摸鱼给我带来了什么?

    27110

    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/*。

    1K20
    领券