nagios簡介: Nagios是一款開源的電腦系統(tǒng)和網絡監(jiān)視工具,能有效監(jiān)控Windows、Linux和Unix的主機狀態(tài),交換機路由器等網絡設置,打印機等。在系統(tǒng)或服務狀態(tài)異常時發(fā)出郵件或短信報警第一時間通知網站運維人員,在狀態(tài)恢復后發(fā)出正常的郵件或短信通知。
以下主機所用系統(tǒng)為紅帽6.5
nagios的安裝:
在server2.example.com這臺主機中:
主機ip為172.25.254.2
關閉防火墻和selinux
nagios從官網下載所需要的源碼包和插件包。
這里用的源碼包是 nagios-cn-3.2.3.tar.bz2插件包是 nagios-plugins-2.1.1.tar.gz
yum install gcc gd-devel #安裝所需的編譯環(huán)境
yum install httpd #要通過apache訪問
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用戶
groupadd nagcmd #創(chuàng)建可以通過web提交外部命令的組
usermod -G nagcmd nagios
usermod -G nagcmd apache #將apache和nagios加入這個組
./configure --with-command-group=nagcmd #配置編譯環(huán)境指定組為nagcmd
make all #將源碼包編譯成可執(zhí)行的二進制文件
make install #安裝
makeinstall-init #安裝啟動腳本
make install-config #安裝簡單的配置文件
make install-webconf #安裝簡單的web配置文件
make install-commandmode
htpasswd/usr/local/nagios/etc/htpasswd.users nagiosadmin #設定nagios登錄的用戶密碼
/usr/local/nagios/bin/nagios-v /usr/local/nagios/etc/nagios.cfg #檢查配置正確性
/etc/init.d/nagios start #啟動nagios
/etc/init.d/httpdstart #啟動apache
我們可以用web登錄測試一下如圖表示成功:
站在用戶的角度思考問題,與客戶深入溝通,找到羅田網站設計與羅田網站推廣的解決方案,憑借多年的經驗,讓設計與互聯(lián)網技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網站建設、網站設計、企業(yè)官網、英文網站、手機端網站、網站推廣、域名與空間、雅安服務器托管、企業(yè)郵箱。業(yè)務覆蓋羅田地區(qū)。
接下來安裝插件
tar zxf nagios-plugins-2.1.1.tar.gz #解壓插件包
cd nagios-plugins-2.1.1
./configure
--with-MySQL和--with-openssl顯示no表明沒有之后所需的mysql-devle和openssl-devel開發(fā)包:
yum installmysql-devel openssl-devel -y
./configure #再次配置
make all
make install
cd /usr/local/nagios/libexec/ #nagiox插件所在目錄
chown nagios.nagios . -R #將這個目錄下的文件都改成nagios所有組和所有用戶
/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文件用來指定被監(jiān)控的主機地址以及相關屬性信息
cfg_file=/usr/local/nagios/etc/objects/services.cfg
#指定services.cfg文件用于定義監(jiān)控的服務和主機資源
#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
通過示例來配置hosts.cfg和services.cfg文件
在hosts.cfg中因為此時只監(jiān)控本機一臺主機所以只保留:
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中因為只件監(jiān)控一臺主機所以只寫一個服務組
define servicegroup{
servicegroup_name 系統(tǒng)負荷檢查
alias 負荷檢查
members server2.example.com,進程總數(shù),server2.example.com用戶登錄 數(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)控硬盤情況
defineservice{
use local-service
host_name server2.example.com
service_description 根分區(qū)
check_command check_local_disk!20%!10%!/
}
監(jiān)控登錄用戶數(shù)
defineservice{
use local-service
host_name server2.example.com
service_description 登錄用戶數(shù)
check_command check_local_users!20!50
}
監(jiān)控系統(tǒng)負荷
define service{
use local-service
host_name server2.example.com
service_description 系統(tǒng)負荷
check_command check_local_load!5.0,4.0,3.0!10.0,6.0,4.0
}
監(jiān)控進程總數(shù)
defineservice{
use local-service
host_name server2.example.com
service_description 進程總數(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
如圖顯示本機的監(jiān)控成功
在server3.example.com主機中:
ip為172.25.254.3
關閉防火墻和selinux
yum install mysql-server #安裝mysql服務
/etc/init.d/mysqld start #啟動mysql
mysql_secure_installation #設置mysql root用戶密碼
mysql -p #用root用戶進入mysql
create database nagdb #創(chuàng)建nagdb庫
grant select on nagdb.* tonagios@172.25.254.2 identified by 'nagios'
#給遠程用戶nagios查看nagdb的權力并設定密碼為nagios
在server2.example.com中
cd /usr/local/nagios/libexec
./check_mysql -H 172.25.254.3 -unagios -pnagios
出現(xiàn)如圖畫面nagix可以監(jiān)控在server3.example.com中創(chuàng)建的mysql庫
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
如圖表示成功檢測server3主機上的mysql
nrpe安裝使nagios監(jiān)控多臺主機的情況
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用戶
yum install gcc
cd nagios-plugins-2.1.1
./configure
make all
make install
cd /usr/local/nagios/libexec/ #nagiox插件所在目錄
chown nagios.nagios . -R #將這個目錄下的文件都改成nagios所有組和所有用戶
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 #設定監(jiān)控主機為172.25.254.2
only_from = 172.25.254.2
vim /etc/services
nrpe 5666/tcp #nrpe的5666端口
/etc/init.d/xinetd start #開啟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服務
cd /usr/local/nagios/libexec/
scp check_nrpe 172.25.254.2:/usr/local/nagios/libexec/ 將check_nrpe傳到server2.exampl.com主機中 在server2.example.com中
cd /usr/local/nagios/libexec/
chown nagios.nagios check_nrpe #將check_nrpe所有人和所有組改為nagios3
./chek_nrpe -H 172.25.254.3 #檢測nrpe是否可用成功顯示nrpe版本號
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 登錄用戶數(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服務
如圖可見監(jiān)控成功
nagios的110云報警
到onealter官網下載所用的軟件包這里用的是
alert-agent-4.1.3.1-linux-x64.tar.gz
在onealter網頁添加nagios應用
獲取應用key
在server2.example.com主機中:
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到默認聯(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ā)起的一個開源集群監(jiān)視項目,設計用于測量數(shù)以千計的節(jié)點。Ganglia的核心包含gmond、gmetad以及一個Web前端。主要是用來監(jiān)控系統(tǒng)性能,如:cpu 、mem、硬盤利用率, I/O負載、網絡流量情況等,通過曲線很容易見到每個節(jié)點的工作狀態(tài),對合理調整、分配系統(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
#安裝軟件包依賴性
rpmbuild -tb ganglia-3.3.7.tar.gz #將源碼包編下譯成二進制可執(zhí)行文件
rpmbuild -tb ganglia-web-3.4.2.tar.gz
cd /root/rpmbuild/RPMS/x86_64
rpm -ivh * #安裝此目錄下生成的所有rpm包
其中ganglia-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三個包是客戶端所需的
cd /root/rpmbuild/RPMS/noarch
yum install php-gd php -y
rpm -ivh ganglia-web-3.4.2-1.noarch.rpm #安裝此目錄下需要解決依賴性的包
vim /etc/ganglia/gmetad.conf #進入gmetad.conf中更改cluster名
cluster {
name = "hello cluster"
owner = "unspecified"
latlong = "unspecified"
url = "unspecified"解決
}
進入gmond.conf中更改為相同的名字
/etc/init.d/gmetad start
/etc/init.d/gmond start #啟動ganglia服務端和客戶端
此時可以登陸http:server2.example.com/gweb測試以下
集成nagios報告ganglia指標
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 #添加用戶和用戶組
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 #設置監(jiān)控的服務和資源
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)負載
check_command check_ganglia!load_one!4!5
}
define service{
use ganglia-service
service_desc 內存空閑
check_command check_ganglia!mem_free!50000!30000
}
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg #檢測配置
/etc/init.d/nagios reload #重新加載nagios
文章標題:nagios的配置
本文路徑:http://www.rwnh.cn/article42/igidec.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站營銷、建站公司、外貿網站建設、云服務器、企業(yè)建站、品牌網站設計
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)