linux下如何监控服务器的存活状态
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,这篇文章主要讲解了"linux下如何监控服务器的存活状态",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"linux下如何监控服务器的存活状态"吧!简单邮
千家信息网最后更新 2025年12月01日linux下如何监控服务器的存活状态
这篇文章主要讲解了"linux下如何监控服务器的存活状态",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"linux下如何监控服务器的存活状态"吧!
简单邮件传输协议 (Simple Mail Transfer Protocol, SMTP) 是在Internet传输email的事实标准,SMTP是一个相对简单的基于文本的协议。在其之上指定了一条消息的一个或多个接收者,然后消息文本会被传输。SMTP使用TCP端口25。一、配置环境[root@ser ~]# cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) #查看系统环境[root@ser ~]# systemctl stop firewalld#停止firewall防火墙服务[root@ser ~]# systemctl disable firewalld#禁止firewall防火墙服务开机自动启动功能[root@ser ~]# firewall-cmd --statenot running#查看防火墙运行状态,确认防火墙被关闭。vi /etc/selinux/config#SELINUX=enforcing#SELINUXTYPE=targetedSELINUX=disabled:wq! #关闭selinux,保存退出[root@ser ~]# setenforce 0#临时关闭selinux,重启失效[root@ser ~]# getenforceDisabled#查看selinux状态,确认已关闭二、下载软件,并安装相关依赖的perl组件[root@ser ~]# yum -y install perl-Net-SSLeay perl-IO-Socket-SSL#安装依赖[root@ser ~]# wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz#下载安装包[root@ser ~]# tar -zxf sendEmail-v1.560.tar.gz#解压安装包[root@ser ~]# cd sendEmail-v1.56/[root@ser sendEmail-v1.56]# lsCHANGELOG README README-BR.txt sendEmail sendEmail.pl TODO#进入目录sendEmail-v1.56/[root@ser sendEmail-v1.56]# cp sendEmail /usr/local/bin/sendEmail[root@ser sendEmail-v1.56]# chown root:root /usr/local/bin/sendEmail[root@ser sendEmail-v1.56]# ll /usr/local/bin/sendEmail -rwxr-xr-x 1 root root 80183 Jul 31 15:14 /usr/local/bin/sendEmail#将sendEmail复制到执行目录/usr/local/bin/下,并赋予root用户权限、属组权限三、创建脚本并赋予脚本执行权限[root@ser ~]# cd[root@ser ~]# pwd/root#返回/root[root@ser ~]# vim mail.sh#!/bin/bashto=$1subject=$2body=$3/usr/local/bin/sendEmail -o tls=auto -f ******@qq.com -t "$to" -s smtp.qq.com -u "$subject" -o message-content-type=html -o message-charset=utf8 -xu ******@qq.com -xp ****** -m "$body"#脚本中 -f ********@qq.com表示发件人邮箱,-s smtp.qq.com 表示邮件的smtp服务器#本文中使用腾讯qq邮箱,使用其他邮箱服务器需要修改# -xu ********@qq.com 表示发件人邮箱的用户名,-xp ********表示邮件协议授权密钥[root@ser ~]# chmod +x mail.sh#执行脚本测试发送邮件[root@ser ~]# ./mail.sh chao.il@qq.com test 123 test 发件人:**<********@qq.com> 时 间:2019年9月12日(星期四) 下午3:50 (UTC+0:00 伦敦、都柏林、里斯本时间) 收件人:** <********@qq.com> 123 #收到的测试邮件四、常见问题及处理:1、当进行邮件测试时,出现invalid SSL_version ******/IO/Socket/SSL.pm line 444这样的报错时,原因是sendEmail软件和perl里面的SSL版本不兼容导致,通过修改/usr/local/bin/sendEmail文件第1906行,不指定SSL版本,原始文件为 if (! IO::Socket::SSL->start_SSL($SERVER, SSL_version=> 'SSLv3 TLSv1')) { 更改后为 if (! IO::Socket::SSL->start_SSL($SERVER)) {2、当进行邮件测试,出现ERROR => SMTP-AUTH: Authentication to smtp.qq.com:25 failed这样的报错时,原因是邮箱要求使用第三方客户端发送邮件是必须使用授权码登录的,使用帐号密码验证时,授权码需要登录邮箱设置中查找,有些邮件服务器需要先开启POP3服务。五、编写shell脚本进行服务器在线状态监控[root@ser ~]# vim CheckNetwork.sh #!/bin/bashtt1=172.20.220.20 #定义服务器一tt2=172.20.11.1 #定义服务器二while true#while(true)是一个无穷循环语句 #我们必须在他的循环语句内部加入一个判断,当他达到了什么要求就会跳出do ping -c 5 $tt1 >/dev/null #用ping命令来探测远程机是否存活 if [ $? -eq 0 ];then #shell脚本中$?是指上一次命令执行的成功或者失败的状态。如果成功就是0,失败为1。 #语句if [ $? -eq 0 ] 是判断if语句的上一个命令执行如果失败就执行if中的语句,否则就执行else中的内容。 echo `date +%F-%T` " $tt1 is yes" >> ip_yes.txt #追加当前时间和服务器IP is yes 到ip_yes.txt,此处ip_yes.txt用做正确日志文件 else echo `date +%F-%T` " $tt1 is Error" >> ip_no.txt #追加当前时间和服务器IP is Error到ip_no.txt,此处ip_no.txt用做错误日志文件 /root/mail.sh ********@qq.com 服务器错误 `date +%F-%T`----"爱普 $tt1 is Error" /root/mail.sh ********@qq.com 服务器错误 `date +%F-%T`----"爱普 $tt1 is Error" /root/mail.sh ********@sunplusapp.com 服务器错误 `date +%F-%T`----"爱普 $tt1 is Error" /root/mail.sh ********@sunplusapp.com 服务器错误 `date +%F-%T`----"爱普 $tt1 is Error" #发送邮件给以上的邮件地址 sleep 5 #休眠5秒fi ping -c 5 $tt2 >/dev/null if [ $? -eq 0 ];then echo `date +%F-%T` " $tt2 is yes" >> ip_yes.txt else echo `date +%F-%T` " $tt2 is Error" >> ip_no.txt /root/mail.sh ********@qq.com 服务器错误 `date +%F-%T`----"益辉 $tt2 is Error" /root/mail.sh ********@qq.com 服务器错误 `date +%F-%T`----"益辉 $tt2 is Error" /root/mail.sh ********@sunplusapp.com 服务器错误 `date +%F-%T`----"益辉 $tt2 is Error" /root/mail.sh ********@sunplusapp.com 服务器错误 `date +%F-%T`----"益辉 $tt2 is Error" sleep 5fi kill -9 `ps aux | grep CheckNetwork | grep -v grep | awk '{print $2}'` #执行脚本后,杀死此脚本的进程,防止重复执行脚本。done [root@ser ~]# crontab -l*/15 8-18 * * * /usr/bin/bash /root/CheckNetwork.sh#设置定时任务,8点到18点每15分钟执行CheckNetwork.sh。(时间请根据需求设定)下面为报警邮件信息 服务器错误 发件人:** <********@qq.com> 时 间:2019年9月12日(星期四) 下午4:45 (UTC+0:00 伦敦、都柏林、里斯本时间) 收件人:** <********@qq.com> 2019-09-12-12:45:19----益辉 172.20.11.1 is Error感谢各位的阅读,以上就是"linux下如何监控服务器的存活状态"的内容了,经过本文的学习后,相信大家对linux下如何监控服务器的存活状态这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
服务
服务器
邮件
错误
脚本
状态
邮箱
监控
时间
语句
发件人
文件
防火墙
爱普
测试
防火
内容
命令
权限
传输
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
芜湖三圃网络技术公司
大数据管理服务器
汕头无限软件开发零售价
青岛地球软件开发
查看服务器设备的详细参数
学软件开发数学
长沙景安网络技术
海淀互联网科技公司发展
数据库可视化交互开发工具
机房服务器管理规范
共享一个数据库连接对象
网络技术对个人的重要性
山西调度服务器虚拟主机
网络安全 自检表
贯彻什么和网络安全等级
虎牙云游戏无法连接服务器
浙江特种网络技术服务咨询报价
数据库优化复习第二章
全面排查网络安全
国内认证网络安全工程师
区域安全风险数据库
岳阳哪些软件开发培训学校
数据库中文存储出现乱码
塔克夫服务器目录
微招聘什么软件开发
rust部落怎么进服务器
网络安全技术方案供应商
四川腾云法智互联网科技
有没有软件开发竞标平台
蝌蚪五线谱软件开发