|
|
下面是配置全过程
! h* M& \: M0 S' L# v& U5 l
1 z" m* A9 s3 Q
4 K0 `7 l h2 o0 s5 f4 W$ o1.先安装各个nagios+cacti的依赖包
- q$ ~- ?. G5 G( _& _5 C* |- R7 Y) z+ S/ B5 I6 a i& k
更新源rpm -ivh http://download.fedora.redhat.co ... ease-6-5.noarch.rpm8 I8 A. m, c0 x6 h6 }; K
yum update% f9 V$ {, m! T6 [# k/ c* {: }
1 L* }% F" T' i% |' C9 G1 q0 d
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
1 W7 Z' ]: w0 c9 P" F4 [
: S' d( A3 h7 |yum -y install httpd gcc gcc-c++ glibc glibc-common gd* gd-devel php php-mysql mysql mysql-server mysql-devel openssl-devel (nagios安装需要的依赖包)/ L7 a C L0 u6 z! G
2 v2 q* M3 F5 P6 p# _1 y
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需要)8 G! B5 P. w2 M) E! R/ T
8 j8 E U2 d. {* N7 W9 M% L$ c再安装其他必要包! Z5 M# k I- e
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
: b" g) ?9 l5 `7 w8 d2 _ E+ j+ u) D; \6 K
yum install php-mcrypt libmcrypt mhash (phpmyadmin需要)% L. I; C: W# u
' Y9 z( l: D. _8 a: ^
, _: v3 y) d8 t# ` d$ z安装webmin. `% Y4 D1 g1 K6 n4 P D7 ]9 @' X
wget http://prdownloads.sourceforge.n ... -1.580-1.noarch.rpm
+ R7 F4 n& H: Y; b" ]2 q, x5 w9 vrpm -ivh /home/sotf/webmin/webmin-1.580-1.noarch.rpm- [8 [ U. D. ~/ U) H' G- f% N
iptables -I INPUT -p tcp --dport 10000 -j ACCEPT* q( F! B% C# S2 d# M, Y
@3 X3 G5 ^: T
安装nagios' g, U3 k, K" h% P1 S9 Q' l7 }
useradd nagios- f- u7 a: ?: O% \2 T0 \8 Z
usermod -a –G nagios apache A/ c4 a3 H# o
wget http://prdownloads.sourceforge.n ... nagios-3.3.1.tar.gz
, ^- L; N- V( r o* ~cd nagios
" Q0 x+ R3 Z/ t! [5 G1 btar zxvf nagios6 q8 c9 x, m6 \, F
./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+ M# p+ i1 q+ q4 S0 ~: v
make all: p' F9 j1 j7 Y+ y3 l. Y5 K6 @$ _
make install2 Z* _+ }4 u$ i3 n3 e; B4 D
make install-init( z) P! }7 B3 v. W
make install-commandmode
& Q, _# p* p a) a3 fmake install-config
. R+ l1 d9 k& p6 @0 t$ fmake install-webconf
- \ @* B" ~' H: Kmake install-exfoliation
# _2 |3 ]" A3 e! v% |% \" _make install-classicui9 I! V5 q2 I: y! M/ y
service httpd restart5 C5 A" k2 b$ Z
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin$ O3 V' x+ Y' u9 j4 S/ l0 c# v
安装nagios-plugin
: M+ p6 }1 R6 [! q, q) {; d! F+ fwget http://prdownloads.sourceforge.n ... ugins-1.4.15.tar.gz
! s o/ I% e5 }: w! \tar zxvf nagios-plugins
6 C* i" } G# Q4 ?) Z" s/ P./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-mysql --with-gnutls --enable-extra-opts --enable-perl-modules --enable-libtap --with-openssl
- |8 ]+ b7 g2 x/ c
- E: c5 o* d6 T: E. v6 `' [make& p; y) Q7 E( C/ t
make install7 o5 {/ _( O: s: i+ U' h
chkconfig –add nagios. O" {3 A& {6 j' O
chkconfig nagios on
# F! t$ y8 u. [' p; t7 svim /etc/profile" p* w. O8 X. I; }7 t" m) F, q9 u
export PATH=$PATH:/usr/local/nagios/bin
; p- {( Y1 C. p. x8 @service nagios start
2 e3 t# ]( Y- Z( ^; ~% a+ M. t, ^) U- w2 y
setenforce 0* W6 V- @+ [7 U! t6 ] U1 o
% G$ `/ b4 X/ J; d& Q2 k
安装addon5 V5 Z: w+ y/ f1 ?+ a; V
http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz- \( `+ D2 m; b9 x. ^ t! t; ]0 b
" m5 R/ E6 s j1 @0 r; W6 B8 itar zxvf nrpe
/ r, C y$ i& i1 m! K. C./configure --enable-ssl --with-ssl-lib=/lib/
6 f# {& }* {4 v) c5 t- ymake
4 i& s( C* s/ Imake install b5 A& n8 I+ l4 ?8 I
% T1 e9 X) ?0 s$ p8 k( Schown -R nagios.nagios /usr/local/nagios/libexec/
g! w6 G2 C0 t4 H# b9 ~3 \2 N( l" E' f" L# { ^: M! _
检查配置文件是否正确 :/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg service nagios start
5 s0 S, E2 r( [9 c& g2 ?注意:如果你开启了 selinux 需要配置如下二步:2 H. x" i. o+ v* A2 S
chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/
F$ Q: J0 K$ }. p3 Q# i6 s% ]chcon -R -t httpd_sys_content_t /usr/local/nagios/share/ ' C3 @7 S- o4 {2 ~# h1 ?
* Y7 @- ?6 ]; b: ^4 D H4 m) ?安装CACTI
5 g- J+ _# |, ?2 v* }" ~rrdtool5 U2 E; h4 [! w: \" l3 p
wget http://packages.express.org/rrdt ... -1.el5.wrl.i386.rpm
( R% i" K; r. L4 [8 w' Mwget http://packages.express.org/rrdt ... -1.el5.wrl.i386.rpm
6 y/ M$ A. |* w5 _wget http://packages.express.org/rrdt ... -1.el5.wrl.i386.rpm3 V# K# W! R% P G5 u
wget http://flexbox.sourceforge.net/c ... .4.4-1.el5.i386.rpm
* a& `! T* j7 z( O& Y8 S! \; P V9 l8 J% a% Z, A
yum localinstall -y --nogpgcheck rrdtool-*( V' o: w: m7 ~& r3 ?
) p" ?% p7 e& \/ N# ^配置snmp8 h1 D; x3 _7 M
vim /etc/snmp/snmpd.conf9 f$ {: G/ Y6 g: s) ?' X
spacer.gif
. N* L' O4 i' z' ^service snmpd start$ U# w1 |% `0 Q/ x( x& L
chkconfig snmp on
& p# b# l( V4 r( ]
( I5 z. j: ~6 w% S- m2 h3 s$ U8 C* N
# {# \) m9 N! W* p* |2 o" \下载cacti) T8 e, R8 K7 Q( M$ q
wget http://www.cacti.net/downloads/p ... 8.7h-PA-v3.0.tar.gz
9 ^2 ~- r: e1 y5 \wget http://www.cacti.net/downloads/cacti-0.8.7h.tar.gz
9 E4 T- m- q: ~7 Ptar zxvf cacti-0.8.7h.tar.gz
' N$ _$ Q- d2 m% o* y- S* h8 dmv cacti-0.8.7h /var/www/html/cacti, b8 D. `% e: u @: H
4 Y9 p, [0 Z3 _创建cacti数据库2 W7 Q: ]$ O: p; g! Y
service mysqld start3 P! G C0 h/ l; p, l
mysql
* p; n2 x3 l B) ^5 j& V! ^9 I6 i" fcreate database cacti;
0 c- \, B7 R. d5 n. r' Ugrant all on cacti.* to 'cacti'@'localhost' identified by 'cacti';! q6 m \% v. E0 V* G8 E& q
flush privileges;/ c6 m' J9 q' ~# I' \
quit
, w# n% n, O) t( Y6 f& C7 ~% ~0 i; r8 s0 U5 p( T) z" w
cd /var/www/html/cacti/
5 J ]% _8 X) w* L9 ^) | v+ gmysql -ucacti -pcacti cacti < /var/www/html/cacti/cacti.sql4 {3 `% a4 F$ [7 Z0 c
vim /var/www/html/cacti/include/config.php
: ~- t9 s. k( V J# j- _spacer.gif4 g2 C' P; t! L% t# N( ?* B
vim /var/www/html/cacti/include/global.php; p) D4 z1 O$ y( X$ e0 ?
spacer.gif
) E; n1 e2 Y# k0 I, |* M3 u2 E" S: M! g' N) r. r
useradd -r -M cacti! W! B" G& t# J; Q' A
chown -R cacti /var/www/html/cacti/rra/2 K( F& H$ {9 F; q% r' X
chown -R cacti /var/www/html/cacti/log/
6 \ K# E$ x- O p2 ]0 S* W, J8 W5 K4 [# X: S
su cacti
; { w7 U2 B6 [% ^9 D8 Z& Y- pcrontab –e6 a; T# D) O* X) {- n9 q! z5 t# T
*/5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1/ O9 E& a4 n; t3 l1 j0 P# r5 `: `
php /var/www/html/cacti/poller.php
; c' |, `5 n+ E' i# c2 texit
, V J! c9 V$ `1 X. s; U* d" R E4 A# j4 t; Z
进入网页配置- ? O& |+ d9 S0 d8 y/ X' k
" K! t/ G: V7 q- W
整合nagios与cacti) M7 s" L: T# q H2 X/ g
安装ndoutils7 }( g3 e+ ]: l* D& g' A& d
下载ndoutils' a$ y( V, q$ e# m+ X3 @
tar xvf ndoutils-1-5.tar
. Q) n/ L( n' f% M1 Ncd ndoutils-1-5
- L8 E3 t, g% ?) ?./configure --enable-mysql --disable-pgsql --with-mysql-inc=/usr/include/mysql --with-mysql-lib=/usr/lib/mysql8 P9 j' n/ r3 K e3 F8 x" J" D3 m
make
! `6 O0 u, `2 G) R3 u- m8 Bcd src. F! [# Y, }6 z# ]/ B
cp ndomod-3x.o ndo2db-3x file2sock log2ndo /usr/local/nagios/bin/
}) d: y7 C% T5 qcd ../db
* D, ]. I6 h0 Q9 e% S! i./installdb -u cacti -p cacti -h localhost -d cacti
& C7 w% f1 \, y3 Hcd ../config
$ L3 k4 A( @) o5 J: B7 A: Ycp ndo2db.cfg-sample ndo2db.cfg8 ?$ d- G1 r6 M' r/ }6 e7 d$ P5 }
cp ndomod.cfg-sample ndomod.cfg
5 v4 w5 I" D0 |9 i8 V0 j1 Lcp ndo2db.cfg ndomod.cfg /usr/local/nagios/etc/& T: ^( o; j |
chmod 644 /usr/local/nagios/etc/ndo*
$ Y- Y) P6 z( D W. W6 M$ v, q: O# lchown nagios.nagios /usr/local/nagios/etc/*
0 s: C) x7 p/ g. f- Z; T/ u' \chown nagios.nagios /usr/local/nagios/bin/*$ L. v, `( \' {2 u% |+ U6 D
) j1 r! O7 b) l6 U1 j% h" ]& d
修改nagios.cfg配置
2 |) w% L6 v5 N# cspacer.gif
3 z9 |0 b( @( W) c& J* \+ I1 G3 Nbroker_module=/usr/local/nagios/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg
" K' `) ~8 B1 h% J) g; D1 I; B% T) t7 T8 L% M$ N1 J7 I2 V' t! G1 Y! Q
修改ndo2db.cfg
0 t' I& E1 f4 o$ Kspacer.gif
& V' s9 T( L1 b, D
3 s% _/ B3 @& Q1 E0 _修改ndomod.cfg
8 W2 {# C( l8 C, M. W" ~; c25 output_type=tcpsocket
8 d4 o/ v0 c( n/ @* t/ k39 output=127.0.0.1: H4 L0 |5 s0 F9 R; g+ m
添加ndo2db服务启动
7 D, a/ s7 x$ f9 e7 f9 d% \' tcd /home/soft/nagios/addon/ndoutils-1-58 D& W- x4 p6 c& G
cp daemon-init /etc/init.d/ndo2db& p% z( `( b( o
vim /etc/init.d/ndo2db4 w. \' k# \" l/ Y* q% `
spacer.gif. f1 S: j+ _' p9 p
chmod +x /etc/init.d/ndo2db
3 W" N% G. u% [7 g$ M! d5 wservice ndo2db start5 w& S! M- R( G# @. ~. R
chkconfig ndo2db on1 j0 T* c! j3 ?- x8 K
service nagios restart
2 s' M# `5 S. W. B. z" R. N& t3 Y7 Y7 f
安装ncp
2 G; e. P! W v7 w! F3 T3 n安装cacti-plugin
" ?& Z# g' I. N9 t/ t6 ]5 Ztar zxvf cacti-plugin-0.8.7h-PA-v3.0.tar.gz
! v9 L& i- w/ H1 [1 C( @! Ncp -R cacti-plugin-arch/* /var/www/html/cacti/
9 G. P s0 p: I+ i2 kmysql -ucacti -pcacti cacti<pa.sqlpatch -p1 -N < cacti-plugin-0.8.7h-PA-v3.0.diff, G/ w8 d- N$ ?5 Q1 z) i+ A. P* ~
vim include/config.php
: U2 L }! Z- f0 p l* U t$url_path = "/cacti/";
5 a- n4 M" q& ?% F( W) O( E% n" E9 _2 z& \
下载npc
: ~+ E6 X. Z- f2 U8 n" wtar xvf npc1 q7 D& z" b6 I8 k% d
mv npc /var/www/html/cacti/plugins/
- ` o+ U& z. H0 Wvim /var/www/html/cacti/include/config.php& a- z. r; y g2 n4 h% r) ?
$plugins[] = 'npc';
0 q) B" p% [+ d5 s# N, o: W: l! l( C7 E/ A! W* y" l
npc需要安装json
2 Q- o3 @/ p% o- G' F( Jtar xzvf json-1.2.1.tgz! G: U$ H( f" ^- ?0 i# C! ?
cd json-1.2.12 i: p/ o- H0 z- X {4 D0 i" z8 J
phpize1 `, ]$ s% e: E
./configure
: D9 C6 k) n5 n* k4 Gmake
5 G2 F# v9 A8 P9 _% {! V7 L! jmake install6 z7 h# F" P: J: ?! k. S
php -i | grep php.ini8 D* a6 ]4 K% g7 Z4 N
vim /etc/php.ini5 J$ C: R! u/ k% E$ s: ~
spacer.gif$ {: X/ p) e' w |
; m! Z8 T9 T/ n; |/ D5 u7 `
vim /etc/httpd/conf/httpd.conf4 i7 q" |, l# o3 p" ?* G4 x
spacer.gif: \- ~, I( Y: T( P
. t5 y7 R7 g" y! M0 Ousermod -G cacti apache
! V o; M* T8 A) hservice httpd restart
- e3 ~1 t( F! Cphp -m
/ U' t. N8 k4 p/ w8 |% p: r3 S" }, R7 B
$ M% C& y+ W! H3 e$ w7 ?vim /var/www/html/nagios/etc/ndo2db.cfg9 B; s+ p. T, E( B# U+ r
111 db_prefix=npc_
7 Z$ w1 v1 z! k$ A
, m, R, b7 e& O5 W Wmysql -u cacti -p cacti8 v+ ]3 R3 E p
use cacti;
! D8 ?2 \. _, valter table npc_eventhandlers add long_output TEXT NOT NULL default '' after output;
: ?+ `6 G9 ?3 ^2 p! _alter table npc_hostchecks add long_output TEXT NOT NULL default '' after output;( J( D z K4 A, e7 l
alter table npc_hoststatus add long_output TEXT NOT NULL default '' after output;
! Y+ w& H5 {5 T3 Nalter table npc_notifications add long_output TEXT NOT NULL default '' after output;( u0 z/ J; h9 ^- B
alter table npc_servicechecks add long_output TEXT NOT NULL default '' after output;0 W( q- a& ]" _; W! ?/ Z
alter table npc_servicestatus add long_output TEXT NOT NULL default '' after output;( t- {8 G7 S. ^1 K5 M8 o
alter table npc_statehistory add long_output TEXT NOT NULL default '' after output;
0 }8 c; d& e J; n& ~5 \7 Ialter table npc_systemcommands add long_output TEXT NOT NULL default '' after output;
) i4 p9 c) [! ]7 E# D6 {& ~8 R4 w" lquit6 ^ f" G; R7 E' e' t6 g9 W( r) ]
0 a3 {4 D9 x/ s! R& U. N3 n/ L8 ~0 ~" [" |
安装nconf2 y" m$ Y7 T" {
mysql
" c9 _% x) @1 p3 U0 v: Dcreate database nconf;
/ [# W/ n% F8 l$ ]( I0 Ygrant all privileges on nconf.* to nconf@localhost identified by 'nconf';- L$ e6 r" R3 I0 h+ T( _
flush privileges;
. s$ v/ p; y/ s) ^. a C2 Wquit4 ~8 E6 o2 A8 g3 ~5 n
F8 {4 N9 ~ a, w L6 s4 `0 N
4 f0 ~7 G! P- o6 @) p0 vtar xvf nconf-1.2.6-0.tgz -C /var/www/html/
q* \( r& M* g# b! N# ~cd /var/www/html/nconf/
- S8 U V( G/ `# ?# G$ cchown -R apache.apache config/ temp/ static_cfg/ output/
# ^% ]* R; t' P0 A5 T5 u; `; H7 v- X% Q+ g
进入web页面配置好
5 n; m1 m/ g4 b: ^5 w: trm -rf INSTALL INSTALL.php UPDATE UPDATE.php! Z5 `. m. s0 W$ v) l% m
ln -s /usr/local/nagios/bin/nagios bin/nagios7 S$ t, l& l) s' D& _/ ]' I2 C. H9 E* t
chown -R apache.apache bin9 A* L& u7 u) `3 }7 J
chmod +x /usr/local/nagios/bin/nagios
7 t' m, V& o/ F1 R) z6 Nchmod +x /var/www/html/nconf/ADD-ONS/deploy_local.sh
3 @9 x }0 y& M4 N. S& ]( b* Gvim /var/www/html/nconf/ADD-ONE/deploy_local.sh+ M5 _' q2 P0 ^# |3 }* H
0 K0 i4 D9 X, G" k* A) I. Q3 Yspacer.gif* Y+ h+ ]0 P3 |/ l
" c; a- I/ d% a& r3 j, Z1 P
打开selinux需要添加如下: }8 z+ u j3 H7 }0 E
chcon -t httpd_sys_script_exec_t /var/www/html/nconf/bin/nagios
P! W/ C4 ?/ l$ k. |$ I) d" s- G7 x9 a) ]- b, N8 ~
vim /usr/local/nagios/etc/nagios.cfg
- Z+ ^" ]' Q: s: }4 Nspacer.gif
8 g! h3 ~9 ]" `9 H: Z5 g( E5 V7 z6 W |: p5 `# S
安装cacti-spin
$ n. q& S) h4 ^0 ?; g# R" htar xvf cacti-spine$ w" Z$ a) H5 s6 R( U
./configure
: X( [: P' X) ^% T A8 \" c, N% `make
( H5 ?# O$ f# _& |7 smake install
' a' w& Z- m# u" A到页面设置路径& w9 e" [/ A2 Q5 y+ D
7 C: _7 I; b! Y( @7 r9 v
) B* f: o p* u7 x* J加入运行sh) Y& }/ n- a& \1 C2 h; U) o
*/1 * * * * /var/www/html/nconf/ADD-ONS/deploy_local.sh$ i4 |1 A, G- }& C6 w
4 K4 f5 u& Z/ a) E9 Q3 A# ^. L2 U
必定要看/usr/local/nagios/etc下的文件权限问题8 K7 G1 V5 B8 o2 ]+ C
最后要chown –R nagios.nagios etc& E* K1 H9 v& {: ]6 C2 c
# N5 {9 ~, ^# p% `+ E( J/ ~
最后将crontab全部改为1分钟% l: N& U' T2 u# J
$ [7 x, @" _5 _& m+ y& G% `2 i. ^9 R0 L$ W% p0 c" _
上面是安装server端已经完成,下面配置client% m5 z( V# k$ H* o
请search:"添加被监控server的详细配置". u) i" Z% m( |
添加完后某些服务需要监控才能够修改。look it this notes
( @8 T+ Q% K! O" Q* d2 R8 y# [9 xnagios 修改用户密码 验证配置 开启
9 ^5 F k' n" @9 Z$ g#验证naigios配置的正确性
, D, e1 i# e+ Y+ Z1 _( |0 ]$ `% r/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
( W; S. l; E V/ @& N4 W#验证通过以后 可以执行下面命令作为守护进程( @( U+ L0 g+ q2 Y G' s7 G
/usr/local/nagios -d /usr/local/nagios/etc/nagios.cfg7 o9 S2 |+ Z: M9 h/ b& W
#更改web用户名和密码 H5 v4 _# X: z0 I
1.ee /usr/local/nagios/etc/htpasswd.users
3 u# V# h/ c/ }7 d }6 N2.编辑/usr/local/nagios/etc/cig.cfg |grep 'authorized'" @/ Y" U4 F/ [5 g# o" Z
文件,将开始建立的用户名test添加到里面,允许该账户通过web登陆(如果有多个登陆账号,在后面用,号隔开)。
# q6 R5 ~4 I! R8 m</pa.sql
V0 a2 U0 e0 r! C" Q4 M
6 s5 f9 U0 U1 _0 s$ Y) P$ Z( k |
|