易陆发现互联网技术论坛

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

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

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

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

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

x
下面是配置全过程
: X6 y  q  Z" o' E2 t0 ~8 @/ k8 d. [% P( F
. I5 I# c' ], C; u& p
1.先安装各个nagios+cacti的依赖包
9 l3 Q! z* W9 X8 A; ~5 f1 ]4 ^# J: f2 K$ s& x& O
更新源rpm -ivh http://download.fedora.redhat.co ... ease-6-5.noarch.rpm0 }9 u1 @0 g& X- F0 j0 [  Z
yum update! b% [0 d2 ^; H* C$ K" y  {
) B+ R# e2 j9 q$ z. I& Z( t7 N
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( g# y6 q2 b) o( ?3 |
3 G  q& E! ?7 c# a. b7 |  T
yum -y install httpd gcc gcc-c++ glibc glibc-common gd* gd-devel php php-mysql mysql mysql-server mysql-devel openssl-devel    (nagios安装需要的依赖包)$ U' t) H# [6 U) S

; s9 @6 O5 X1 E+ I- s$ w0 n: z+ pyum 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需要)% p& x) {' V6 _" O% }0 s; i
) j; w+ |1 s( q& ^3 F( U
再安装其他必要包$ A' \0 s0 O% f! r( i5 H
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
. P! S9 ^" v5 e6 I# @
3 Y$ z  l) H% f7 cyum install php-mcrypt libmcrypt mhash (phpmyadmin需要)+ f. z) t! {9 T2 S+ V
3 |- Q) S. K( ?/ J. R
( N$ T. X- x: _% K
安装webmin
0 j; `/ z+ }- R. [3 ^0 r! g) rwget http://prdownloads.sourceforge.n ... -1.580-1.noarch.rpm
9 ?9 u' \" v' g. _4 crpm -ivh  /home/sotf/webmin/webmin-1.580-1.noarch.rpm1 o# t& q: U& m' M- c- P% C+ h: a1 g
iptables -I INPUT -p tcp --dport 10000 -j ACCEPT# v" b9 d8 E% T0 w9 n" M3 v
$ ~0 |7 t0 J5 B
安装nagios" a, T9 H# z" Z) G. e4 F& T" T6 o
useradd nagios( y$ l$ @& Q, s2 o. }$ N) T& @  X% }( z
usermod -a –G nagios apache
( E7 K4 n  ]; L. P, U  k0 mwget http://prdownloads.sourceforge.n ... nagios-3.3.1.tar.gz/ B% z9 E7 J0 x; g
cd nagios5 B0 Y( }8 U: J& f
tar zxvf nagios$ @% i2 |! B: T
./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-perl2 {# m, o% A  c& z9 I2 Z
make all8 @: G8 R% o) Z. y5 A/ y8 n
make install
. ?+ Q. Q, i. jmake install-init8 Z. H  g& i: E2 B& n! p4 Z
make install-commandmode
( Z1 c( W. l2 f; Dmake install-config$ {& l9 a6 |2 d& T# t" C
make install-webconf  W# x: ~- \* E/ @/ H( g& C3 m7 P# A
make install-exfoliation
  M; S! k/ |* p& O1 Tmake install-classicui! `8 N* j: r; j9 F- p/ U2 ?$ a1 k  p
service httpd restart  W+ K' b$ v; N2 `, l
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin6 Z) b# Q' z+ Z6 D1 N$ `- L
安装nagios-plugin
3 g7 Y, p' h' E8 ?$ W/ ewget http://prdownloads.sourceforge.n ... ugins-1.4.15.tar.gz) X7 F- L" I4 G- f7 q1 t- a6 Q! r) C
tar zxvf nagios-plugins# L" M6 c' v$ Y
./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-mysql --with-gnutls --enable-extra-opts --enable-perl-modules --enable-libtap --with-openssl
+ w: b) R. ?/ X
7 v; c+ r2 h! O" i& ]7 _8 P1 r$ Vmake
! _* `( H4 U9 R6 k0 ]9 Tmake install7 `  q* m( m+ B  R! q
chkconfig –add nagios3 `' d8 @# J7 |" b7 l
chkconfig nagios on
& V  H( W9 E4 f, Lvim /etc/profile
$ H. ^; w. L# S9 L. M, f5 x6 vexport PATH=$PATH:/usr/local/nagios/bin
4 }7 I% A( I6 M' c' j6 Nservice nagios start
8 V: x7 d; b9 V; E! \7 r$ B8 ^* m" V3 q6 U
setenforce 0
; m6 H7 \1 e2 F* h9 a
, Z+ U$ m" r9 `  r安装addon  s- u3 t9 K7 z7 [5 ]  t
http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz: F, Z' M! x! {* _& [3 k
9 j6 i4 \6 X0 P+ k4 e9 A
tar zxvf nrpe  q$ W+ J# `. i
./configure --enable-ssl --with-ssl-lib=/lib/
/ a4 n8 ~, N5 Y! B, T, Z6 Smake
6 ]6 c8 ~7 x- N  k. @( b8 zmake install& ?9 }# I. M# i+ @

