十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶(hù) + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專(zhuān)業(yè)推廣+無(wú)憂(yōu)售后,網(wǎng)站問(wèn)題一站解決
目錄
創(chuàng)新互聯(lián)-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性?xún)r(jià)比新榮網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式新榮網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋新榮地區(qū)。費(fèi)用合理售后完善,10余年實(shí)體公司更值得信賴(lài)。
開(kāi)始之前
系統(tǒng)環(huán)境
監(jiān)控內(nèi)容
所需軟件包
CentOS7重要變化
配置開(kāi)發(fā)環(huán)境
同步時(shí)間
關(guān)閉Selinux
使用CRT上傳軟件包
安裝郵件服務(wù)
監(jiān)控主機(jī)安裝
常用到的命令
安裝nagios所需要的運(yùn)行環(huán)境
增加用戶(hù)
安裝nagios
配置權(quán)限
安裝插件
安裝nrpe
遠(yuǎn)程主機(jī)安裝
常用到的命令
配置運(yùn)行環(huán)境
安裝nagios-plugin
安裝nrpe
啟動(dòng)nrpe
監(jiān)控主機(jī)安裝PNP
配置開(kāi)發(fā)環(huán)境
安裝pnp4nagios (版本號(hào)為0.6)
配置pnp4nagios
圖表展示
問(wèn)題集合
在首次配置了nagios監(jiān)控端后,在瀏覽器輸入地址后連接不上
啟動(dòng)nrpe后卻不能互相通信
安裝pnp4nagios后出現(xiàn)The requested URL /pnp4nagios/graph was not found on this server.
出現(xiàn)“CHECK_NRPE: Error - Could not complete SSL handshake.”的錯(cuò)誤
執(zhí)行 ./configure時(shí)報(bào)錯(cuò):configure error cannot find ssl headers
解壓./configure 后,在nagios-4.0.8進(jìn)行make all報(bào)錯(cuò)
安裝nrpe時(shí)執(zhí)行.configure出錯(cuò)
錯(cuò)誤:perfdata directory "/usr/local/pnp4nagios/var/perfdata/" is empty
開(kāi)始之前
聲明:本文中的命令都經(jīng)過(guò)了測(cè)試,但難免有所紕漏,如果你發(fā)現(xiàn)命令粘貼后運(yùn)行有錯(cuò),可能是由于符號(hào)的格式(尤其是破折號(hào))導(dǎo)致的,此時(shí)你應(yīng)該自己手打一遍命令。對(duì)于本文中發(fā)現(xiàn)的錯(cuò)誤和建議,請(qǐng)發(fā)送郵件給我:
kylinlingh@foxmail點(diǎn)抗 ,請(qǐng)?jiān)卩]件主題里注明“關(guān)于nagios的問(wèn)題(建議)”。
--------------------------------------分割線(xiàn) --------------------------------------
在Ubuntu下配置Mrtg監(jiān)控Nginx和服務(wù)器系統(tǒng)資源
使用 snmp+Mrtg 監(jiān)控 Linux 系統(tǒng)
Mrtg服務(wù)器搭建(監(jiān)控網(wǎng)絡(luò)流量)
網(wǎng)絡(luò)監(jiān)控器Nagios全攻略
Nagios搭建與配置詳解
Nginx環(huán)境下構(gòu)建Nagios監(jiān)控平臺(tái)
在RHEL5.3上配置基本的Nagios系統(tǒng)(使用Nagios-3.1.2)
CentOS 5.5+Nginx+Nagios監(jiān)控端和被控端安裝配置指南
Ubuntu 13.10 Server 安裝 Nagios Core 網(wǎng)絡(luò)監(jiān)控運(yùn)用
--------------------------------------分割線(xiàn) --------------------------------------
系統(tǒng)環(huán)境
一共3臺(tái)機(jī)器,全都按照CentOS7最小化模式安裝系統(tǒng)
系統(tǒng)版本號(hào)
[root@localhost ~]# cat /etc/RedHat-release
CentOS Linux release 7.0.1406 (Core)
監(jiān)控主機(jī)
(一臺(tái))
IP地址:192.168.1.204
主機(jī)名稱(chēng):nagios_server_204
遠(yuǎn)程主機(jī)
(兩臺(tái))
IP地址:192.168.1.112
主機(jī)名稱(chēng):nagios_slave_112
IP地址:192.168.1.113
主機(jī)名稱(chēng):nagios_slave_113
分區(qū)情況
安裝時(shí)使用默認(rèn)分區(qū)(使用 df 命令來(lái)查看)
[root@localhost ~]# df -h
監(jiān)控內(nèi)容
要監(jiān)控的服務(wù)
監(jiān)控命令
cpu負(fù)載
(check_linux_state.pl -C)
當(dāng)前用戶(hù)登錄數(shù)量
(check_users)
磁盤(pán)使用情況
(check_disk)
總進(jìn)程數(shù)
(check_procs)
內(nèi)存使用情況
(check_linux_stats.pl -M)
負(fù)載均衡
(check_load)
磁盤(pán)IO
(check_linux_stats.pl -I)
網(wǎng)絡(luò)流量
(check_linux_stats.pl -N)
打開(kāi)的文件數(shù)量
(check_linux_stats.pl -F)
socket連接數(shù)
(check_linux_stats.pl -S)
進(jìn)程使用的內(nèi)存和CPU
(check_linux_stats.pl -T)
指定的網(wǎng)站是否可連接
(check_http)
系統(tǒng)在線(xiàn)時(shí)長(zhǎng)
(check_uptime)
所需軟件包
監(jiān)控主機(jī)
軟件包
下載地址
nagios-4.0.8.tar.gz
請(qǐng)到我的github地址里下載:
注明:我的github項(xiàng)目install_nagios_automatically是一個(gè)一鍵自動(dòng)化安裝nagios的項(xiàng)目(能運(yùn)行,但還在完善中)
nagios-plugins-2.0.3.tar.gz
nrpe-2.15.tar.gz
pnp4nagios-0.6.25.tar.gz
Sys-Statistics-Linux-0.66.tar.gz
libxml2-2.7.1.tar.gz
遠(yuǎn)程主機(jī)
軟件包
下載地址
nagios-plugins-2.0.3.tar.gz
請(qǐng)到我的github地址里下載:
nrpe-2.15.tar.gz
Sys-Statistics-Linux-0.66.tar.gz
Centos7重要變化
Centos7相比較以前的Centos有一些涉及到常用命令的變化,如果不事先了解,會(huì)在使用命令的時(shí)候造成巨大的困擾
Centos7默認(rèn)沒(méi)有ifconfig和netstat兩個(gè)命令了,ip addr命令代替了ifconfig,只要安裝上net-tools包就可以繼續(xù)使用ifconfig和netstat兩個(gè)命令了
systemctl命令的出現(xiàn)(systemctl可以看作是service和chkconfig的組合),雖然仍然可以使用以前的命令,但是會(huì)重定向到新的命令中,下面以http服務(wù)為例
job
以前的系統(tǒng)
CentOS7
服務(wù)開(kāi)機(jī)啟動(dòng)
chkconfig --level 3 httpd on
systemctl enable httpd.service
服務(wù)不開(kāi)機(jī)啟動(dòng)
chkconfig --level 3 httpd off
systemctl disable httpd
服務(wù)狀態(tài)
service httpd status
systemctl status httpd
所有服務(wù)的啟動(dòng)狀態(tài)
chkconfig --list
systemctl
啟動(dòng)服務(wù)
service httpd start
systemctl start httpd.service
停止服務(wù)
service httpd stop
systemctl stop httpd.service
重啟服務(wù)
service httpd restart
systemctl restart httpd.service
配置開(kāi)發(fā)環(huán)境
同步時(shí)間
把監(jiān)控系統(tǒng)里的所有機(jī)器都同步一次網(wǎng)絡(luò)時(shí)間(非常重要)
[root@localhost ~]timedatectl #該命令用來(lái)檢查當(dāng)前時(shí)間和時(shí)區(qū)
如果發(fā)現(xiàn)所有機(jī)器的時(shí)區(qū)不一致,此時(shí)就要使用命令
[root@localhost ~]timedatectl list-timezones #該命令列出了所有的時(shí)區(qū)
[root@localhost ~]timedatectl set-timezone Asia/Shanghai #該命令把時(shí)區(qū)設(shè)置為上海
ntpdate time.nist.gov #該命令同步網(wǎng)絡(luò)當(dāng)前的時(shí)間
如果提示沒(méi)有ntpdate命令,則安裝ntp,并且配置系統(tǒng)自動(dòng)更新時(shí)間
[root@localhost ~]# yum install ntp -y
[root@localhost ~]# /usr/sbin/ntpdate time.nist.gov
[root@localhost ~]# echo '#time sync'/var/spool/cron/root
[root@localhost ~]# echo '*/10**** /usr/sbin/ntpdate time.nist.gov /dev/null 21'/var/spool/cron/root
關(guān)閉Selinux
不關(guān)閉selinux可能會(huì)導(dǎo)致一些難以察覺(jué)的錯(cuò)誤,為了保險(xiǎn)起見(jiàn),首先關(guān)閉selinux:
[root@localhost ~]vi /etc/selinux/config
重啟機(jī)器
檢查selinux是否關(guān)閉:
[root@localhost ~]getenforce #如果顯示enforcing則沒(méi)有關(guān)閉
使用SecureCRT上傳軟件包
我在這里使用的SSH連接工具是SecureCRT7.2,通過(guò)這個(gè)工具上傳文件到Linux的步驟如下:
1. 首先在Linux中安裝傳送文件命令:
[root@localhost ~] yum install lrzsz -y
2. 然后在Linux中跳轉(zhuǎn)到/usr/local/src目錄下
[root@localhost ~] cd /usr/local/src
3. 運(yùn)行CRT的傳送文件命令
安裝郵件服務(wù)
因?yàn)猷]件報(bào)警服務(wù)需要安裝mail功能
[root@localhost ~]yum install –y mailx
[root@localhost ~]yum install –y sendmail
[root@localhost ~]systemctl restart sendmail.service
[root@localhost ~]mail –s Test xxx@xxx點(diǎn)抗 (你的郵箱地址)
#此時(shí)進(jìn)入輸入模式,輸入完郵件內(nèi)容后按ctrl + d退出并且發(fā)送
監(jiān)控主機(jī)安裝
常用到的命令
命令內(nèi)容
命令格式
檢查nagios的配置文件是否有錯(cuò)
/etc/init.d/nagios checkconfig
或者
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
啟動(dòng)nagios
systemctl start nagios.service
或者
/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
修改了nagios的配置文件后重新加載配置文件
/etc/init
安裝nagios所需要的運(yùn)行環(huán)境
[root@localhost ~]# yum install gcc glibc glibc-common -y
[root@localhost ~]# yum install php php-gd perl -y
[root@localhost ~]# yum install httpd gd gd-devel openssl openssl-devel -y
[root@localhost ~]# systemctl enable httpd.service #設(shè)置CentOS開(kāi)機(jī)啟動(dòng)服務(wù)
增加用戶(hù)
[root@localhost ~]useradd -m nagios
并將nagios以及apache用戶(hù)加入到nagcmd組中
[root@localhost ~]groupadd nagcmd
[root@localhost ~]usermod -G nagcmd nagios
[root@localhost ~]usermod -a -G nagcmd apache #把a(bǔ)pace用戶(hù)添加到與nagios的一個(gè)組(apache用戶(hù)會(huì)在安裝apache時(shí)自動(dòng)創(chuàng)建)
安裝nagios
[root@localhost src]# tar -zxvf nagios-4.0.8.tar.gz
[root@localhost src]# cd nagios-4.0.8
首先初始化和建立編譯的環(huán)境
[root@localhost nagios-4.0.8]#./configure --with-command-group=nagcmd
如果能看到下面的基本配置信息則說(shuō)明初始的環(huán)境已經(jīng)成功配置完成:
之后按照提示執(zhí)行命令來(lái)進(jìn)行編譯:
[root@localhost nagios-4.0.8]# make all
[root@localhost nagios-4.0.8]# make install
[root@localhost nagios-4.0.8]# make install-init
[root@localhost nagios-4.0.8]# make install-config
[root@localhost nagios-4.0.8]# make install-commandmode
[root@localhost nagios-4.0.8]# make install-webconf
安裝完成之后,在/usr/local/nagios目錄下如果能夠看到這些目錄:
就表示Naigos安裝成功了。
Nagios的樣例配置文件默認(rèn)安裝在/usr/local/nagios/etc目錄下,配置這些文件就可以使得nagios按要求運(yùn)行(詳細(xì)的配置過(guò)程請(qǐng)參考我的另一篇博文:nagios服務(wù)配置詳解)
此時(shí)應(yīng)該為email指定您想用來(lái)接收nagios警告信息的郵件地址,默認(rèn)是本機(jī)的nagios用戶(hù):
[root@localhost]# vi /usr/local/nagios/etc/objects/contacts.cfg
email nagios@localhost #把描紅的地方修改為你的email地址
創(chuàng)建一個(gè)登錄nagios web程序的用戶(hù)(用戶(hù)名配置為nagiosadmin則不需要配置權(quán)限,設(shè)置為其他用戶(hù)名就要配置權(quán)限),我在這里把用戶(hù)名設(shè)置為kylinlin,密碼為123456,這個(gè)用戶(hù)帳號(hào)在以后通過(guò)web登錄nagios認(rèn)證時(shí)所用:
[root@localhost ~]# htpasswd -bc /usr/local/nagios/etc/htpasswd.users kylinlin 123456 #把描紅的地方修改為你的用戶(hù)名和密碼
配置權(quán)限
如果在上面創(chuàng)建登陸n(yōu)agios web程序的用戶(hù)名不是nagiosadmin(我在上面已經(jīng)設(shè)置為kylinlin),在登陸n(yōu)agios的web界面后(此時(shí)我們還不能登錄,但如果你忽略了這一小節(jié)的配置,那么在后面的登陸中就會(huì)看到如下的界面),點(diǎn)擊Hosts或Services會(huì)顯示圖片紅色的錯(cuò)誤提示
是因?yàn)閚agios默認(rèn)把全部的權(quán)限給nagiosadmin,所以可以通過(guò)修改cgi.cfg文件賦予kylinlin權(quán)限,切換到/usr/local/nagios/etc目錄下
[root@localhost etc]# sed -i 's#nagiosadmin#kylinlin#g' cgi.cfg #這條命令將nagiosadmin用戶(hù)名替換為kylinlin
[root@localhost etc]# grep kylinlin cgi.cfg #這條命令檢查是否修改成功
以上過(guò)程配置結(jié)束以后需要重新啟動(dòng)httpd:
[root@localhost etc]# systemctl restart httpd.service
檢查其主配置文件的語(yǔ)法是否正確:
[root@localhost etc]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
或者使用下面這個(gè)命令來(lái)檢查語(yǔ)法
[root@localhost etc]# /etc/init.d/nagios checkconfig
顯示錯(cuò)誤數(shù)為0才正確
配置成功
安裝插件
剛才已經(jīng)提到Nagios主程序只是一個(gè)控制中心,而能夠起到服務(wù)監(jiān)測(cè)和系統(tǒng)監(jiān)測(cè)等功能的是眾多Nagios的插件,沒(méi)有插件的Nagios系統(tǒng)其實(shí)只是一個(gè)空殼。因此在安裝了Nagios平臺(tái)之后我們還需要安裝插件。
Nagios插件同樣是在其官方網(wǎng)站下載,目前版本是1.4.15。我將下載的源碼包放到/usr/local目錄下,按照下面的步驟進(jìn)行解壓,編譯和安裝:
[root@localhost src]# tar zxf nagios-plugins-2.0.3.tar.gz
[root@localhost src]# cd nagios-plugins-2.0.3
[root@localhost nagios-plugins-2.0.3]# ./configure --with-nagios-user=nagios --with-nagios-group=nagios
[root@localhost nagios-plugins-2.0.3]#make
[root@localhost nagios-plugins-2.0.3]#make install
通過(guò)下面的命令查看安裝了多少個(gè)插件
[root@localhost nagios-plugins-2.0.3]#ls /usr/local/nagios/libexec/|wc -l
然后把Nagios加入到服務(wù)列表中以使之在系統(tǒng)啟動(dòng)時(shí)自動(dòng)啟動(dòng):
[root@localhost nagios-plugins-2.0.3]# chkconfig --add nagios
[root@localhost nagios-plugins-2.0.3]# chkconfig nagios on
執(zhí)行下面的命令來(lái)驗(yàn)證Nagios的樣例配置文件:
[root@localhost ~]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
以u(píng)buntu系統(tǒng)為例:
1,首先去運(yùn)行perl-v命令查看您的linux系統(tǒng)上面是否安裝了perl工具,如果已安裝的話(huà),會(huì)輸出版本號(hào),如果沒(méi)有安裝,則安裝perl。
sudo apt-get install perl
2,使用cd命令切換到安裝的目錄下
cd xxxx/ xxxx
3,執(zhí)行pl文件
sudo ./xxxxx.pl
擴(kuò)展資料
Perl,一種功能豐富的計(jì)算機(jī)程序語(yǔ)言,運(yùn)行在超過(guò)100種計(jì)算機(jī)平臺(tái)上,適用廣泛,從大型機(jī)到便攜設(shè)備,從快速原型創(chuàng)建到大規(guī)??蓴U(kuò)展開(kāi)發(fā)。
Perl借取了C、sed、awk、shell腳本語(yǔ)言以及很多其他程序語(yǔ)言的特性,其中最重要的特性是它內(nèi)部集成了正則表達(dá)式的功能,以及巨大的第三方代碼庫(kù)CPAN。簡(jiǎn)而言之,Perl像C一樣強(qiáng)大,像awk、sed等腳本描述語(yǔ)言一樣方便,被Perl語(yǔ)言愛(ài)好者稱(chēng)之為“一種擁有各種語(yǔ)言功能的夢(mèng)幻腳本語(yǔ)言”、“Unix中的王牌工具”。
Perl一般被稱(chēng)為“實(shí)用報(bào)表提取語(yǔ)言”(PracticalExtractionandReportLanguage),你也可能看到“perl”,所有的字母都是小寫(xiě)的。一般,“Perl”,有大寫(xiě)的P,是指語(yǔ)言本身,而“perl”,小寫(xiě)的p,是指程序運(yùn)行的解釋器。
參考資料來(lái)源:百度百科-Perl
具體步驟如下:
1、首先我們?cè)诿钚羞\(yùn)行程序需要借助jdk的環(huán)境依賴(lài),打開(kāi)jdk包。
2、接下來(lái)我們需要打開(kāi)運(yùn)行窗口,然后在運(yùn)行窗口中輸入cmd命令,如下圖所示
3、在CMD命令行界面中我們輸入cd命令進(jìn)入到程序文件所在的目錄,如下圖所示
4、接下來(lái)執(zhí)行命令對(duì)程序文件進(jìn)行編譯,如下圖所示
5、編譯完畢以后我們會(huì)在文件夾下面看到一個(gè)class文件,這個(gè)就是虛擬機(jī)編譯完產(chǎn)生的文件,如下圖所示
6、完成上述步驟后,即可在linux命令行中執(zhí)行應(yīng)用程序。
是這樣的
首先要保證你安裝的是正確的,接著保證你的這個(gè)可執(zhí)行文件有當(dāng)前登錄賬號(hào)的執(zhí)行權(quán)限,可以用ls -al查看一下
如果,你可以使用如下方式執(zhí)行:
1、./tlesp (如果后面又參數(shù),你可以根據(jù)需要添加參數(shù))
2、/home/path/tlsap (如果后面又參數(shù),你可以根據(jù)需要添加參數(shù))