|
|
下面是配置全过程
& P+ G3 J' S5 Z( E2 x: C) B& c7 i+ ]" @" C d
) B+ ]* [: v0 A+ _7 l1.先安装各个nagios+cacti的依赖包
3 {+ Q5 z' W6 ^4 _4 j8 w
5 N6 w8 o/ T& K更新源rpm -ivh http://download.fedora.redhat.co ... ease-6-5.noarch.rpm
, p/ |. O2 B+ s! i# wyum update
/ k. T: a: d" r' d- n4 E, s0 I7 N
3 g7 ]: ~+ a T" s" @/ l5 z/ D. [3 myum -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' m2 c5 r) E8 ?* y- E
7 `4 V1 e# q4 M: U# R' Syum -y install httpd gcc gcc-c++ glibc glibc-common gd* gd-devel php php-mysql mysql mysql-server mysql-devel openssl-devel (nagios安装需要的依赖包)
: Y9 [5 R' X. T) R' g, \+ o+ G
* L2 R4 d7 |3 yyum 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需要)
, L8 S8 E7 ~' S. X2 y
9 ~+ O! _" L# x4 Z! Q再安装其他必要包
6 [( z) l D# d" ?7 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
/ j: X6 p( P7 W5 D4 I# j
8 j. ^, D$ ^7 P: Myum install php-mcrypt libmcrypt mhash (phpmyadmin需要)) n2 b" E( S7 E' h m8 Y; W0 ~
# L# j% N: d4 f
+ C$ ]3 [4 n9 O安装webmin
* `: ]' b7 X! d1 [0 N" {wget http://prdownloads.sourceforge.n ... -1.580-1.noarch.rpm
( ?" r" K) r" |4 e7 A. grpm -ivh /home/sotf/webmin/webmin-1.580-1.noarch.rpm. U5 C, x0 l# V$ C
iptables -I INPUT -p tcp --dport 10000 -j ACCEPT' z9 O( A* T* y
9 X3 ?+ s4 B" J2 l" b6 P7 R5 S
安装nagios h7 n, D( w6 x; h0 p' d: T# Z
useradd nagios) |+ z$ d0 ]" p' M) u7 d. k
usermod -a –G nagios apache9 M3 U" E$ | @8 @
wget http://prdownloads.sourceforge.n ... nagios-3.3.1.tar.gz+ X2 o4 u' U! J
cd nagios
' J6 l& [5 a7 qtar zxvf nagios4 L& {9 O. Q" |; n
./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
* x+ t3 I6 k# [1 W- G5 ^, ~make all1 z8 G8 C- T, v. @+ A
make install5 V$ c) L5 l8 u5 |5 {9 E
make install-init
# G) N8 F9 T) L; ~: g3 @make install-commandmode6 a, f1 N9 Y0 `8 i% w4 R
make install-config8 R# f: P- e8 g9 E. q+ z
make install-webconf! o+ @7 }4 J% p4 }9 [; X
make install-exfoliation8 m- n! ]* \8 Y. K4 |
make install-classicui; F) X. `4 ]5 {& J( }9 F( ]6 S
service httpd restart
- x7 W. P0 R7 ]6 t$ }htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
: a- q) H' t' d$ P0 s! D- g安装nagios-plugin _: f/ V1 n4 E/ a0 E/ W: d
wget http://prdownloads.sourceforge.n ... ugins-1.4.15.tar.gz
+ f7 X8 ^1 E$ y0 t7 Etar zxvf nagios-plugins3 m! Y/ A$ a2 ]- g2 R
./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-mysql --with-gnutls --enable-extra-opts --enable-perl-modules --enable-libtap --with-openssl
" O( ?& H! p3 l" W: z) l4 @7 k5 p( B
make: G, l7 I* b4 u$ E6 c
make install% i. @; z1 v' f+ Y# }: O
chkconfig –add nagios# L$ F& T% Z/ ]+ ?: O5 q
chkconfig nagios on
" x* d4 w0 P5 ^% H8 I# Kvim /etc/profile3 F# u* _" ~4 t$ s# b! o
export PATH=$PATH:/usr/local/nagios/bin
+ B1 R5 s9 _( v; e% h7 xservice nagios start: u/ a$ [, Z0 Z8 d* ~! C b
+ B1 T# e& d* w3 X8 M, b
setenforce 06 t" Q$ i+ U+ U9 h( Z0 X+ Y
( }( m6 L7 l& ~5 k( ]安装addon& B9 [# w0 v5 z3 R1 C5 n9 U! I8 M
http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz
) O, u' \# |7 I4 s1 P1 H: R- p9 |4 e2 R4 t+ B. W- {' j
tar zxvf nrpe. q/ \9 `, l; `8 o
./configure --enable-ssl --with-ssl-lib=/lib/
7 Z$ q# F- @1 Fmake
/ |6 K& D; u8 Pmake install2 N' k& R$ y; p" p j$ x
% N6 g5 Z; Y! Y- P+ g/ kchown -R nagios.nagios /usr/local/nagios/libexec/
9 N4 Q) m9 y$ s7 x" C! `( Q9 h2 R; m3 c J _
检查配置文件是否正确 :/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg service nagios start/ o- S* r, F6 R8 t) g: J3 Z
注意:如果你开启了 selinux 需要配置如下二步:
6 Q/ E% l; z+ D* Rchcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/. j7 f& K% i; {; X/ R( @# q" t
chcon -R -t httpd_sys_content_t /usr/local/nagios/share/
; w- P; D3 x7 h& e1 j# Z1 Z* u$ z! c9 ]. B
安装CACTI* | J" A1 k! b8 w
rrdtool
, L1 H4 r9 L# p9 Jwget http://packages.express.org/rrdt ... -1.el5.wrl.i386.rpm
' h, g$ j5 L8 L, [5 p2 |% |wget http://packages.express.org/rrdt ... -1.el5.wrl.i386.rpm
! U1 [8 S" T( Xwget http://packages.express.org/rrdt ... -1.el5.wrl.i386.rpm
4 b% D( q, j+ S- Q* k6 Vwget http://flexbox.sourceforge.net/c ... .4.4-1.el5.i386.rpm
0 o/ W; l, m9 _6 c+ U6 y. X
: b6 k! `/ x! Syum localinstall -y --nogpgcheck rrdtool-*$ e1 J( L; p: h1 K
7 w8 f0 F, I; w! O" j5 D8 D( |配置snmp
& L* e0 ]7 e# U9 Ivim /etc/snmp/snmpd.conf+ g% q3 [+ u8 v0 a
spacer.gif0 }' m. x! S0 v2 p% O
service snmpd start6 Y: V9 k) Z0 x. S/ j6 E6 }
chkconfig snmp on
- k( N8 I4 Y9 E+ X4 g& w1 [6 ~1 a! p& N
; L8 t# ]$ ^ Z( v' v- H
下载cacti
8 q5 b! m3 C" F- J8 mwget http://www.cacti.net/downloads/p ... 8.7h-PA-v3.0.tar.gz* v) p- }4 k' a2 R- T$ p3 q
wget http://www.cacti.net/downloads/cacti-0.8.7h.tar.gz5 U4 N* z7 s9 A: J7 h) {9 e B
tar zxvf cacti-0.8.7h.tar.gz2 m( G& H. ^" y. r! V& w/ e
mv cacti-0.8.7h /var/www/html/cacti n }* g$ J( D/ O# j" {' p
$ {. F( J* z3 i% l$ Q$ v# ], S
创建cacti数据库/ S' m* l, P9 F8 Z2 h
service mysqld start$ q4 z, l0 Q( `' k
mysql
" a) c4 k# H* `3 ocreate database cacti;
# L& t: I& x+ m5 ngrant all on cacti.* to 'cacti'@'localhost' identified by 'cacti';/ w, B" d- U2 Z: }: Y& ~. P3 w4 S
flush privileges;. y8 e7 j' z8 [ Q; P8 ~
quit5 @5 f: a% E/ D
% O$ E& r: Y& c- G' O: W1 o; Z; }
cd /var/www/html/cacti/* R' T. g; e+ v) p. J- a
mysql -ucacti -pcacti cacti < /var/www/html/cacti/cacti.sql
. s7 ]* T6 u6 g& dvim /var/www/html/cacti/include/config.php5 ]2 F; a/ X: M$ I4 y# Z
spacer.gif H3 u* p+ |4 O1 ?
vim /var/www/html/cacti/include/global.php( E; j8 _8 ]. D z D" q" [
spacer.gif0 U: F) D3 u& R' K, o, r
# s4 ~# k2 C2 W7 j5 T
useradd -r -M cacti8 {' `/ F" }8 x+ `
chown -R cacti /var/www/html/cacti/rra/
5 n# ?. X1 r8 lchown -R cacti /var/www/html/cacti/log/5 { G, }% P) Y( q2 F/ I, U; N4 { _
& o' N& f+ \ V& B4 b
su cacti9 a/ b4 f4 x/ Q+ k
crontab –e* D9 n; E$ P; J
*/5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1
* s7 z6 U$ v9 [" S& W# {php /var/www/html/cacti/poller.php0 `$ R5 e3 p8 V) q
exit9 g$ a& {3 x, M& b
! V* B y5 k- l! F/ w! T
进入网页配置
# S! e. V0 z1 B; E+ h% |0 U S9 [$ B \; t
整合nagios与cacti
2 e+ L( A3 x1 B: _/ |* k7 Z安装ndoutils
& g6 M. E) M+ i7 }+ s$ H下载ndoutils( i. D7 G$ ~! h s* @
tar xvf ndoutils-1-5.tar
3 u4 T( P6 y$ a6 f4 n6 C& n" D4 Bcd ndoutils-1-5
i1 D5 p- r* j( Z% F./configure --enable-mysql --disable-pgsql --with-mysql-inc=/usr/include/mysql --with-mysql-lib=/usr/lib/mysql, Y2 I% V2 o: x
make: G) L; B: ?4 k% j: M; [/ { ?
cd src
% z8 m# w5 E J* ~cp ndomod-3x.o ndo2db-3x file2sock log2ndo /usr/local/nagios/bin/' g8 ]6 x$ }# H/ F
cd ../db5 a/ [; ?+ N1 @! |" O
./installdb -u cacti -p cacti -h localhost -d cacti
% ?4 s5 M! h. J0 ~5 f l( \cd ../config
5 p& d9 ]# `3 p2 x# Rcp ndo2db.cfg-sample ndo2db.cfg
7 H# l5 T0 H4 Z, ycp ndomod.cfg-sample ndomod.cfg
% R* t( N( r4 g1 s8 E# y. G2 f4 t6 [cp ndo2db.cfg ndomod.cfg /usr/local/nagios/etc/3 J- }% C7 D8 T9 {9 Y
chmod 644 /usr/local/nagios/etc/ndo*
# o. v% n% C4 t" ^chown nagios.nagios /usr/local/nagios/etc/*
4 L4 F" }3 G6 a5 O$ a$ q) T" X6 Ychown nagios.nagios /usr/local/nagios/bin/*0 Q5 g: Z5 R8 M. ^6 _, \
$ n! m' M* w7 C修改nagios.cfg配置1 R6 ~5 L. J; L$ Q; p( x
spacer.gif& p6 v1 H2 M2 P5 |# `
broker_module=/usr/local/nagios/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg8 `4 w5 ]' H7 V+ R* v. N
) z u! _1 a3 K) F+ Q% |! r修改ndo2db.cfg8 n( b4 c( H0 B6 z6 c
spacer.gif
. P) d8 c& Y' I% x; @8 L9 C& D, O: L# o0 F4 x8 ^6 @( o
修改ndomod.cfg
$ X0 p6 i" A/ h! w) H7 ]3 J25 output_type=tcpsocket
+ t( q; r7 {1 S. ~7 W39 output=127.0.0.1) G7 V6 R7 a4 p _
添加ndo2db服务启动0 r: _2 B- j- e
cd /home/soft/nagios/addon/ndoutils-1-57 m8 i3 K- t E0 x/ M V+ q2 c
cp daemon-init /etc/init.d/ndo2db! G) d9 X$ S2 j2 Z6 r+ D; W
vim /etc/init.d/ndo2db2 x' a: ?1 E& w! G* b3 n9 ~/ ^
spacer.gif/ H/ Z2 x0 B, ]5 M
chmod +x /etc/init.d/ndo2db( c- W) T$ w' ~
service ndo2db start0 d2 W. d6 ^) @: E
chkconfig ndo2db on& n& Q3 g% ~& J' J0 I- x0 c
service nagios restart
2 I1 L2 ?" o# G8 Y+ b& z+ D4 A/ n% [, _
安装ncp
: C) g& a+ c$ b3 ^: J' O安装cacti-plugin
4 Q' d4 @$ @4 m; G' W% Rtar zxvf cacti-plugin-0.8.7h-PA-v3.0.tar.gz
" ]" i p" K+ C9 L7 v8 ~, M9 {+ Pcp -R cacti-plugin-arch/* /var/www/html/cacti/
Q" q* c0 x4 R$ D; w+ Tmysql -ucacti -pcacti cacti<pa.sqlpatch -p1 -N < cacti-plugin-0.8.7h-PA-v3.0.diff1 n: E+ S' h. f; v( M
vim include/config.php, v+ y" d b5 V6 @4 U4 c
$url_path = "/cacti/";
8 ~, Y$ W+ |/ E9 p2 C( Z1 h8 ]
2 W J0 v8 C2 ?8 J* [2 {! U d下载npc
3 a* l. S9 c+ V) c( ]' u4 ]% i* w! ^tar xvf npc
9 E' ^ D0 |& ]2 imv npc /var/www/html/cacti/plugins/) ]- c$ r% {+ ~ e9 [$ a
vim /var/www/html/cacti/include/config.php8 q% B4 J" C5 r6 @& H% t k3 o
$plugins[] = 'npc';+ H( D+ B; |% I2 J
* \! u, B5 v/ x% O3 L
npc需要安装json
5 |2 d6 n0 D- Ytar xzvf json-1.2.1.tgz
) x5 y& R; V2 k2 E7 fcd json-1.2.16 k8 r X# I/ |7 p1 y. P- T
phpize
& X7 L7 ~1 p7 |" G0 e) i+ A& ?( \./configure' A c* E0 V0 ?! d) R+ e e; p
make- Z+ t9 }( r1 k; Y2 g6 }
make install
7 {4 j+ k" v4 U/ R8 @* _# O0 Xphp -i | grep php.ini' d+ o' t$ r* }3 o |
vim /etc/php.ini
2 \, R5 D! R- i" E) X/ X3 sspacer.gif
. I4 x/ k, F g+ Q8 \0 B" `4 X: }4 r, Y: ]/ [# U' M0 }
vim /etc/httpd/conf/httpd.conf9 q$ \4 ?4 g9 G" B+ ^
spacer.gif) B+ F' W; o& e$ N
# D/ E4 Y T* F9 r) w% zusermod -G cacti apache
! D& H5 Y+ v1 A* u( xservice httpd restart
9 Z/ @5 R7 S2 J, Y, }php -m5 s& O6 b% c, |: j" j" M5 S0 C, ~
1 K% R4 O, Q1 c6 u' q
$ H1 v8 f+ J* F& C
vim /var/www/html/nagios/etc/ndo2db.cfg8 L$ Q: |7 Y+ Q6 _) E2 z
111 db_prefix=npc_& B: s+ ]5 \, p% J! A' F: [
7 i5 ^- ?2 d9 Hmysql -u cacti -p cacti3 k$ M+ _1 b1 \: x1 D2 ~6 \: C
use cacti;
# J" f. r8 e: [5 l8 \ c, L, W- r! Falter table npc_eventhandlers add long_output TEXT NOT NULL default '' after output;: |$ c( k: d" m, d: j( G {/ i
alter table npc_hostchecks add long_output TEXT NOT NULL default '' after output;
2 n8 R1 a+ A$ S' p/ F. c- b$ h# Falter table npc_hoststatus add long_output TEXT NOT NULL default '' after output;2 c1 G6 [; U2 V: ]. ]
alter table npc_notifications add long_output TEXT NOT NULL default '' after output;
}3 _5 w: S4 c! C# c4 n Malter table npc_servicechecks add long_output TEXT NOT NULL default '' after output;
2 G" |# C2 N% t5 {/ w2 Valter table npc_servicestatus add long_output TEXT NOT NULL default '' after output;% y! a6 C) K# T8 I7 O6 ]# a
alter table npc_statehistory add long_output TEXT NOT NULL default '' after output;. U9 Q( ^' B. L
alter table npc_systemcommands add long_output TEXT NOT NULL default '' after output;
, T# U' d9 Q/ u fquit
2 c* y! e5 a; h
$ u5 @% _) d) J$ W4 l; @& E% s! I. u1 n0 A, y, a4 }5 ]' K
安装nconf: x7 @6 f4 p1 \6 X- ~+ @0 a
mysql
& `9 L( K" h2 u2 t1 ^9 Y4 ecreate database nconf;
9 N, z4 V$ _% u- c% wgrant all privileges on nconf.* to nconf@localhost identified by 'nconf';
: {( R y7 O/ x+ l% R, U# Qflush privileges;
% `; V5 d) m, O6 e: d4 s1 }quit
: j6 A+ y2 C$ I! a0 _& P
: o7 R# |' R. D; @% o8 D
, f5 v* O( ?5 p: D) W" atar xvf nconf-1.2.6-0.tgz -C /var/www/html/
7 v2 q- t" H% ]cd /var/www/html/nconf/0 P; f8 l2 N0 s( X
chown -R apache.apache config/ temp/ static_cfg/ output/
4 U+ u( {% l y6 W4 D
9 y. p) D+ L, o, K+ N% n: ~进入web页面配置好/ p6 M+ |& C8 o8 B
rm -rf INSTALL INSTALL.php UPDATE UPDATE.php( o- |" C6 l% E8 I
ln -s /usr/local/nagios/bin/nagios bin/nagios) X; r3 N0 I3 S8 f
chown -R apache.apache bin
" R) E1 x) v9 {. a) \9 j( Q' C4 Hchmod +x /usr/local/nagios/bin/nagios6 x, z( Q& J, f- z/ G$ ^* ]
chmod +x /var/www/html/nconf/ADD-ONS/deploy_local.sh
$ I$ x7 o) L; l. cvim /var/www/html/nconf/ADD-ONE/deploy_local.sh/ W" x0 i0 s4 f6 o. K7 V/ H& H
+ t) d5 g5 n1 t& Z; D9 ~
spacer.gif' R2 e; S$ Y, M# L5 N
: T+ U$ n7 u+ L# Q2 M5 H8 b
打开selinux需要添加如下( o$ n9 V6 ], h9 N" u
chcon -t httpd_sys_script_exec_t /var/www/html/nconf/bin/nagios
+ T9 [- p, r ]4 g
! t! j R! ^1 Cvim /usr/local/nagios/etc/nagios.cfg
. j$ @; c H* Q' n: i2 Aspacer.gif1 B% T0 J9 W7 z, Z; a# H9 G
" R( G+ d2 z& p7 x4 Q* R安装cacti-spin
! j: e: ]# ?. D! t& ?/ ttar xvf cacti-spine
0 i, @( ^ O0 B3 U6 {3 h! x./configure
) s7 j5 M4 J. K g( _) B' v5 Emake
7 p& v) _% T+ @) _" W3 g6 I+ ]5 hmake install
8 G; _% ?7 L9 e# Y到页面设置路径' R6 {( p' i& L3 W4 y
$ {! h/ v" ^0 L A$ l1 n
* J8 k6 b6 p8 G! F5 @加入运行sh7 e/ t; Q* W% I2 [ W; J8 P
*/1 * * * * /var/www/html/nconf/ADD-ONS/deploy_local.sh& c) T S+ k- p: b5 A
+ `* W4 L |0 L# z, v3 M8 N2 O' ], ]* [必定要看/usr/local/nagios/etc下的文件权限问题
( @7 I- p& E( ~! d) x7 w' W# j最后要chown –R nagios.nagios etc8 q9 }, F( Z+ J
* h; C! f. O7 S6 a8 z$ }最后将crontab全部改为1分钟
% ]0 }, K7 n% U9 A; [/ ]+ x7 E3 U: T8 o$ g/ e* M
/ f$ A6 t# \( I3 n
上面是安装server端已经完成,下面配置client+ F! L I! ?, D; u, W- S6 l
请search:"添加被监控server的详细配置"
3 r* V6 y& ]% u) y( \* S添加完后某些服务需要监控才能够修改。look it this notes
7 t. ^4 A: e5 p3 k3 ~! y6 Cnagios 修改用户密码 验证配置 开启 ! ^: i- A( z6 {" v+ b
#验证naigios配置的正确性9 f5 E: t: l- e5 ~" t+ q
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
# x0 e: p! B$ l0 N& I V/ e( r' c#验证通过以后 可以执行下面命令作为守护进程
+ v& k: G- ~! b$ J0 r1 b/usr/local/nagios -d /usr/local/nagios/etc/nagios.cfg, ~/ P2 `; k0 d8 w: I
#更改web用户名和密码7 m) I9 N3 \6 f+ O: N7 w) u
1.ee /usr/local/nagios/etc/htpasswd.users" `" {% ^ {$ a; l3 x
2.编辑/usr/local/nagios/etc/cig.cfg |grep 'authorized'
1 @' H8 ]' d: v; u/ a V& w文件,将开始建立的用户名test添加到里面,允许该账户通过web登陆(如果有多个登陆账号,在后面用,号隔开)。
* ?3 k+ Y% C( b, B/ o `! `</pa.sql, ~2 L: B) a; Y$ w& F7 E% Z$ n u
2 U9 |: d9 F3 x! g% ] |
|