* [$ o# h- `) n" I# Wchown -R nagios.nagios /usr/local/nagios/libexec/( H1 p+ _* Q( w8 I' l

8 }6 B. y9 j- g6 G7 u% R  a; L- _ 检查配置文件是否正确 :/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg service nagios start
0 Y% A* }) F6 V7 g4 h注意:如果你开启了 selinux 需要配置如下二步:
* w1 H  O+ m& A' Z; K, d( wchcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/$ f) Q0 B/ I& c) b- I: j/ v4 I
chcon -R -t httpd_sys_content_t /usr/local/nagios/share/ $ J9 }- O% b/ Q0 ]1 G% Q- Y4 [
$ p, n* P; |5 \5 T- A+ J! ?
安装CACTI- z- e' J' f9 ?  u/ N" Q+ ?% Y) i+ b7 i
rrdtool, d1 X: {( z% c  m; N$ Q" q/ N
wget http://packages.express.org/rrdt ... -1.el5.wrl.i386.rpm
1 s( E6 R* u) ~  e3 R" n, }1 Gwget http://packages.express.org/rrdt ... -1.el5.wrl.i386.rpm
3 ^9 v/ f& n7 _& d" N- c9 f" I+ Kwget http://packages.express.org/rrdt ... -1.el5.wrl.i386.rpm
: L2 Y/ W9 f: q2 k& i9 bwget http://flexbox.sourceforge.net/c ... .4.4-1.el5.i386.rpm7 g4 F5 O7 G. b3 B: D. H

$ \/ R0 G2 H  A; J+ n+ uyum localinstall -y --nogpgcheck rrdtool-*. t% d" O. V: h* T. `- v

$ n8 i) @! \; j1 `配置snmp
5 I8 A0 s5 V/ y6 a. S* ?; Q7 bvim /etc/snmp/snmpd.conf% X& S) @1 D6 K! F2 r! H
spacer.gif
$ T* f8 s# h. _9 [! _service snmpd start
5 K; w: V4 O7 c: x- p5 j9 bchkconfig snmp on
. Q' i0 D# T6 m& }; L7 V9 J" F; x7 G$ E
+ Q( U, h" b$ o1 w
下载cacti0 Z9 P0 A0 g4 I( q, O0 c- }
wget http://www.cacti.net/downloads/p ... 8.7h-PA-v3.0.tar.gz" G; ]! X' [- W& a. @; q
wget http://www.cacti.net/downloads/cacti-0.8.7h.tar.gz2 N) B; q9 w  |7 V
tar zxvf cacti-0.8.7h.tar.gz
! B/ ~' Y, E) H! }. B. R* r& Xmv cacti-0.8.7h /var/www/html/cacti
* l" W  @# }7 W) p5 j
0 t! l5 Q. l) V3 q& n. }% a" }/ B3 [7 |创建cacti数据库
$ l! t8 p7 O* V5 S8 Qservice mysqld start) s# l; e/ o8 m/ ?8 O# I6 ^
mysql
& I' Z7 s0 Z% i* `  s0 i+ F2 a- Gcreate database cacti;1 r6 U% O( K% R" ^  C, @( p0 l% k
grant all on cacti.* to 'cacti'@'localhost' identified by 'cacti';
. K9 D. B5 k% q4 Lflush privileges;
- w0 L# M5 O: N$ \+ d3 lquit
! L! a9 c; d6 ^% X) m1 q) l& v1 D
cd /var/www/html/cacti/
% E; @2 N8 Z  e4 ~( D. Smysql -ucacti -pcacti cacti < /var/www/html/cacti/cacti.sql
- F+ W' W1 H2 o0 j& O0 E, F8 B5 fvim /var/www/html/cacti/include/config.php- X4 q1 I6 J9 ?: C
spacer.gif5 I, @8 L2 N* ^  D% }, m0 Q% w
vim /var/www/html/cacti/include/global.php5 i. Z: l" H$ y5 ^: J
spacer.gif* C' W; ~; n* ?0 t* C8 D
% F3 g7 b; @( G0 g7 r! s2 q
useradd -r -M cacti
9 I6 ]0 Z) o" H2 jchown -R cacti /var/www/html/cacti/rra/+ L2 ]8 J( q( ^' `
chown -R cacti /var/www/html/cacti/log/" `$ s) f8 L  R4 o

