易陆发现互联网技术论坛

 找回密码
 开始注册
查看: 4312|回复: 0
收起左侧

linux 架设nagios+cacti+nconf完整配置,生产环境中的配置

[复制链接]
发表于 2016-11-12 12:11:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?开始注册

x
下面是配置全过程# ^# k# L) |! @) `5 x( C
0 Q) ^, B2 H$ F
, B$ |$ h; Z, S+ h: b0 R
1.先安装各个nagios+cacti的依赖包( T; ~6 r6 k# k- O# w% T! _
8 ^+ Z& X7 H9 a5 a8 q1 Z
更新源rpm -ivh http://download.fedora.redhat.co ... ease-6-5.noarch.rpm
5 G2 \9 W1 s) j  X  ^yum update* K- C; a2 b! X) l' v- h

( O% M7 ^/ w7 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& H4 Q) J/ K% |8 g2 @9 e

# Y' [' T3 K' @4 s/ c! Nyum -y install httpd gcc gcc-c++ glibc glibc-common gd* gd-devel php php-mysql mysql mysql-server mysql-devel openssl-devel    (nagios安装需要的依赖包)# h! _8 P0 G- b4 H

2 R  J% {  Y/ m5 wyum 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需要)/ p6 w( v3 _9 w0 r0 F. g

+ @8 P/ a9 U0 Q* u* S9 D( Y: K再安装其他必要包, s5 W+ `* Z. t/ P& U  U9 r
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
& X0 Y/ f  X  A* s  e9 `5 W/ N" y1 r% J" o
yum install php-mcrypt libmcrypt mhash (phpmyadmin需要)
0 j) d0 k# m) G6 ~4 K: v
+ y8 `. I' G! S- a! O" ~) }1 l/ K0 d" @! h
安装webmin
/ _. }. T' @. @  V0 V* O8 ^wget http://prdownloads.sourceforge.n ... -1.580-1.noarch.rpm- g* b6 N# D- k2 K
rpm -ivh  /home/sotf/webmin/webmin-1.580-1.noarch.rpm6 b6 E- A3 j1 t+ I9 d
iptables -I INPUT -p tcp --dport 10000 -j ACCEPT
& h8 k7 A- h/ f; r1 u2 B9 V- `5 w1 ~( s" y0 h, T
安装nagios% @' g, b; z; Q" M% x% c4 U
useradd nagios+ B+ ~0 J/ W% g1 Z/ Q- W( P
usermod -a –G nagios apache
. Z, y1 b" t$ W- z3 `6 i9 y% D/ J, y' iwget http://prdownloads.sourceforge.n ... nagios-3.3.1.tar.gz7 X5 t# n" N. |+ x/ g* j
cd nagios" g( J" z1 I+ ]
tar zxvf nagios
) L6 S7 Q1 x, z6 K" v+ C./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
: N  L) `! w/ v/ ~$ imake all3 `# I* j) `* O9 ?9 v" }- l3 N
make install
. c" H- m7 C; xmake install-init
. Z+ R0 Y( f8 z) g# v# y/ j  C7 ^; ^make install-commandmode: U% S& O8 n  L: d& |  E
make install-config
& Q/ O: a; s( u) Cmake install-webconf
! ~! W4 H# r: smake install-exfoliation$ A* e7 j0 O; I6 p
make install-classicui* C  F5 X+ C; v5 }
service httpd restart4 `/ b6 Q, K' E5 G3 z% @
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin3 q( A; ^) d7 S4 P" ~% f7 p3 u
安装nagios-plugin$ w) x0 n, f$ j1 A% s  P
wget http://prdownloads.sourceforge.n ... ugins-1.4.15.tar.gz5 y: _( X& k% I5 S( u
tar zxvf nagios-plugins
# k, l: ]* K* i+ w./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-mysql --with-gnutls --enable-extra-opts --enable-perl-modules --enable-libtap --with-openssl
& q2 m1 e4 Q) X; n* D. O/ o9 }$ u7 V& Z5 h
make
  C  M/ m3 n# Tmake install
4 o2 ^9 m, \1 c$ A  c: A7 Hchkconfig –add nagios" e2 S2 ]" X" F8 m) |
chkconfig nagios on5 \- {# }$ _4 B4 t9 W. u
vim /etc/profile7 E. o) K$ x! {  \# U; v
export PATH=$PATH:/usr/local/nagios/bin- E5 f( x4 X: W% N. \6 q
service nagios start
* j0 ]* B$ h3 `& ^4 V  r1 \
! h! |3 l" L  S3 j  \7 A7 p$ E3 r7 Q& Gsetenforce 08 d; [% w* f2 _& g# p

