nagios簡(jiǎn)介: Nagios是一款開(kāi)源的電腦系統(tǒng)和網(wǎng)絡(luò)監(jiān)視工具,能有效監(jiān)控Windows、Linux和Unix的主機(jī)狀態(tài),交換機(jī)路由器等網(wǎng)絡(luò)設(shè)置,打印機(jī)等。在系統(tǒng)或服務(wù)狀態(tài)異常時(shí)發(fā)出郵件或短信報(bào)警第一時(shí)間通知網(wǎng)站運(yùn)維人員,在狀態(tài)恢復(fù)后發(fā)出正常的郵件或短信通知。
以下主機(jī)所用系統(tǒng)為紅帽6.5
nagios的安裝:
在server2.example.com這臺(tái)主機(jī)中:
主機(jī)ip為172.25.254.2
關(guān)閉防火墻和selinux
nagios從官網(wǎng)下載所需要的源碼包和插件包。
這里用的源碼包是 nagios-cn-3.2.3.tar.bz2插件包是 nagios-plugins-2.1.1.tar.gz
yum install gcc gd-devel #安裝所需的編譯環(huán)境
yum install httpd #要通過(guò)apache訪(fǎng)問(wèn)
tar jxf nagios-cn-3.2.3.tar.bz2 #解壓源碼包
cd nagios-cn-3.2.3
useradd -M -d /usr/local/nagios nagios #創(chuàng)建nagios用戶(hù)
groupadd nagcmd #創(chuàng)建可以通過(guò)web提交外部命令的組
usermod -G nagcmd nagios
usermod -G nagcmd apache #將apache和nagios加入這個(gè)組
./configure --with-command-group=nagcmd #配置編譯環(huán)境指定組為nagcmd
make all #將源碼包編譯成可執(zhí)行的二進(jìn)制文件
make install #安裝
makeinstall-init #安裝啟動(dòng)腳本
make install-config #安裝簡(jiǎn)單的配置文件
make install-webconf #安裝簡(jiǎn)單的web配置文件
make install-commandmode
htpasswd/usr/local/nagios/etc/htpasswd.users nagiosadmin #設(shè)定nagios登錄的用戶(hù)密碼
/usr/local/nagios/bin/nagios-v /usr/local/nagios/etc/nagios.cfg #檢查配置正確性
/etc/init.d/nagios start #啟動(dòng)nagios
/etc/init.d/httpdstart #啟動(dòng)apache
我們可以用web登錄測(cè)試一下如圖表示成功:
站在用戶(hù)的角度思考問(wèn)題,與客戶(hù)深入溝通,找到羅田網(wǎng)站設(shè)計(jì)與羅田網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶(hù)體驗(yàn)好的作品,建站類(lèi)型包括:成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名與空間、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋羅田地區(qū)。
接下來(lái)安裝插件
tar zxf nagios-plugins-2.1.1.tar.gz #解壓插件包
cd nagios-plugins-2.1.1
./configure
--with-MySQL和--with-openssl顯示no表明沒(méi)有之后所需的mysql-devle和openssl-devel開(kāi)發(fā)包:
yum installmysql-devel openssl-devel -y
./configure #再次配置
make all
make install
cd /usr/local/nagios/libexec/ #nagiox插件所在目錄
chown nagios.nagios . -R #將這個(gè)目錄下的文件都改成nagios所有組和所有用戶(hù)
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg #檢查配置
/etc/init.d/nagios reload #重新加載nagios
如圖顯示插件成功:
接著是配置屬于自己的nagios
cd /usr/local/nagios/etc/
在nagios.cfg中
cfg_file=/usr/local/nagios/etc/objects/hosts.cfg
#指定host.cfg文件用來(lái)指定被監(jiān)控的主機(jī)地址以及相關(guān)屬性信息
cfg_file=/usr/local/nagios/etc/objects/services.cfg
#指定services.cfg文件用于定義監(jiān)控的服務(wù)和主機(jī)資源
#cfg_file=/usr/local/nagios/etc/objects/localhost.cfg
#取消示例
cd /usr/local/nagios/etc/objects/
cp localhost.cfg hosts.cfg -p
cp localhost.cfg services.cfg -p
通過(guò)示例來(lái)配置hosts.cfg和services.cfg文件
在hosts.cfg中因?yàn)榇藭r(shí)只監(jiān)控本機(jī)一臺(tái)主機(jī)所以只保留:
definehost{
use linux-server
host_name server2.example.com
alias Manager
address 172.25.254.2
icon_p_w_picpath server.gif
statusmap_p_w_picpath server.gd2
2d_coords 500,200
3d_coords 500,200,100
}
define hostgroup{
hostgroup_name linux-servers
alias Linux Servers
members *
}
在services.cfg中因?yàn)橹患O(jiān)控一臺(tái)主機(jī)所以只寫(xiě)一個(gè)服務(wù)組
define servicegroup{
servicegroup_name 系統(tǒng)負(fù)荷檢查
alias 負(fù)荷檢查
members server2.example.com,進(jìn)程總數(shù),server2.example.com用戶(hù)登錄 數(shù),server2.example.com,根分區(qū),server2.example.com,交換空間利用率
}
監(jiān)控ping的情況
defineservice{
use local-service
host_name *
service_description PING
check_command check_ping!100.0,20%!500.0,60%
}
監(jiān)控硬盤(pán)情況
defineservice{
use local-service
host_name server2.example.com
service_description 根分區(qū)
check_command check_local_disk!20%!10%!/
}
監(jiān)控登錄用戶(hù)數(shù)
defineservice{
use local-service
host_name server2.example.com
service_description 登錄用戶(hù)數(shù)
check_command check_local_users!20!50
}
監(jiān)控系統(tǒng)負(fù)荷
define service{
use local-service
host_name server2.example.com
service_description 系統(tǒng)負(fù)荷
check_command check_local_load!5.0,4.0,3.0!10.0,6.0,4.0
}
監(jiān)控進(jìn)程總數(shù)
defineservice{
use local-service
host_name server2.example.com
service_description 進(jìn)程總數(shù)
check_command check_local_procs!250!400!RSZDT
}
監(jiān)控交換空間利用率
define service{
use local-service
host_name server2.example.com
service_description 交換空間利用率
check_command check_local_swap!20!10
}
監(jiān)控ssh情況
define service{
use local-service
host_name server2.example.com
service_description SSH
check_command check_tcp!22!1.0!10.0
notifications_enabled 0
}
監(jiān)控apache
defineservice{
use local-service
host_name server2.example.com
service_description HTTP
check_command check_http
notifications_enabled 0
}
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg #檢查配置
/etc/init.d/nagios reload #重新加載nagios
如圖顯示本機(jī)的監(jiān)控成功
在server3.example.com主機(jī)中:
ip為172.25.254.3
關(guān)閉防火墻和selinux
yum install mysql-server #安裝mysql服務(wù)
/etc/init.d/mysqld start #啟動(dòng)mysql
mysql_secure_installation #設(shè)置mysql root用戶(hù)密碼
mysql -p #用root用戶(hù)進(jìn)入mysql
create database nagdb #創(chuàng)建nagdb庫(kù)
grant select on nagdb.* tonagios@172.25.254.2 identified by 'nagios'
#給遠(yuǎn)程用戶(hù)nagios查看nagdb的權(quán)力并設(shè)定密碼為nagios
在server2.example.com中
cd /usr/local/nagios/libexec
./check_mysql -H 172.25.254.3 -unagios -pnagios
出現(xiàn)如圖畫(huà)面nagix可以監(jiān)控在server3.example.com中創(chuàng)建的mysql庫(kù)
cd /usr/local/nagios/etc/objects
在 commands.cfg 中添加監(jiān)控mysql的命令
# 'check_mysql' command definition
definecommand{
command_name check_mysql
command_line $USER1$/check_mysql -H $HOSTADDRESS$ -u $ARG1$ -p $ARG2$
}
在services.cfg中添加監(jiān)控mysql
##########################check_mysql
define service{
use local-service
host_name server3.example.com
service_description MYSQL
check_command check_mysql!nagios!nagios
notifications_enabled 0
}
在hosts.cfg中添加
define host{
use linux-server
host_name server3.example.com
alias Manager
parents server2.example.com
address 172.25.254.3
icon_p_w_picpath server.gif
statusmap_p_w_picpath server.gd2
2d_coords 400,100
3d_coords 400,100,100
}
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg #檢查配置
/etc/init.d/nagios reload #重新加載nagios
如圖表示成功檢測(cè)server3主機(jī)上的mysql
nrpe安裝使nagios監(jiān)控多臺(tái)主機(jī)的情況
tar zxfnrpe-2.15.tar.gz #解壓nrpe包
tar zxf nagios-plugins-2.1.1.tar.gz #解壓插件包
yum install mysql-devel openssl-devel -y
useradd -M -d /usr/local/nagios nagios #創(chuàng)建nagios用戶(hù)
yum install gcc
cd nagios-plugins-2.1.1
./configure
make all
make install
cd /usr/local/nagios/libexec/ #nagiox插件所在目錄
chown nagios.nagios . -R #將這個(gè)目錄下的文件都改成nagios所有組和所有用戶(hù)
yum install xinetd
cd /root/nrpe-2.15 #nrpe-2.15.tar.gz解壓目錄
./configure
make all
make install
make install-plugin
make install-daemon
make install-daemon-config
make install-xinetd
vim /etc/xinetd.d/nrpe #設(shè)定監(jiān)控主機(jī)為172.25.254.2
only_from = 172.25.254.2
vim /etc/services
nrpe 5666/tcp #nrpe的5666端口
/etc/init.d/xinetd start #開(kāi)啟xinetd
cd /usr/local/nagios/etc/
vim nrpe.cfg
將command[check_hda1]=/usr/local/nagios/libexec/check_disk-w 20% -c 10% -p /dev/hda1改為
command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p/ #監(jiān)控根分區(qū)
/etc/init.d/xinetdrestart #重啟xinetd服務(wù)
cd /usr/local/nagios/libexec/
scp check_nrpe 172.25.254.2:/usr/local/nagios/libexec/ 將check_nrpe傳到server2.exampl.com主機(jī)中 在server2.example.com中
cd /usr/local/nagios/libexec/
chown nagios.nagios check_nrpe #將check_nrpe所有人和所有組改為nagios3
./chek_nrpe -H 172.25.254.3 #檢測(cè)nrpe是否可用成功顯示nrpe版本號(hào)
cd /usr/local/nagios/etc/objcts/
在 commands.cfg 中添加check_nrpe的命令
# 'check_nrpe' commanddefinition
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c$ARG1$
}
在services.cfg中添加
define service{
use local-service
host_name server3.example.com
service_description 根分區(qū)
check_command check_nrpe!check_disk
}
define service{
use local-service
host_name server3.example.com
service_description 登錄用戶(hù)數(shù)
check_command check_nrpe!check_users
}
監(jiān)控根分區(qū)和登錄人數(shù)
/usr/local/nagios/bin/nagios -v/usr/local/nagios/etc/nagios.cfg #檢查配置
/etc/init.d/nagios reload #重新加載nagios
在server3.example.com中重啟xinet.d服務(wù)
如圖可見(jiàn)監(jiān)控成功
nagios的110云報(bào)警
到onealter官網(wǎng)下載所用的軟件包這里用的是
alert-agent-4.1.3.1-linux-x64.tar.gz
在onealter網(wǎng)頁(yè)添加nagios應(yīng)用
獲取應(yīng)用key
在server2.example.com主機(jī)中:
tar zxf alert-agent-4.1.3.1-linux-x64.tar.gz
cp -R alert-agent /usr/local/nagios/libexec/ #將解壓好的包放入nagios插件目錄中
cp alert-agent/plugin/nagios-plugin/nagios /usr/local/nagios/libexec/
chmod +x /usr/local/nagios/libexec/nagios
cp alert-agent/plugin/nagios-plugin/110monitor.cfg/usr/local/nagios/etc/objects/ #將110配置文件放入nagios配置文件目錄
在110monitor.cfg文件中添加Key:
修改/usr/local/nagios/etc/objects/contacts.cfg,新增110monitor到默認(rèn)聯(lián)系組
define contactgroup{
contactgroup_name admins
alias Nagios Administrators
members nagiosadmin,110monitor
}
修改/usr/local/nagios/etc/nagios.cfg,將110monitor.cfg新增到nagios.cfg中
cfg_file=/usr/local/nagios/etc/objects/110monitor.cfg
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg #檢查配置
/etc/init.d/nagios reload #重新加載nagios
用ganglia監(jiān)控系統(tǒng)性能:
Ganglia是UCBerkeley發(fā)起的一個(gè)開(kāi)源集群監(jiān)視項(xiàng)目,設(shè)計(jì)用于測(cè)量數(shù)以千計(jì)的節(jié)點(diǎn)。Ganglia的核心包含gmond、gmetad以及一個(gè)Web前端。主要是用來(lái)監(jiān)控系統(tǒng)性能,如:cpu 、mem、硬盤(pán)利用率, I/O負(fù)載、網(wǎng)絡(luò)流量情況等,通過(guò)曲線(xiàn)很容易見(jiàn)到每個(gè)節(jié)點(diǎn)的工作狀態(tài),對(duì)合理調(diào)整、分配系統(tǒng)資源,提高系統(tǒng)整體性能起到重要作用。
ganlia的安裝:
在server2.exampl.com中
yum instll rpm-build
yum install -y libart_lgpl_devel autoconf automake libtool pcre-develexpat-devel rrdtool-devel-1.3.8-6.e16.x86_64
yum install ibconfuse-2.6-3.el6.x86_64.rpm libconfuse-devel-2.6-3.el6.x86_64.rpm
#安裝軟件包依賴(lài)性
rpmbuild -tb ganglia-3.3.7.tar.gz #將源碼包編下譯成二進(jìn)制可執(zhí)行文件
rpmbuild -tb ganglia-web-3.4.2.tar.gz
cd /root/rpmbuild/RPMS/x86_64
rpm -ivh * #安裝此目錄下生成的所有rpm包
其中g(shù)anglia-gmond-3.4.0-1.x86_64.rpm ganglia-gmond-modules-python-3.4.0-1.x86_64.rpm libganglia-3.4.0-1.x86_64.rpm三個(gè)包是客戶(hù)端所需的
cd /root/rpmbuild/RPMS/noarch
yum install php-gd php -y
rpm -ivh ganglia-web-3.4.2-1.noarch.rpm #安裝此目錄下需要解決依賴(lài)性的包
vim /etc/ganglia/gmetad.conf #進(jìn)入gmetad.conf中更改cluster名
cluster {
name = "hello cluster"
owner = "unspecified"
latlong = "unspecified"
url = "unspecified"解決
}
進(jìn)入gmond.conf中更改為相同的名字
/etc/init.d/gmetad start
/etc/init.d/gmond start #啟動(dòng)ganglia服務(wù)端和客戶(hù)端
此時(shí)可以登陸http:server2.example.com/gweb測(cè)試以下
集成nagios報(bào)告ganglia指標(biāo)
tar zxf ganglia-3.4.0.tar.gz
cp /root/ganglia-3.4.0/contrib/check_ganglia.py /usr/local/nagios/libexec/
vim vim /usr/local/nagios/libexec/check_ganglia.py
配置nagios
vim usr/local/nagios/etc/objects/commands.cfg
define command {
command_name check_ganglia
command_line $USER1$/check_ganglia.py -h$HOSTNAME$ -m $ARG1$ -w $ARG2$ -c $ARG3$
}
vim /usr/local/nagios/etc/objects/templates.cfg
define service {
use generic-service
name ganglia-service
hostgroup_name ganglia-servers
service_groups ganglia-metrics
} #配置ganglia模版
vim /usr/local/nagios/etc/objects/hosts.cfg #添加用戶(hù)和用戶(hù)組
define host {
use linux-server
host_name server4.example.com
address 172.25.254.4
}
define hostgroup {
hostgroup_name ganglia-servers
alias ganglia-servers
members server4.example.com
}
vim /usr/local/nagios/etc/objects/services.cfg #設(shè)置監(jiān)控的服務(wù)和資源
define servicegroup {
servicegroup_name ganglia-metrics
alias ganglia-metrics
}
define service{
use ganglia-service
service_description 根分區(qū)空閑百分比
check_commandcheck_ganglia!disk_free_percent_rootfs!20!10
}
define service{
use ganglia-service
service_description 每分鐘系統(tǒng)負(fù)載
check_command check_ganglia!load_one!4!5
}
define service{
use ganglia-service
service_desc 內(nèi)存空閑
check_command check_ganglia!mem_free!50000!30000
}
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg #檢測(cè)配置
/etc/init.d/nagios reload #重新加載nagios
文章標(biāo)題:nagios的配置
本文路徑:http://aaarwkj.com/article42/igidec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷(xiāo)、建站公司、外貿(mào)網(wǎng)站建設(shè)、云服務(wù)器、企業(yè)建站、品牌網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)