如何安装和配置Monit

本文涉及的产品
RDS AI 助手,专业版
RDS Agent(兼容OpenClaw),2核4GB
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
简介: 如何安装和配置Monit

关于 Monit

Monit 是一个有用的程序,可以自动监控和管理服务器程序,以确保它们不仅保持在线,而且文件大小、校验和权限始终正确。此外,Monit 还带有一个基本的 Web 界面,通过该界面可以设置所有的进程。本教程将介绍最基本的设置和配置。

安装 Monit

通过 apt-get 安装 Monit 最为简单:

sudo apt-get install monit

安装完成后,可以将程序和进程添加到配置文件中:

sudo nano /etc/monit/monitrc

可以使用命令启动 Monit,并使其在后台运行:

monit

输入 monit status 命令显示 Monit 的详细信息:

The Monit daemon 5.3.2 uptime: 1h 25m 
System 'myhost.mydomain.tld'
  status                            Running
  monitoring status                 Monitored
  load average                      [0.03] [0.14] [0.20]
  cpu                               3.5%us 5.9%sy 0.0%wa
  memory usage                      26100 kB [10.4%]
  swap usage                        0 kB [0.0%]
  data collected                    Thu, 30 Aug 2012 18:35:00

配置 Monit

Monit 几乎可以直接使用。默认情况下,它被设置为每 2 分钟检查一次服务是否运行,并将日志文件存储在 “/var/log/monit.log” 中。

这些设置可以在配置文件开头的 set daemonset logfile 行中进行更改。

Web 服务

Monit 自带一个运行在 2812 端口的 Web 服务器。要配置 Web 界面,找到并取消注释以 set httpd port 2812 开头的部分。取消注释后,写入服务器的 IP 或域名作为地址,允许任何人连接,然后创建一个 Monit 用户和密码。

set httpd port 2812
    use address 12.34.56.789  # 只接受来自本地的连接
    allow 0.0.0.0/0.0.0.0        # 允许本地主机连接到服务器
    allow admin:monit      # 要求用户 'admin' 和密码 'monit'

配置完成后,Monit 应该重新加载和重新读取配置文件,Web 界面将可用:

monit reload

然后,您可以通过访问 “example.com:2812” 来访问 Monit Web 界面。

使用您选择的用户名和密码登录。您的屏幕应该看起来像这样。

配置程序自我监控

设置了 Web 服务后,可以开始将要监视和保护的程序输入到 “/etc/monit/monitrc” 配置文件中。要简单地确保程序保持在线,可以使用 /etc/init.d 命令来停止或启动程序。

以下是一些示例配置:

Apache:

check process apache with pidfile /run/apache2.pid
    start program = "/etc/init.d/apache2 start" with timeout 60 seconds
    stop program  = "/etc/init.d/apache2 stop"

MySQL:

check process mysqld with pidfile /var/run/mysqld/mysqld.pid
    start program = "/etc/init.d/mysql start"
    stop program = "/etc/init.d/mysql stop"

Nginx:

check process nginx with pidfile /var/run/nginx.pid
    start program = "/etc/init.d/nginx start"
    stop program = "/etc/init.d/nginx stop"

完成

一旦配置了要运行的所有程序,它们将被自动跟踪,并在关闭时重新启动。

您可以通过 Web 界面或命令行控制这些程序。

配置完成后,检查语法:

monit -t

解决可能的语法错误后,可以开始运行所有被监视的程序。

monit start all


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
前端开发 Java 开发者
LayUI系列(二)之树形菜单的实现
LayUI系列(二)之树形菜单的实现
|
8月前
|
存储 Java 调度
Python定时任务实战:APScheduler从入门到精通
APScheduler是Python强大的定时任务框架,通过触发器、执行器、任务存储和调度器四大组件,灵活实现各类周期性任务。支持内存、数据库、Redis等持久化存储,适用于Web集成、数据抓取、邮件发送等场景,解决传统sleep循环的诸多缺陷,助力构建稳定可靠的自动化系统。(238字)
1453 1
|
NoSQL Java Redis
Could not get a resource from the pool 异常定位和解决
Could not get a resource from the pool 异常定位和解决
1404 4
|
11月前
|
存储 监控 Shell
SkyWalking微服务监控部署与优化全攻略
综上所述,虽然SkyWalking的初始部署流程相对复杂,但通过一步步的准备和配置,可以充分发挥其作为可观测平台的强大功能,实现对微服务架构的高效监控和治理。尽管未亲临,心已向往。将一件事做到极致,便是天分的展现。
|
NoSQL Redis UED
揭秘!Flask如何携手Celery,让异步任务处理不再是难题,打造极速响应的Web应用新纪元!
【8月更文挑战第31天】在Web开发中,Flask与Celery的结合为异步任务处理提供了强大支持。Flask作为轻量级Web框架,以其简洁灵活著称;而Celery则是一个分布式任务队列系统,擅长处理耗时任务。二者结合,Flask专注于处理Web请求,Celery则在后台异步执行复杂任务,如发送邮件或调用外部API。这种方式不仅提升了应用性能和响应速度,还优化了用户体验。下面的示例展示了如何在Flask应用中集成Celery以实现异步任务处理。
845 0
|
JSON 前端开发 开发工具
初探在WSL中设置vim前端开发环境
初探在WSL中设置vim前端开发环境
|
数据采集 NoSQL 调度
flask celery python 每月定时任务
flask celery python 每月定时任务
|
数据采集 调度 数据库
flask-apscheduler的使用与示例
flask-apscheduler的使用与示例
1414 4
|
调度 数据库 UED
Python使用asyncio包实现异步编程方式
异步编程是一种编程范式,用于处理程序中需要等待异步操作完成后才能继续执行的情况。 异步编程允许程序在执行耗时的操作时不被阻塞,而是在等待操作完成时继续执行其他任务。 这对于处理诸如文件 I/O、网络请求、定时器等需要等待的操作非常有用。
|
Prometheus Kubernetes Cloud Native
Collector的配置和使用
Collector的配置和使用
771 1

热门文章

最新文章