|
|
下面是配置全过程
8 P. v9 d" x3 h# g2 P/ q5 `4 K0 K& e7 C. b3 d4 N
/ M( M8 ]. Q) [1.先安装各个nagios+cacti的依赖包
; q0 h }3 o- p& O% M/ U; v# p' R( w0 K/ d
更新源rpm -ivh http://download.fedora.redhat.co ... ease-6-5.noarch.rpm
3 A4 {. W+ g. _2 W2 f/ ~: ]yum update4 e7 T7 f! l- T5 @5 l y
. B( `: I! ]+ k# ]yum -y install httpd php php-gd freetype php-mysql php-snmp php-devel mysql mysql-server perl-DBD-MySQL php-pdo net-snmp net-snmp-libs net-snmp-utils net-snmp-devel ruby ruby-devel gcc glibc glibc-common gd gd-devel ntp
0 L! ~: q8 |. c; x4 J- R! J
. P& J* V) h/ a+ y Q3 I4 Xyum -y install httpd gcc gcc-c++ glibc glibc-common gd* gd-devel php php-mysql mysql mysql-server mysql-devel openssl-devel (nagios安装需要的依赖包)1 `. V; H h- @$ h. S$ n2 i9 j, e
7 L% Z! d. t' j! P7 n5 R+ x( ?yum install httpd php php-mysql php-snmp mysql perl-dbd-mysql php-pdo net-snmp-libs net-snmp-utils perl-rrdtool rrdtool-devel rrdtool * (cacti需要)
2 k! z& ]8 T) ?6 Q+ M" ^( Y/ d& b5 v# `
再安装其他必要包& E9 J I" a/ t" x& q
yum -y install php-pdo lm_sensors php-snmp net-snmp-utils net-snmp-libs perl-net-naemon perl-pirpc perl-dbi perl-dbd-mysql libcgi glib: x8 a: y) N0 z% p
+ ]7 X' K* y8 a" ~9 J3 |* iyum install php-mcrypt libmcrypt mhash (phpmyadmin需要)
7 Q9 x! m: _. [( ~$ Y+ Q
" I" D! r$ S' a9 g X* {. C e
. d( m0 I' j1 _0 n2 [0 l9 b安装webmin
% f+ O' J" J9 G7 t2 U# _ V/ c/ gwget http://prdownloads.sourceforge.n ... -1.580-1.noarch.rpm1 a6 u* P; S# C8 x' h8 Z
rpm -ivh /home/sotf/webmin/webmin-1.580-1.noarch.rpm
$ X3 ~1 i! ~3 Z; e( _iptables -I INPUT -p tcp --dport 10000 -j ACCEPT% o4 |% I A1 Q% l! @7 }3 O
+ T; ?- b6 @' |
安装nagios6 W' [0 Y [; b! L2 P6 J
useradd nagios
+ A; j/ K) ~9 K8 @usermod -a –G nagios apache
7 D% T" t# g* ^9 ~9 q# Ewget http://prdownloads.sourceforge.n ... nagios-3.3.1.tar.gz
8 d8 w8 a7 z9 \" {cd nagios0 L# M( A4 I8 a) T5 j3 w9 t& z2 U
tar zxvf nagios
# _% V' N2 R; z, w! C1 y./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-command-group=nagios --with-gd-lib=/usr/lib --with-gd-inc=/usr/include --enable-event-broker --enable-embedded-perl
n3 p( |2 K+ Q+ s @. r5 Cmake all
0 s# a( y' A7 ^8 N: ~) Tmake install( o/ F5 Q0 f0 c/ b
make install-init5 _6 s0 Z9 S6 P0 o
make install-commandmode0 z- i0 I3 O5 c# g, ?6 }5 p" x
make install-config
) c. T! O/ c% Omake install-webconf" o4 [/ \+ s. Q1 z. i3 S) N0 M
make install-exfoliation p+ X; C/ W4 H% J9 G
make install-classicui
! \, i) k: a7 m3 i0 E3 J" ^# l5 L7 hservice httpd restart8 t7 k/ w ]2 h3 D
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin8 P9 [$ F+ B0 O4 G- y
安装nagios-plugin
3 e* S# w$ g4 g/ ?wget http://prdownloads.sourceforge.n ... ugins-1.4.15.tar.gz
8 a7 B6 x. r' e4 Ptar zxvf nagios-plugins
6 M$ T$ Z( R0 U./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-mysql --with-gnutls --enable-extra-opts --enable-perl-modules --enable-libtap --with-openssl
- y; O) q& N; o& j2 b1 p! m
( M$ u0 j- z9 ?: l7 n' amake
) {6 \( R4 @& \- omake install, a6 P1 t# c4 z" g$ d& j+ h
chkconfig –add nagios
) O4 p& s; `1 Wchkconfig nagios on
9 ^* l; u# e8 Y- o' zvim /etc/profile
: P, Y. ] r6 A9 X0 Iexport PATH=$PATH:/usr/local/nagios/bin
% l# b! a4 V8 `service nagios start1 f# _, E4 m1 O$ U. O s
! z* u% a8 u! [/ _: R' K: Asetenforce 0& k' Q6 h7 s2 ^& P
# X8 V& z7 b" E- v( N2 Q# @安装addon7 J! c1 x9 r5 n/ C
http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz& f: t Y7 A& d
H& U" Y- h8 X( u8 e8 r" {$ L% D$ Dtar zxvf nrpe
~5 R8 n# Z5 n./configure --enable-ssl --with-ssl-lib=/lib/
& n1 |$ p# m2 n" ]) c* R2 fmake
: v+ d- A/ R; |: x1 u3 imake install
( Y! E6 k. x7 O0 [7 l3 v: C% S; i: H% T) h
chown -R nagios.nagios /usr/local/nagios/libexec/
8 O- y7 S$ }8 x0 T! d- x* P! j
F1 Y# j5 ^5 I 检查配置文件是否正确 :/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg service nagios start' q6 {. ^' y' ~6 g5 |
注意:如果你开启了 selinux 需要配置如下二步:; J7 |' h- R8 b9 u
chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/
+ _7 B. p W7 G" Q& ~chcon -R -t httpd_sys_content_t /usr/local/nagios/share/
+ F& _# Q9 l' W$ k% t: M) ~
# k+ ~0 P& ~4 ]5 h9 [安装CACTI' i( B+ U4 v# q$ U9 _8 N
rrdtool
9 v9 B M6 {1 a) z! r uwget http://packages.express.org/rrdt ... -1.el5.wrl.i386.rpm( w, G; _, v; ~+ E$ z. D/ V; @
wget http://packages.express.org/rrdt ... -1.el5.wrl.i386.rpm
% u$ @" [ j/ P% ` z; s0 xwget http://packages.express.org/rrdt ... -1.el5.wrl.i386.rpm
) K# d' C: L! s' ^wget http://flexbox.sourceforge.net/c ... .4.4-1.el5.i386.rpm
) Y, j: R; J$ I
# i- U( d4 a7 e. j' L3 ~/ Y9 }yum localinstall -y --nogpgcheck rrdtool-*
1 F' H: ~) Y1 Q& n! I4 I* q4 v6 z! I- |8 p! E
配置snmp
3 m6 Y4 l( X' Z! [) h# W* Cvim /etc/snmp/snmpd.conf
9 y6 m$ c, ]) v0 X% I0 i @& g( Nspacer.gif1 ^: W- S; t7 J2 g' B7 `
service snmpd start4 E ^+ |- w1 O' Y2 P+ ]5 c
chkconfig snmp on! e% q w z; [& }& k% e
6 \) A$ b8 u2 N/ x) u& [
+ D/ c4 `$ k3 N% ^下载cacti% `" R8 x' x5 d- h/ d
wget http://www.cacti.net/downloads/p ... 8.7h-PA-v3.0.tar.gz
$ [& t' Y. O5 O7 vwget http://www.cacti.net/downloads/cacti-0.8.7h.tar.gz
8 o% e- N6 n7 o, t# ?+ S% N' H/ S" Etar zxvf cacti-0.8.7h.tar.gz K2 m, ] \/ A5 Y
mv cacti-0.8.7h /var/www/html/cacti. K! V* q1 C+ p# z" S0 \ o6 A, B
" F, |$ s; Q: k
创建cacti数据库3 h3 y( G( u' J0 g' o
service mysqld start
6 m' O; |! W+ ~1 L! p- Jmysql/ a; c. c" F/ \: \1 T, l
create database cacti;
$ G/ z B: ?7 c8 [" wgrant all on cacti.* to 'cacti'@'localhost' identified by 'cacti';
) ^. E* a! c9 {" J# Sflush privileges;4 y" _ W+ S1 ? n6 x( f
quit
( V. I' O7 F# J8 Q! H& U& q" E0 ~% N+ V$ D
cd /var/www/html/cacti/
% a( u* K* C7 I8 Jmysql -ucacti -pcacti cacti < /var/www/html/cacti/cacti.sql
# l0 d1 {$ ?2 P7 Rvim /var/www/html/cacti/include/config.php
7 ?% v9 t: M Wspacer.gif: K! O; k% [- W/ ]4 K6 i' W+ i8 W; p
vim /var/www/html/cacti/include/global.php
) \" q2 V3 k1 _7 Wspacer.gif T" u) w: v" E* p
D9 u7 @" F/ s8 V4 n8 \7 |+ Uuseradd -r -M cacti0 P1 j; p, p) m3 N$ d( _1 O$ c
chown -R cacti /var/www/html/cacti/rra/
$ h2 M& b3 Q: `8 u% b' mchown -R cacti /var/www/html/cacti/log/
7 F0 O4 j8 p( K; U G' F4 p' m6 u1 Y3 h% E$ @
su cacti& s0 p2 A* K, v
crontab –e
: S+ B$ j# e5 Q- h- n*/5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1: x7 w- [1 s" R N9 G; J' I* X
php /var/www/html/cacti/poller.php2 U5 m$ T1 T3 `# N5 R7 W
exit
+ n% _2 T+ D1 I% m4 P2 |$ h3 _: d1 q$ W2 S4 V- L. s. o2 @' N4 N
进入网页配置
% C# ]9 q5 W0 |9 B- h2 X; i7 A) h1 U' r. Q; o
整合nagios与cacti
5 d* u& k* \" V/ p3 ^$ H安装ndoutils) n5 w( ^: z! i0 @+ G! \
下载ndoutils
l' G5 l e7 t0 s8 T$ s; a4 x; otar xvf ndoutils-1-5.tar5 M2 s9 m1 H+ U4 s W
cd ndoutils-1-5; @7 R: N7 w0 }4 ]: ]8 n
./configure --enable-mysql --disable-pgsql --with-mysql-inc=/usr/include/mysql --with-mysql-lib=/usr/lib/mysql
; y7 R% l" c. D0 t9 L% lmake
9 g+ i$ k/ J! W. ~cd src+ {" L2 z5 T' \4 z
cp ndomod-3x.o ndo2db-3x file2sock log2ndo /usr/local/nagios/bin/
! J( i& [' ^/ B8 S/ [# ]5 y1 r7 Zcd ../db
" s2 W x* ^/ @1 p ]; [./installdb -u cacti -p cacti -h localhost -d cacti, {# w3 m8 k5 l1 ]0 O. V e0 W6 h
cd ../config0 F" g8 f6 M6 n! E
cp ndo2db.cfg-sample ndo2db.cfg3 ~3 d+ H: F5 X4 c% A w7 P C
cp ndomod.cfg-sample ndomod.cfg* m- `9 q( L* A: M* b% ^
cp ndo2db.cfg ndomod.cfg /usr/local/nagios/etc/' j/ O: @9 S" E- T: M* u2 E
chmod 644 /usr/local/nagios/etc/ndo*
! Q- u Y( S: u- Q7 J' _chown nagios.nagios /usr/local/nagios/etc/*" P9 \& O' m1 x) Z q; K* J$ v
chown nagios.nagios /usr/local/nagios/bin/*
; x& |$ y3 V. E8 e4 T4 v, w( I# T+ h8 I" }! j+ t1 A H* E1 R
修改nagios.cfg配置6 t- q- k& q) Q8 S2 W+ i9 M
spacer.gif
$ ]8 x% y4 z% o$ bbroker_module=/usr/local/nagios/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg
; G3 W- I6 c- u" H$ @/ h+ |4 J$ x3 R2 q8 B% z9 V
修改ndo2db.cfg" @0 ~% j4 K- D5 U
spacer.gif+ R3 T! s" S) h0 r% i4 s, Q- a
& f, L$ O$ t2 G
修改ndomod.cfg# O5 ?/ M0 b2 h& T
25 output_type=tcpsocket- C0 g2 U0 Z% I/ t( \, p
39 output=127.0.0.1
' J" D$ l# O3 l: O$ y6 Q添加ndo2db服务启动) W$ x% n6 S: _& b, K7 B) u& ]0 [) m7 S8 d
cd /home/soft/nagios/addon/ndoutils-1-5
+ U5 l+ G j0 J! Z& Ncp daemon-init /etc/init.d/ndo2db
2 x# g% o0 T) i! {2 [& ]vim /etc/init.d/ndo2db
& e+ _# s$ F7 O8 Y6 d" ?! V% Nspacer.gif$ q. I) h0 i: l# i* u
chmod +x /etc/init.d/ndo2db
8 M/ V/ a5 \& eservice ndo2db start7 w# C0 Z8 ?. j3 N7 ~7 L
chkconfig ndo2db on
; c( l6 |0 p, jservice nagios restart
; ]) L- z6 g4 d1 }- B: }; L. j7 N- r0 X+ w; E8 l: o" r
安装ncp
1 A- ~; o3 h+ x" |: u) u安装cacti-plugin5 g9 ~' t0 S5 C' ^+ k
tar zxvf cacti-plugin-0.8.7h-PA-v3.0.tar.gz$ r- U1 t$ s( I+ E. o3 L
cp -R cacti-plugin-arch/* /var/www/html/cacti/ f3 t. W& y* F7 s- U
mysql -ucacti -pcacti cacti<pa.sqlpatch -p1 -N < cacti-plugin-0.8.7h-PA-v3.0.diff% N j" C) [9 g" `
vim include/config.php
' i6 _- r$ M: c" F" X3 m$url_path = "/cacti/";
. C+ d9 |% i! ?0 U' x4 K+ v1 U X5 t# |" {
下载npc( w: G6 z9 h6 \5 r9 s# N" I
tar xvf npc
a( l4 W( K2 N0 d" Imv npc /var/www/html/cacti/plugins/
0 a. p, V3 J6 H: Vvim /var/www/html/cacti/include/config.php# h8 L8 f0 M* |$ x) ~
$plugins[] = 'npc';0 p& M5 i' v0 Y6 j; Q
3 O, D/ k6 T ]& q9 @. T
npc需要安装json
7 @% @1 H# l# z' z+ d- L( \2 o, L! \4 ?tar xzvf json-1.2.1.tgz9 w$ b8 n- T0 J. r2 N- b
cd json-1.2.1
1 i& u& ^$ u) T( K5 ]) ephpize; u) G0 M. \. [- `8 `. \6 H
./configure
( [7 h/ X& V/ w7 Xmake2 z' K$ ]7 v6 R# R) l+ r# D; `/ r# |
make install6 v* k; g1 R( E6 H" T( i# B- }; K: o
php -i | grep php.ini$ D# c6 s. v5 U$ Z6 }) ?0 n6 J
vim /etc/php.ini
, l u, h2 T: @/ j; b& n% Dspacer.gif
; K. m% {6 Q: k9 l- E s0 ]( @9 X' a+ \
vim /etc/httpd/conf/httpd.conf" Z; G- E* j0 i5 c' _1 m! V4 i
spacer.gif; a7 S: _5 N" h* T" p
) S G, N, m7 B p; S
usermod -G cacti apache" `3 R( A- _4 O8 b/ B: G$ i1 F- Q1 V# v
service httpd restart
" |" _. V' z5 y; g! {8 ~0 |php -m \ j# B( J: [/ D) @
7 j0 L% |2 t# w3 f
. D; p) ~& V" T6 X! N$ W- @6 ~vim /var/www/html/nagios/etc/ndo2db.cfg$ n- a5 q" V# U" \( Z7 |! z
111 db_prefix=npc_2 ^" z T3 e1 n
4 B! u- f' o5 }9 U& `6 a
mysql -u cacti -p cacti
+ h2 O$ x8 ?4 fuse cacti;% R V! E3 @2 S8 E+ a' l7 N5 ?, L
alter table npc_eventhandlers add long_output TEXT NOT NULL default '' after output;# t- E2 B3 A# l4 @5 o& ~
alter table npc_hostchecks add long_output TEXT NOT NULL default '' after output;
7 Z) f; C% n/ e' Jalter table npc_hoststatus add long_output TEXT NOT NULL default '' after output;' `; S! L( }: {# [! o2 T
alter table npc_notifications add long_output TEXT NOT NULL default '' after output;
% W }+ v3 k& u* M$ J% ^alter table npc_servicechecks add long_output TEXT NOT NULL default '' after output;( \! l# p7 [: w& v
alter table npc_servicestatus add long_output TEXT NOT NULL default '' after output;
* Q/ _ ^5 D& P3 R/ X/ D# b3 D. w2 @* @alter table npc_statehistory add long_output TEXT NOT NULL default '' after output;
$ O3 B, I; J6 Qalter table npc_systemcommands add long_output TEXT NOT NULL default '' after output;! d/ @, p6 D5 e$ _+ T/ B6 Z/ g
quit$ c" y% `+ L) d# b3 h0 R ]2 C
1 a H' V8 B( ?% Q- `2 V1 W- H( {/ F7 R% n' X8 y% W8 v3 @' o
安装nconf" @7 _/ g C- M# X$ f( T6 G5 s
mysql
) @ |$ q6 }# @ Z( C& p6 ~$ {% }create database nconf;
; e1 Q7 Y. _2 o3 g8 W" K/ Zgrant all privileges on nconf.* to nconf@localhost identified by 'nconf';
9 v% Z1 C6 P5 j5 K$ p8 r- Oflush privileges;
: ^; v; r* `9 Uquit
, o; E( H' X6 C) H1 j. R
2 ^& z5 h' b# {& N& S( |
/ t, X0 x! ]& e H. w" ttar xvf nconf-1.2.6-0.tgz -C /var/www/html/
0 J* B: O& R" M3 wcd /var/www/html/nconf/$ D! P7 Q1 z' K1 }1 T _
chown -R apache.apache config/ temp/ static_cfg/ output/
2 l) v4 W. v; T3 {$ p* M: ~( ]' [% o! L" t4 D+ q( z/ M- C
进入web页面配置好" \5 m, g# J+ I4 u4 r4 W
rm -rf INSTALL INSTALL.php UPDATE UPDATE.php, q+ B0 N) q0 w5 o7 w5 n6 f
ln -s /usr/local/nagios/bin/nagios bin/nagios' I) g6 z/ k7 i' |
chown -R apache.apache bin5 ^2 z+ _( ^* t4 D7 G& @( x
chmod +x /usr/local/nagios/bin/nagios
$ W" f3 M, A& f# N* ?. M$ ichmod +x /var/www/html/nconf/ADD-ONS/deploy_local.sh$ o. t- c0 C- s3 ?$ y
vim /var/www/html/nconf/ADD-ONE/deploy_local.sh7 Q" N9 x) L4 Y
3 h0 X3 Q) z1 S! D9 O9 U/ s8 Fspacer.gif2 \* R) z9 Y t' d; J+ |
* k5 E7 l! B4 G4 a
打开selinux需要添加如下
" Q/ g' z4 W; Y: y' W0 G. C" Y' n1 hchcon -t httpd_sys_script_exec_t /var/www/html/nconf/bin/nagios
+ T6 c' N4 H( x! |3 m1 U3 y. F6 R) {! o. k5 ~, P
vim /usr/local/nagios/etc/nagios.cfg
( g; w! ^! L8 |4 i3 n, ^& y4 L- [* \spacer.gif% V. F; V1 a' `: ]/ l- k
! `/ v9 m: M* | F' g6 C/ O安装cacti-spin
, }) R' ?7 p6 d9 A1 E- p. q: T8 ytar xvf cacti-spine" M* s5 O5 F$ o, e. a
./configure
) M- {& d: o: E) V2 Gmake
. x3 E% _7 P1 k5 xmake install
! t8 r+ a5 R1 y9 w+ P, n到页面设置路径9 x* o2 w& I) j4 O) _
9 H9 z( \) p. J$ Q! o- |
. Y2 M3 M0 `' @1 o加入运行sh
& o8 ]7 ]& o. e" B4 W9 o& g*/1 * * * * /var/www/html/nconf/ADD-ONS/deploy_local.sh: b. b) I7 P. r0 a1 \- X+ G
7 I! @& g3 z' G& y( E0 O# |必定要看/usr/local/nagios/etc下的文件权限问题5 \7 m3 I7 Q- w
最后要chown –R nagios.nagios etc7 S f# z Y l+ s! k3 P& ]' K
4 p% u# N% v# H0 \& K' }
最后将crontab全部改为1分钟6 ~- R" r' F9 W. G) l
4 r3 m" Y+ V9 Z$ y x; s
( A/ r2 G- h5 j上面是安装server端已经完成,下面配置client
; W! I: b. [& c9 l0 D' S请search:"添加被监控server的详细配置"8 {* L. A) a' h- e1 ?+ x E
添加完后某些服务需要监控才能够修改。look it this notes2 {8 ], m" j# V8 S* v) W
nagios 修改用户密码 验证配置 开启
# r. p3 P/ n8 ^) V* l+ l. O8 t#验证naigios配置的正确性
8 S1 H! E! ]% H. I z6 j/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
5 M& f6 c% M" }7 K, W( R9 `#验证通过以后 可以执行下面命令作为守护进程# A" Z' G0 L# M R
/usr/local/nagios -d /usr/local/nagios/etc/nagios.cfg" B, d% ^( n; S9 l) t
#更改web用户名和密码7 ~( Y2 ^" h/ C9 |$ I/ k; e1 w4 r
1.ee /usr/local/nagios/etc/htpasswd.users
, p' |0 m3 u0 Y/ N) U- J+ r2.编辑/usr/local/nagios/etc/cig.cfg |grep 'authorized'
2 P7 d0 B7 p( Y$ V9 o# b文件,将开始建立的用户名test添加到里面,允许该账户通过web登陆(如果有多个登陆账号,在后面用,号隔开)。
) Q0 [- C! O: \2 s4 ?( l</pa.sql( Y9 n% L1 p+ m, D6 i% w
3 t5 l# u1 ~- W: H) t" I
|
|