( k6 [, k+ q; ?& {" I9 u: N安装addon- g/ u' k! K% V, o7 W% V- L
http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz
# Y; f6 d& q. a
! O& H5 O1 ?* @; F* btar zxvf nrpe' y8 T1 E1 k" R! ~2 [5 j
./configure --enable-ssl --with-ssl-lib=/lib/
+ O, M- J( h% `( mmake6 H* N/ n1 i9 w, l  v5 d+ _& e
make install
+ d* a$ X( o- E' \
0 c" V2 P) y2 Y+ @) jchown -R nagios.nagios /usr/local/nagios/libexec/
6 t! L, P- v' C$ J% \' H: z6 e% {, V2 H1 g. ^" }
检查配置文件是否正确 :/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg service nagios start7 p2 u' C: p, z, ^/ p4 X0 v
注意:如果你开启了 selinux 需要配置如下二步:
; a) E& i! a" T+ R, E1 ?$ nchcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/: \3 Y  u, |5 `
chcon -R -t httpd_sys_content_t /usr/local/nagios/share/
5 r; C7 H  u( ^: T
" F+ }8 S8 T; x, }& Z安装CACTI
' \5 |; U4 r5 U* k/ Prrdtool9 `( _. E) K+ T+ g5 {
wget http://packages.express.org/rrdt ... -1.el5.wrl.i386.rpm8 s) |1 ~7 c4 c9 V7 ~- t' {
wget http://packages.express.org/rrdt ... -1.el5.wrl.i386.rpm& n* X3 J6 o, [, n0 W4 l6 a
wget http://packages.express.org/rrdt ... -1.el5.wrl.i386.rpm
" w3 Y7 k3 v$ y/ z  Twget http://flexbox.sourceforge.net/c ... .4.4-1.el5.i386.rpm. u$ i! \- q. j

5 I, E+ Z5 `0 |yum localinstall -y --nogpgcheck rrdtool-*
4 L$ r1 M, `4 r0 M) m' ?
' I' @2 I3 T1 s, Y; a配置snmp
+ g7 S% m# j3 o! i# Ivim /etc/snmp/snmpd.conf
/ |# H$ r$ `, _' w+ V/ w, espacer.gif5 a9 C- C& B. d
service snmpd start
& @" K$ p# X; q/ Mchkconfig snmp on
3 a5 f4 v; R, T/ N- m) L" }% [# _$ g* H9 t- Z

( ~! k' |/ {9 ]3 W$ [  K9 d下载cacti
7 {  V- y; L2 P5 J% B/ y3 D* ?5 C6 Rwget http://www.cacti.net/downloads/p ... 8.7h-PA-v3.0.tar.gz# [2 a" a% u# r: a' m) l- h* C4 c. ^
wget http://www.cacti.net/downloads/cacti-0.8.7h.tar.gz' i0 t1 F3 F. R
tar zxvf cacti-0.8.7h.tar.gz
! o; [  a6 i. o) q7 i) u+ qmv cacti-0.8.7h /var/www/html/cacti' u( ^; Z: |3 L; b* u, ]
2 x4 d6 m# A( L' w; B/ a! s" ]) s
创建cacti数据库
: V' K* z/ M  s: Y" ], Jservice mysqld start
! s) @# G4 d: s) }+ f3 ]mysql1 c8 f# L$ S. @! m$ ~9 v4 f  U/ o
create database cacti;
/ A2 C' J$ E5 _& `1 M5 }( }# ugrant all on cacti.* to 'cacti'@'localhost' identified by 'cacti';
) [6 W( y7 C0 l. F, aflush privileges;; i9 O" l, w% l' X
quit
0 {/ E& l4 U% J( b2 [- X  q9 _& a) S' b3 P5 a
cd /var/www/html/cacti/  Y* U" [! X; `" U9 I
mysql -ucacti -pcacti cacti < /var/www/html/cacti/cacti.sql( x3 O/ o$ ^2 T( D7 r+ A
vim /var/www/html/cacti/include/config.php
/ k+ x. j5 v. Y( ?3 r% ^* M1 y; Xspacer.gif' h: ^+ J3 X  m3 X7 }, M
vim /var/www/html/cacti/include/global.php
) ?! S. y2 o9 x3 V  l6 Espacer.gif8 \* f  V& e) d0 A& ]6 w: D

- M3 t; N9 ~: @3 t" Q7 W4 R0 ouseradd -r -M cacti
/ z& J5 l& n9 kchown -R cacti /var/www/html/cacti/rra/
! V  s# n# U( M0 F9 |/ [chown -R cacti /var/www/html/cacti/log/  g, w1 t+ H% w" }  s

0 i8 ~8 Y! J! y* K2 S) [su cacti
9 l( f8 J; }1 s5 w+ Pcrontab –e  [8 h  p2 n! ]! R
*/5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1
1 _/ A9 I4 n1 Z1 Q' o" Uphp /var/www/html/cacti/poller.php# q" C7 R/ X. `3 R  A' G6 f0 M
exit+ f+ R9 n; d; D& H$ q) J4 l9 ^! y$ n

( m% i" ^1 m6 g4 O9 ?$ ^进入网页配置
& Z' C0 O8 o) \) o8 l. {
2 S$ ]+ H  w% t5 K3 A' E0 x( N整合nagios与cacti- U3 {) v! \" J4 P  O- l. O
安装ndoutils0 ^/ [2 j* |- J+ C8 I
下载ndoutils5 ~  h3 y# t8 j
tar xvf ndoutils-1-5.tar
! E! D* g6 k$ Z4 j$ F* Rcd ndoutils-1-5
( M" g" Z2 E& ?' R. z./configure --enable-mysql --disable-pgsql --with-mysql-inc=/usr/include/mysql --with-mysql-lib=/usr/lib/mysql
5 s& l+ k* V9 ~0 a& A8 b* k7 N! dmake
7 z4 ~( ]: a' c2 C% e6 dcd src
1 f. S2 k  k! A0 ucp ndomod-3x.o ndo2db-3x file2sock log2ndo /usr/local/nagios/bin/3 f+ g+ u( _$ u. O/ ~" x
cd ../db
3 S8 k2 H/ b2 b8 C, p./installdb -u cacti -p cacti -h localhost -d cacti; C$ _, d: U8 l# |# ~* D
cd ../config
/ P$ k' \3 ]0 j0 U& Qcp ndo2db.cfg-sample ndo2db.cfg* A( ?) @& ^0 [- E  \6 ~% M9 I4 T
cp ndomod.cfg-sample ndomod.cfg+ @; ~/ y; b" r6 L* m
cp ndo2db.cfg ndomod.cfg /usr/local/nagios/etc/5 ^( p+ H( e) |9 i5 W, X9 P
chmod 644 /usr/local/nagios/etc/ndo*
. r9 A, I; z8 Tchown nagios.nagios /usr/local/nagios/etc/*3 P7 u4 T2 K0 Z' g
chown nagios.nagios /usr/local/nagios/bin/*" w  J3 b# m/ c! i3 F, V. p
+ q- @, Z# V8 n
修改nagios.cfg配置/ J  V  }  k/ E  E/ |+ ^6 }( M  X( K
spacer.gif: D6 F$ {6 d/ \2 u, F' ]
broker_module=/usr/local/nagios/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg
1 W1 p- e! ]* {. x0 ^$ W- R3 Y! J
0 _& D! G, l! D/ A. Z" D* t修改ndo2db.cfg9 c; M2 G8 E$ w1 O
spacer.gif) z0 y2 T5 S' z
$ T# V7 o' o. u1 o6 O
修改ndomod.cfg
( X( y9 q3 M  K. ^" t25 output_type=tcpsocket
6 {9 y4 ^2 Y' W39 output=127.0.0.1
& C3 Q% M3 E1 c% O. k  v添加ndo2db服务启动3 H9 H0 n1 d1 M: G( g
cd /home/soft/nagios/addon/ndoutils-1-5
. c# G" f: A# a" o) x9 a7 ~& ycp daemon-init /etc/init.d/ndo2db
" E- h4 }8 X  t/ M% o: [vim /etc/init.d/ndo2db1 p! z8 Y( r) s& G, N
spacer.gif" i4 M# E5 V% g9 S
chmod +x /etc/init.d/ndo2db0 s2 x  b* K. \" S( z5 W0 S- N! o
service ndo2db start) Z! m3 y: x( [7 {( X0 L
chkconfig ndo2db on6 ?* j& f2 o; h+ c; B
service nagios restart
" k4 e- s) ^6 @7 a0 B2 @5 G7 {, u8 J* I7 g
安装ncp# l0 r# g# ?) _9 V! f  |  g
安装cacti-plugin, }2 f. k6 \' u- A& G- o9 l/ v
tar zxvf cacti-plugin-0.8.7h-PA-v3.0.tar.gz8 V; T; R+ K$ I! O9 W; R. A
cp -R cacti-plugin-arch/* /var/www/html/cacti/- K& U0 Y( @0 D
mysql -ucacti -pcacti cacti<pa.sqlpatch -p1 -N < cacti-plugin-0.8.7h-PA-v3.0.diff) Q0 d5 Y! k' M+ ?, P  V
vim include/config.php7 _, R6 V1 _; V( i1 g3 n6 |* d
$url_path = "/cacti/";8 e9 d7 P1 y& F) y* B

- X$ F) v. e4 l4 j7 m2 z下载npc, i" S  a0 T' y! I5 Y
tar xvf npc
: t( X% i! O# e, q  _9 Hmv npc /var/www/html/cacti/plugins/
- v8 L: N9 @' bvim /var/www/html/cacti/include/config.php
& O. w, s8 o( z% [1 f$plugins[] = 'npc';2 t4 w" z% U) p! m" Z9 L
: e: i+ n0 k" e5 s' W
npc需要安装json8 Q, ^1 i% X8 |6 I1 ~  u
tar xzvf json-1.2.1.tgz) @! |; f; v: Z  j& [
cd json-1.2.1
3 c9 H$ y% `' e8 P1 k. [phpize2 t. w% A6 J/ [
./configure4 b0 L. X8 v& a; e" L9 Y4 z7 G, y/ i
make
9 c- @7 h8 x; t% s1 n4 gmake install3 h: j; P1 O4 O! `& D0 k/ j$ g
php -i | grep php.ini
! a$ l# v' h) K! ~9 ?. s" _& rvim /etc/php.ini+ J! x7 G( g1 O8 S$ d
spacer.gif5 Z( c$ V" B+ h# l- ]% F

+ G3 X$ n; T" I( z$ F1 P" svim /etc/httpd/conf/httpd.conf
, [/ Q* M, L/ s% ~. @spacer.gif  t: i) m# I% J; G% M
6 r5 f5 m# J+ t! q
usermod -G cacti apache
5 e/ g, [& q- s$ [2 g; \service httpd restart! D8 q7 S- b- ~
php -m3 `4 F6 J- x2 Z, ^
) k0 Q; u; v- Q% Y
* L0 Y1 J# g  x9 r
vim /var/www/html/nagios/etc/ndo2db.cfg
8 T' g/ b$ B/ a" @9 W3 _% @/ d111 db_prefix=npc_+ U, e' A! y" A# }

( I* }4 R* j( q( C+ R( gmysql -u cacti -p cacti  L! _" j" b7 S
use cacti;) m9 l  V+ k! {4 n1 T; t
alter table npc_eventhandlers add long_output TEXT NOT NULL default '' after output;: N2 h0 Y# A& j2 l# s  j
alter table npc_hostchecks add long_output TEXT NOT NULL default '' after output;
: a0 [% W  X% A' r) x1 ?$ Ealter table npc_hoststatus add long_output TEXT NOT NULL default '' after output;. V& l; o+ n: @" w# T
alter table npc_notifications add long_output TEXT NOT NULL default '' after output;- M3 D2 j  e! k2 \+ M7 m
alter table npc_servicechecks add long_output TEXT NOT NULL default '' after output;
% Y) ^  R/ d) m: s2 J9 dalter table npc_servicestatus add long_output TEXT NOT NULL default '' after output;% _- E1 ?; l2 `" P# D7 N
alter table npc_statehistory add long_output TEXT NOT NULL default '' after output;. P. h) T1 _5 I* N1 a, {2 M5 V
alter table npc_systemcommands add long_output TEXT NOT NULL default '' after output;; R. p7 Y" U; _* E" v
quit
8 P! p& N! ]/ j
. Z# ^5 U; _0 }3 M/ E5 ], V% J
1 A" Y, Z$ R0 {安装nconf  ]; L+ q$ p4 u" X) d! r* a' E
mysql
7 f+ E; L: d# k' Zcreate database nconf;8 w+ i( l: i6 m/ ]5 e" r
grant all privileges on nconf.* to nconf@localhost identified by 'nconf';
# r: g9 L1 G+ |3 y- E3 Yflush privileges;- k9 s* @: L' r7 U8 j7 s
quit/ ]: Y" o: T9 v( Z0 C1 y

& P5 J" w% f6 G9 u& Z" t
$ R( s2 O* Z; dtar xvf nconf-1.2.6-0.tgz -C /var/www/html/* Z; z9 \# G# c
cd /var/www/html/nconf/
; \. X* g2 c! V; L, o0 }) \# Z! l. xchown -R apache.apache config/ temp/ static_cfg/ output/7 _( `2 s% t% ~9 _- X! K

9 r& ^, C7 _- e0 _0 U. J7 n5 ~3 F进入web页面配置好
, K) a* q! V& |$ s; a& `0 Krm -rf INSTALL INSTALL.php UPDATE UPDATE.php
$ i4 w( ^* z, N8 d6 M9 ~ln -s /usr/local/nagios/bin/nagios bin/nagios, ]+ n2 m" ^9 ?/ ~0 r: e# X: d8 I
chown -R apache.apache bin/ {( S6 Z  l2 V* [$ i4 q+ q3 f
chmod +x /usr/local/nagios/bin/nagios
& E3 P/ N$ q2 i+ U+ ^' b- G4 A$ |chmod +x /var/www/html/nconf/ADD-ONS/deploy_local.sh0 b5 ?) {& O2 N2 P& M9 l5 C+ N) ~
vim /var/www/html/nconf/ADD-ONE/deploy_local.sh! K- K2 e' _# R( D$ f, }
1 W& T) ^! Z/ q0 e- P
spacer.gif
0 E: U& T  X% i$ b( j' [+ \0 w
: Y! U) G2 T, d" B; B& f1 @打开selinux需要添加如下$ ]& A$ D1 r$ J: @; F5 ?' w
chcon -t httpd_sys_script_exec_t /var/www/html/nconf/bin/nagios
; E6 F; Z# p8 a0 Z0 M
- i, `! o2 N4 _1 f/ z4 R3 rvim /usr/local/nagios/etc/nagios.cfg6 B+ ]; P  O& D: x7 E3 A
spacer.gif
) I! Y" l8 ^% ~7 `5 R1 K; t0 E" a
安装cacti-spin
$ v! b$ C" s) Q3 {tar xvf cacti-spine
7 O5 W' S5 h8 U. G( [5 s7 y./configure
6 V) r. H3 |" W3 z( b6 r2 U! \make. l+ J% H# a4 o. }6 k; J7 T& ]
make install
7 W5 g. L% b1 ~) Q+ j到页面设置路径
* C" U$ w8 d/ R8 F
4 |" L4 f# v$ k
& e7 f5 Z0 f: o加入运行sh
; E4 n! m# O% q& f7 r$ d/ `/ ?# X*/1 * * * *  /var/www/html/nconf/ADD-ONS/deploy_local.sh8 g+ J' Q9 K7 C7 y

  ~- L* q" y- }& h5 Q6 j, ~必定要看/usr/local/nagios/etc下的文件权限问题
% ]1 {' ]* m) z$ b6 J" |4 O  I最后要chown –R nagios.nagios etc
9 B* N; W- j8 J7 N
+ N0 W: K# |# ?8 `+ ^* G最后将crontab全部改为1分钟5 S7 E$ u+ t, m: g; m) G0 R

, T9 V% i" B" H% I- R0 ~/ u! q. a. _2 I* i: }* G+ J: j
上面是安装server端已经完成,下面配置client
! b  o1 [" @# M请search:"添加被监控server的详细配置"6 ^9 p4 T; X0 x2 U, i( z% P
添加完后某些服务需要监控才能够修改。look it this notes/ D4 g, l: `3 m$ x; K& K# j9 _) f
nagios 修改用户密码 验证配置 开启
5 D8 B/ g5 Q  W) F8 Y3 a#验证naigios配置的正确性7 y5 \1 m9 h9 [* o3 f/ w
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg/ U) ]+ C9 g3 Q
#验证通过以后 可以执行下面命令作为守护进程
" O& V: p; I: O, e( @) n/usr/local/nagios -d /usr/local/nagios/etc/nagios.cfg# [2 [7 a+ c& c& @( `. c5 d
#更改web用户名和密码0 V2 Z, v& e- D( D. h. Q" I* b% J
1.ee /usr/local/nagios/etc/htpasswd.users+ X, s( K  F& E8 ?6 y1 V2 e
2.编辑/usr/local/nagios/etc/cig.cfg   |grep 'authorized'
; |$ O( U+ Q  k( h  }文件,将开始建立的用户名test添加到里面,允许该账户通过web登陆(如果有多个登陆账号,在后面用,号隔开)。9 B* w; e2 O4 o- r% Q5 m1 D1 T, F
</pa.sql

3 f* h8 V4 n) C+ u3 v! g" c9 X
7 ~' d6 g9 E/ J2 k5 |, R
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

北京云银创陇科技有限公司以云计算运维,代码开发

QQ|返回首页|Archiver|小黑屋|易陆发现技术论坛 点击这里给我发消息

GMT+8, 2026-4-8 10:17 , Processed in 0.046205 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

快速回复 返回顶部 返回列表