您好,登錄后才能下訂單哦!
這篇文章主要講解了“l(fā)inux下如何監(jiān)控服務(wù)器的存活狀態(tài)”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“l(fā)inux下如何監(jiān)控服務(wù)器的存活狀態(tài)”吧!
簡單郵件傳輸協(xié)議 (Simple Mail Transfer Protocol, SMTP) 是在Internet傳輸email的事實標(biāo)準(zhǔn), 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防火墻服務(wù) [root@ser ~]# systemctl disable firewalld #禁止firewall防火墻服務(wù)開機(jī)自動啟動功能 [root@ser ~]# firewall-cmd --state not running #查看防火墻運(yùn)行狀態(tài),確認(rèn)防火墻被關(guān)閉。 vi /etc/selinux/config #SELINUX=enforcing #SELINUXTYPE=targeted SELINUX=disabled :wq! #關(guān)閉selinux,保存退出 [root@ser ~]# setenforce 0 #臨時關(guān)閉selinux,重啟失效 [root@ser ~]# getenforce Disabled #查看selinux狀態(tài),確認(rèn)已關(guān)閉 二、下載軟件,并安裝相關(guān)依賴的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 #進(jìn)入目錄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復(fù)制到執(zhí)行目錄/usr/local/bin/下,并賦予root用戶權(quán)限、屬組權(quán)限 三、創(chuàng)建腳本并賦予腳本執(zhí)行權(quán)限 [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服務(wù)器 #本文中使用騰訊qq郵箱,使用其他郵箱服務(wù)器需要修改 # -xu ********@qq.com 表示發(fā)件人郵箱的用戶名,-xp ********表示郵件協(xié)議授權(quán)密鑰 [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、當(dāng)進(jìn)行郵件測試時,出現(xiàn)invalid SSL_version ******/IO/Socket/SSL.pm line 444這樣的報錯時, 原因是sendEmail軟件和perl里面的SSL版本不兼容導(dǎo)致,通過修改/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、當(dāng)進(jìn)行郵件測試,出現(xiàn)ERROR => SMTP-AUTH: Authentication to smtp.qq.com:25 failed這樣 的報錯時,原因是郵箱要求使用第三方客戶端發(fā)送郵件是必須使用授權(quán)碼登錄的,使用帳號密碼驗證時,授 權(quán)碼需要登錄郵箱設(shè)置中查找,有些郵件服務(wù)器需要先開啟POP3服務(wù)。 五、編寫shell腳本進(jìn)行服務(wù)器在線狀態(tài)監(jiān)控 [root@ser ~]# vim CheckNetwork.sh #!/bin/bash tt1=172.20.220.20 #定義服務(wù)器一 tt2=172.20.11.1 #定義服務(wù)器二 while true #while(true)是一個無窮循環(huán)語句 #我們必須在他的循環(huán)語句內(nèi)部加入一個判斷,當(dāng)他達(dá)到了什么要求就會跳出 do ping -c 5 $tt1 >/dev/null #用ping命令來探測遠(yuǎn)程機(jī)是否存活 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 #追加當(dāng)前時間和服務(wù)器IP is yes 到ip_yes.txt,此處ip_yes.txt用做正確日志文件 else echo `date +%F-%T` " $tt1 is Error" >> ip_no.txt #追加當(dāng)前時間和服務(wù)器IP is Error到ip_no.txt,此處ip_no.txt用做錯誤日志文件 /root/mail.sh ********@qq.com 服務(wù)器錯誤 `date +%F-%T`----"愛普 $tt1 is Error" /root/mail.sh ********@qq.com 服務(wù)器錯誤 `date +%F-%T`----"愛普 $tt1 is Error" /root/mail.sh ********@sunplusapp.com 服務(wù)器錯誤 `date +%F-%T`----"愛普 $tt1 is Error" /root/mail.sh ********@sunplusapp.com 服務(wù)器錯誤 `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 服務(wù)器錯誤 `date +%F-%T`----"益輝 $tt2 is Error" /root/mail.sh ********@qq.com 服務(wù)器錯誤 `date +%F-%T`----"益輝 $tt2 is Error" /root/mail.sh ********@sunplusapp.com 服務(wù)器錯誤 `date +%F-%T`----"益輝 $tt2 is Error" /root/mail.sh ********@sunplusapp.com 服務(wù)器錯誤 `date +%F-%T`----"益輝 $tt2 is Error" sleep 5 fi kill -9 `ps aux | grep CheckNetwork | grep -v grep | awk '{print $2}'` #執(zhí)行腳本后,殺死此腳本的進(jìn)程,防止重復(fù)執(zhí)行腳本。 done [root@ser ~]# crontab -l */15 8-18 * * * /usr/bin/bash /root/CheckNetwork.sh #設(shè)置定時任務(wù),8點到18點每15分鐘執(zhí)行CheckNetwork.sh。(時間請根據(jù)需求設(shè)定) 下面為報警郵件信息 服務(wù)器錯誤 發(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)控服務(wù)器的存活狀態(tài)”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對linux下如何監(jiān)控服務(wù)器的存活狀態(tài)這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。