- [9 `& \- g9 ksu cacti  |, d# m  v9 [2 l
crontab –e
! v0 @! d4 h8 I; i5 L& |*/5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1# h0 ]6 k" Y* H  g3 h
php /var/www/html/cacti/poller.php+ b0 J+ C8 B/ S
exit/ G4 i% u! ]. _) I4 B

$ y7 A+ f6 O! d: }, @进入网页配置  _0 H  P' P/ N3 L

' f" n' p% {0 c) |  Q8 z9 M/ g+ I整合nagios与cacti8 f2 H4 R, J" X9 G6 `
安装ndoutils
. [7 E0 P* I, {9 ?7 T# U" f下载ndoutils6 |8 Z2 y' ]' v: I0 q
tar xvf ndoutils-1-5.tar4 G$ E9 Z6 o, c( w  J
cd ndoutils-1-51 m  ^3 n4 R1 i2 F( B$ i
./configure --enable-mysql --disable-pgsql --with-mysql-inc=/usr/include/mysql --with-mysql-lib=/usr/lib/mysql# W3 r5 Z8 g5 Y) l
make: s; \+ p+ f( b+ Q4 Y
cd src
+ |. \1 P0 M* o  [cp ndomod-3x.o ndo2db-3x file2sock log2ndo /usr/local/nagios/bin/5 t% }+ p* R# k' A
cd ../db
$ G+ d* y% F2 ]2 V% c+ Y: ^./installdb -u cacti -p cacti -h localhost -d cacti, b7 B5 e2 \0 U1 Z7 v! f
cd ../config
" E- @. P- i8 jcp ndo2db.cfg-sample ndo2db.cfg
6 u3 M$ \9 p6 v9 R7 {$ i9 fcp ndomod.cfg-sample ndomod.cfg5 C8 g; _; a7 _% W; S# T
cp ndo2db.cfg ndomod.cfg /usr/local/nagios/etc/
: d' Y$ }% |5 ?! `chmod 644 /usr/local/nagios/etc/ndo*8 B1 y% }( J9 p+ o7 [. F% s
chown nagios.nagios /usr/local/nagios/etc/*) {  L3 I$ p3 Q. R
chown nagios.nagios /usr/local/nagios/bin/*' g1 Y  \" c% |! W( j4 B6 F$ C9 m
' k* F- I: h% o+ e
修改nagios.cfg配置
% q+ f" Z+ E% w* k4 k) Mspacer.gif# E* g1 ^4 X' U2 |! F% e/ D
broker_module=/usr/local/nagios/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg
+ V" Y$ P" Y& q+ n1 A' R8 t) `) `  [  d7 V
修改ndo2db.cfg
; K7 ?: g" G3 C9 }" x, a3 Z3 z* espacer.gif
' }. O# S" Z1 |8 h, ~2 V  a" E) k. }% U: Y% B/ r0 e0 i/ N* d
修改ndomod.cfg* J' P% t8 M. i
25 output_type=tcpsocket* K8 m! n$ I+ h
39 output=127.0.0.1) a7 Y/ P) e9 I: _' q
添加ndo2db服务启动/ e- V( L7 a0 n# o9 W5 \: E1 G" v
cd /home/soft/nagios/addon/ndoutils-1-5# ]$ `* O* s' L! z, [* n
cp daemon-init /etc/init.d/ndo2db. N2 T  u* r+ b) V/ s3 Y# U
vim /etc/init.d/ndo2db* t2 S( }/ q* J2 ^( Z
spacer.gif
# k$ m% }: ~8 g, z% ?% A. Echmod +x /etc/init.d/ndo2db
$ s: S9 t3 |5 [! xservice ndo2db start1 N4 ~9 {! v" s. [
chkconfig ndo2db on$ U; O3 P/ M6 V: u6 B
service nagios restart$ u8 q& t3 h8 s$ q) H4 h
) L, ~8 W1 j) n2 v3 [, c
安装ncp
) m& t6 E# e$ F! e) G; h  ]安装cacti-plugin/ L1 Y% D8 V: |+ e
tar zxvf cacti-plugin-0.8.7h-PA-v3.0.tar.gz+ I7 e4 k) k/ G" i9 y* y) u; f" R
cp -R cacti-plugin-arch/* /var/www/html/cacti/
+ s' j0 O7 `4 d# Qmysql -ucacti -pcacti cacti<pa.sqlpatch -p1 -N < cacti-plugin-0.8.7h-PA-v3.0.diff* y7 W; A) g2 a  Q* U" b7 W9 f! x
vim include/config.php/ j% s; e2 X3 W1 W% ^
$url_path = "/cacti/";
' g" A& Q/ B8 S: G+ e( ?" S6 e! e5 ?- V- Y  v+ f, G
下载npc
4 x9 a) Y# }5 O  c3 C) M1 `tar xvf npc
: W1 a7 w& ~4 {5 m% j' ]) Jmv npc /var/www/html/cacti/plugins// m- J3 u+ E; i+ j
vim /var/www/html/cacti/include/config.php
' G- M1 q# I7 j2 R' D6 S6 q$plugins[] = 'npc';9 `( G5 I8 h, D0 C, y" K
: ]. [& Z" d2 U# u& x$ i3 Q
npc需要安装json
$ n/ {; c) W8 L/ etar xzvf json-1.2.1.tgz0 d& ^& B6 S1 K$ b" _% `
cd json-1.2.1
( Y8 z$ ]) Y* Z( `: hphpize+ x8 X$ ~, o8 [2 K% D: d
./configure7 l; \. ~. d, O% }; W- l9 z
make9 c% B% i' J$ {) s4 o  ~
make install$ o7 E( e  X, ]8 E* z9 N. w( Z
php -i | grep php.ini6 G" m% X4 u/ Z" \2 X- w
vim /etc/php.ini
8 k) B* g1 ?1 uspacer.gif* [; w7 M1 @6 \& o8 W/ a& ]

* k( G6 k  l: x" T% Wvim /etc/httpd/conf/httpd.conf
' Z+ B+ V; x* n7 z. Tspacer.gif# x$ `" u6 I, D3 N: m
' I6 K+ {" D5 x3 ~4 k( h! x
usermod -G cacti apache& ?! C) ]3 m: U1 w2 @  T0 |
service httpd restart
; W8 _- w% N2 {3 l7 vphp -m+ o1 x- G( [/ F

7 J9 _: \. _' B. i7 Z" }0 Z1 X9 V( {/ B+ `
vim /var/www/html/nagios/etc/ndo2db.cfg
% j& t" k! w1 J* D: u0 S111 db_prefix=npc_
, l( s3 o" |# u( e+ ~' F0 _' P! U% e- }' J: }0 |% _3 }
mysql -u cacti -p cacti+ p( x0 I7 M6 _2 \4 @1 V; o8 Q
use cacti;; B( X. o5 F7 h6 H# ?
alter table npc_eventhandlers add long_output TEXT NOT NULL default '' after output;
1 M% U1 R, u% w& S/ @6 yalter table npc_hostchecks add long_output TEXT NOT NULL default '' after output;
4 C4 C# @% n% F2 _' Zalter table npc_hoststatus add long_output TEXT NOT NULL default '' after output;
2 N" Y' c5 f( n# Ualter table npc_notifications add long_output TEXT NOT NULL default '' after output;
; t; p: k" f" d* w, K( e( ~) galter table npc_servicechecks add long_output TEXT NOT NULL default '' after output;! m4 V8 Y( }8 _2 j) O2 U+ m) v* z
alter table npc_servicestatus add long_output TEXT NOT NULL default '' after output;
1 q: g: G# j7 e! f+ c  Z# ]% q. {alter table npc_statehistory add long_output TEXT NOT NULL default '' after output;
' i- G8 X9 P  ]+ Talter table npc_systemcommands add long_output TEXT NOT NULL default '' after output;" k6 F* ?, Y7 N1 l  F
quit
* E8 y% R/ n& a; W. Y* F* v- l& z0 [  Q; e/ P; e  H
8 h3 a4 w/ F7 a7 v" _
安装nconf
5 O! b0 Z/ H0 T; D5 [: e4 f, e) vmysql1 o! |! t( h/ P/ \" |
create database nconf;' [7 \9 y4 t) r1 N* f% N
grant all privileges on nconf.* to nconf@localhost identified by 'nconf';
& y6 ^9 P9 S/ u7 C6 x* k. Y8 v2 cflush privileges;" @0 L9 h5 a( a0 V8 ~6 Z
quit
. Q8 h" w2 x* n; T: n1 o  _/ J0 i
, K+ o1 Y: A! l9 p& H2 W
4 T: |# t, C% c. ^1 [8 X9 mtar xvf nconf-1.2.6-0.tgz -C /var/www/html/
0 ]/ v2 ^& x  u; ]; r7 m6 I# o0 _cd /var/www/html/nconf/4 ~: o8 ?4 p: `1 p$ y# h8 x
chown -R apache.apache config/ temp/ static_cfg/ output/
, t5 g' U+ ~6 z7 [' ^0 }$ [$ c& }7 G9 K# a1 W! `9 w* ~: ?
进入web页面配置好2 G( u# U& v5 B/ g5 v- Q
rm -rf INSTALL INSTALL.php UPDATE UPDATE.php
3 N; P# e" Y9 a& N' E& n3 gln -s /usr/local/nagios/bin/nagios bin/nagios
# L+ J6 c5 c- Qchown -R apache.apache bin# n: A- r  l+ Z" Z, V4 \" \/ v
chmod +x /usr/local/nagios/bin/nagios
1 S7 v  ?1 \! O; C% Z  X- `chmod +x /var/www/html/nconf/ADD-ONS/deploy_local.sh6 ?0 t/ F. y+ E
vim /var/www/html/nconf/ADD-ONE/deploy_local.sh
% @; Y, V2 H& b7 s# A8 e# q( b2 J' s8 H
spacer.gif
: d2 g: r' G  ~0 c0 t- h2 f3 G+ v
0 k: u( F+ j4 W4 ?) |$ B7 ~打开selinux需要添加如下
) K2 U7 U2 y/ jchcon -t httpd_sys_script_exec_t /var/www/html/nconf/bin/nagios
5 x3 a7 }; F/ }$ w' F3 P% i+ {. s' ]) k) }7 B. D, W
vim /usr/local/nagios/etc/nagios.cfg1 h  t, f, b! ^
spacer.gif1 w2 G1 c6 {' K$ d0 f

* w5 c0 Q- W% n3 @" l1 c安装cacti-spin
, q- _, e9 [/ H" L1 u0 utar xvf cacti-spine
! d7 r- m7 a9 ?" F./configure
( B% J8 @2 f5 N& V5 b# U" }$ cmake) x  R( D( E2 F8 e3 C' m
make install0 [6 Z2 V/ [2 \' Q. H6 e* c
到页面设置路径1 E2 B8 Q& O# _; S7 v5 b& E8 `3 ^

1 b* U) A9 l# a& ?* x, T. ~0 |+ C) z
' j" y2 t$ ]7 Y加入运行sh( K1 U4 l, M0 H1 u9 f3 J
*/1 * * * *  /var/www/html/nconf/ADD-ONS/deploy_local.sh
1 j5 c6 ^/ H( j9 f6 e( L5 k' a  G, o1 L' W2 N' ]2 n, W
必定要看/usr/local/nagios/etc下的文件权限问题8 {1 v: J, |! t; E* R
最后要chown –R nagios.nagios etc9 P  |! X  D( Q, @( S7 d+ E

) z- e/ w4 Q" W. C' F) I7 w& U最后将crontab全部改为1分钟4 e: @& k1 Z1 L

: N1 e- H' b0 `1 y& A: J- i. H% L2 a: r0 X2 N7 J
上面是安装server端已经完成,下面配置client
1 K/ h' S. Y1 W% |& Z; L) @请search:"添加被监控server的详细配置"
; u/ Y+ b9 R) z: v添加完后某些服务需要监控才能够修改。look it this notes
- _7 f) v/ J$ n2 Anagios 修改用户密码 验证配置 开启 8 E( f. c: h! U2 W7 V# k3 n
#验证naigios配置的正确性1 u7 q( d$ ]; i2 }2 |
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
5 ?' U2 `6 y7 v( [' a* H#验证通过以后 可以执行下面命令作为守护进程+ z; n" }! W: l; h1 A( M
/usr/local/nagios -d /usr/local/nagios/etc/nagios.cfg
( C0 t; \; ~  V#更改web用户名和密码
% l' R( l4 J4 I) n' _1 l1.ee /usr/local/nagios/etc/htpasswd.users
2 J" C) r( w8 R& ], \8 r4 y$ b- J2.编辑/usr/local/nagios/etc/cig.cfg   |grep 'authorized', t5 N! z, d* S3 k* f$ x7 s# m
文件,将开始建立的用户名test添加到里面,允许该账户通过web登陆(如果有多个登陆账号,在后面用,号隔开)。5 T" q. R. I7 E+ v" }3 b* }- B
</pa.sql

  T; u& X' j$ Q2 P  E* O& Y6 J3 ^; p; S
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

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

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

QQ|返回首页|Archiver|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )点击这里给我发消息

GMT+8, 2026-4-8 23:57 , Processed in 0.180962 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

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