這篇文章主要講解了“l(fā)inux下如何監(jiān)控服務器的存活狀態(tài)”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“l(fā)inux下如何監(jiān)控服務器的存活狀態(tài)”吧!

簡單郵件傳輸協(xié)議 (Simple Mail Transfer Protocol, SMTP) 是在Internet傳輸email的事實標準,
SMTP是一個相對簡單的基于文本的協(xié)議。在其之上指定了一條消息的一個或多個接收者,然后消息文本會
被傳輸。SMTP使用TCP端口25。
一、配置環(huán)境
[root@ser ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
#查看系統(tǒng)環(huán)境
[root@ser ~]# systemctl stop firewalld
#停止firewall防火墻服務
[root@ser ~]# systemctl disable firewalld
#禁止firewall防火墻服務開機自動啟動功能
[root@ser ~]# firewall-cmd --state
not running
#查看防火墻運行狀態(tài),確認防火墻被關閉。
vi /etc/selinux/config
#SELINUX=enforcing
#SELINUXTYPE=targeted
SELINUX=disabled
:wq!
#關閉selinux,保存退出
[root@ser ~]# setenforce 0
#臨時關閉selinux,重啟失效
[root@ser ~]# getenforce
Disabled
#查看selinux狀態(tài),確認已關閉
二、下載軟件,并安裝相關依賴的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]# ls
CHANGELOG 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復制到執(zhí)行目錄/usr/local/bin/下,并賦予root用戶權限、屬組權限
三、創(chuàng)建腳本并賦予腳本執(zhí)行權限
[root@ser ~]# cd
[root@ser ~]# pwd
/root
#返回/root
[root@ser ~]# vim mail.sh
#!/bin/bash
to=$1
subject=$2
body=$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表示發(fā)件人郵箱,-s smtp.qq.com 表示郵件的smtp服務器
#本文中使用騰訊qq郵箱,使用其他郵箱服務器需要修改
# -xu ********@qq.com 表示發(fā)件人郵箱的用戶名,-xp ********表示郵件協(xié)議授權密鑰
[root@ser ~]# chmod +x mail.sh
#執(zhí)行腳本測試發(fā)送郵件
[root@ser ~]# ./mail.sh chao.il@qq.com test 123
test
發(fā)件人:**<********@qq.com>
時 間:2019年9月12日(星期四) 下午3:50 (UTC+0:00 倫敦、都柏林、里斯本時間)
收件人:** <********@qq.com>
123
#收到的測試郵件
四、常見問題及處理:
1、當進行郵件測試時,出現(xiàn)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、當進行郵件測試,出現(xiàn)ERROR => SMTP-AUTH: Authentication to smtp.qq.com:25 failed這樣
的報錯時,原因是郵箱要求使用第三方客戶端發(fā)送郵件是必須使用授權碼登錄的,使用帳號密碼驗證時,授
權碼需要登錄郵箱設置中查找,有些郵件服務器需要先開啟POP3服務。
五、編寫shell腳本進行服務器在線狀態(tài)監(jiān)控
[root@ser ~]# vim CheckNetwork.sh
#!/bin/bash
tt1=172.20.220.20
#定義服務器一
tt2=172.20.11.1
#定義服務器二
while true
#while(true)是一個無窮循環(huán)語句
#我們必須在他的循環(huán)語句內(nèi)部加入一個判斷,當他達到了什么要求就會跳出
do
ping -c 5 $tt1 >/dev/null
#用ping命令來探測遠程機是否存活
if [ $? -eq 0 ];then
#shell腳本中$?是指上一次命令執(zhí)行的成功或者失敗的狀態(tài)。如果成功就是0,失敗為1。
#語句if [ $? -eq 0 ] 是判斷if語句的上一個命令執(zhí)行如果失敗就執(zhí)行if中的語句,否則就執(zhí)行else中的內(nèi)容。
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"
#發(fā)送郵件給以上的郵件地址
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 5
fi
kill -9 `ps aux | grep CheckNetwork | grep -v grep | awk '{print $2}'`
#執(zhí)行腳本后,殺死此腳本的進程,防止重復執(zhí)行腳本。
done
[root@ser ~]# crontab -l
*/15 8-18 * * * /usr/bin/bash /root/CheckNetwork.sh
#設置定時任務,8點到18點每15分鐘執(zhí)行CheckNetwork.sh。(時間請根據(jù)需求設定)
下面為報警郵件信息
服務器錯誤
發(fā)件人:** <********@qq.com>
時 間:2019年9月12日(星期四) 下午4:45 (UTC+0:00 倫敦、都柏林、里斯本時間)
收件人:** <********@qq.com>
2019-09-12-12:45:19----益輝 172.20.11.1 is Error感謝各位的閱讀,以上就是“l(fā)inux下如何監(jiān)控服務器的存活狀態(tài)”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對linux下如何監(jiān)控服務器的存活狀態(tài)這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關知識點的文章,歡迎關注!
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
當前文章:linux下如何監(jiān)控服務器的存活狀態(tài)-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://chinadenli.net/article4/hpcoe.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供電子商務、網(wǎng)站維護、微信公眾號、域名注冊、靜態(tài)網(wǎng)站、外貿(mào)網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容