在Ubuntu上安装Monit来监控服务器和环境
说明:相信很多人都遇到过 “502
错误”、 “2002
数据库无法连接” “ERR_NAME_NOT_RESOLVED
” 等问题吧,一般来说是Apache Httpd
、Nginx
、PHP
、MySQL
等软件崩溃或者不稳定出现了相关问题。这时候我们可以利用Monit
来监控服务器和环境,当出现意外的时候还可以自动实现重启。
安装
1、更新软件源缓存
apt update
2、安装Monit
apt install monit -y
升级
1、关闭monint
service monit stop
2、安装html2text
以自动解析最细版本:
apt install html2text -y
3、自动更新
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
4、重启monint
service monit restart
配置
1、备份原始配置
mv /etc/monit/monitrc /etc/monit/monitrc.bak
2、创建SSL
证书 ,实现HTTPS
安全传输,演示用的是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
3、创建新配置
创建一份新的/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.moerats.com # 绑定的域名
allow rats:"www.moerats.com" # 账号为rats ,密码为www.moerats.com
#allow modular structure
include /etc/monit/conf.d/*
include /etc/monit/conf-enabled/*
4、给予权限
chmod 0700 /etc/monit/monitrc
5、检查配置是否正确 ,运行
monit -t
如果反馈下面的语句就是正常的:
Control file syntax OK
6、重启服务
systemctl restart monit
访问
当问https://yourip:52822
输入用户名:rats
密码:www.moerats.com
就可以访问管理页面了。