在 Ubuntu 上安装 Monit 并更新至最新版
本文最后更新于 1829 天前,其中的信息可能已经有所发展或是发生改变。

相信很多人都遇到过 “502错误”、 “2002 数据库无法连接” “ERR_NAME_NOT_RESOLVED” 等问题吧,一般来说是 Apache Httpd、Nginx、PHP、MySQL 等软件崩溃或者不稳定出现了相关问题。

我们可以利用 Monit 来监控服务器和环境,当出现意外的时候还可以自动实现重启。

安装

更新软件源缓存

apt update

安装 Monit

apt install monit -y

升级

关闭 monint

service monit stop

安装 html2text 以自动解析最细版本:

apt install html2text -y

自动更新

MONITVER=$(wget -q https://mmonit.com/monit/dist/binary/ -O - | html2text | grep DIR | tail -n 1 | tr -d / | awk '{print $2}')
cd /tmp
wget https://mmonit.com/monit/dist/binary/$MONITVER/monit-$MONITVER-linux-x64.tar.gz
tar -xf monit-*
cd monit-*
sudo cp bin/monit /usr/bin/monit
sudo ln -s /etc/monit/monitrc /etc/monitrc

重启monint

service monit restart

配置

备份原始配置

mv /etc/monit/monitrc /etc/monit/monitrc.bak

创建 SSL 证书 ,实现 HTTPS 安全传输,此过程也可以使用 Let's Encrypt 的证书 参考,演示用的是 OpenSSL 的自签,一路回车就行 :

mkdir -p /var/certs/
openssl req -new -x509 -days 365 -nodes -out /var/certs/monit.pem -keyout /var/certs/monit.pem

chmod 0700 /var/certs/monit.pem

创建新配置

创建一份新的 /etc/monit/monitrc 文件,内容:

 set daemon 60 #check services every 60 seconds
  set logfile /var/log/monit.log
  set idfile /var/lib/monit/id
  set statefile /var/lib/monit/state

#Event queue
  set eventqueue
      basedir /var/lib/monit/events # set the base directory where events will be stored
      slots 100                     # optionally limit the queue size

#Mail settings

#http settings
 set httpd port 52822 address 0.0.0.0  # 配置端口为 adapters
    ssl enable #启用 SSL
    pemfile  /var/certs/monit.pem #生成的 SSL 地址
    allow 0.0.0.0/0.0.0.0 # 允许访问的IP
    allow monit.mf8.biz        # 绑定的域名
    allow mf8:"www.mf8.biz"      # 账号为 mf8 ,密码为 www.mf8.biz

#allow modular structure
    include /etc/monit/conf.d/*
    include /etc/monit/conf-enabled/*

给予权限

chmod 0700 /etc/monit/monitrc

检查配置是否正确 ,运行

monit -t

如果反馈下面的语句就是正常的:

Control file syntax OK

重启服务

systemctl restart monit

访问

当问 https://yourip:52822 输入用户名: mf8 密码:www.mf8.biz 就可以访问管理页面了。

上一篇
下一篇