溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

linux下如何監(jiān)控服務(wù)器的存活狀態(tài)

發(fā)布時間:2021-09-09 18:53:06 來源:億速云 閱讀:199 作者:chen 欄目:系統(tǒng)運(yùn)維

這篇文章主要講解了“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)注!

向AI問一下細(xì)節(jié)

免責(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)容。

AI