|
|
1,首先需要安装ndoutils以将nagios的数据能导入到mysql数据库中。$ A8 z5 j/ g2 {- h) {
9 u; N1 l ?3 y+ T2 I6 C
兼容问题:ndo2 1.4b9 换成了 1.4b7就解决没数据问题了。* b3 F; |: z' n3 U
' @$ p) `; ^ X! N B确认DBD-mysql包安 装,如没有安装,请先安装。( p; Z" ~$ N$ U0 \* T
如果DBI包没安装DBD-mysql前需要先安装DBI包
& Q, n% p$ Z; a8 [, y8 C1 Rtar xzvf DBI-1.607.tar.gz
, i9 d% H c/ W& jcd DBI-1.607
9 \! K% {) c( T) s$ m; n/ Eperl Makefile.PL8 M; G$ M, r8 l5 B" \- M
make
$ [* M6 F% J( L6 qmake install
1 ]8 N3 R% J4 u( w& h ' Z% ^1 }0 P5 @# b- L, j
tar xzvf DBD-mysql-3.0008.tar.gz, f5 @! E9 |# T; J* f' T8 e
cd DBD-mysql-3.0008
6 N* F, A/ ~+ T2 _' Hunset LANG ?4 C1 W L) ?. s# r" P
perl Makefile.PL --testhost=127.0.0.1 --testuser=root --testpassword=123456
/ A8 u4 g2 f7 f5 p( M* imake
2 D' |: y; M9 ?2 U/ p" M: P9 omake install0 k& ~; n' M1 R5 c, u
+ @# y [6 Q, H
安装mysql
# k% m* s3 }$ G5 `* F4 a1 eapt-get install mysql-server mysql-client
8 U5 w# H1 ~' _( u+ [ ) T, p. ?/ j A% O$ N. i
wget http://sourceforge.net/projects/ ... 4b7.tar.gz/download1 M3 J7 m: {# n+ v. O
tar zxvf ndoutils‐1.4b7.tar.gz
5 `. a8 f W+ `" S* W#cd ndoutils i1 a0 y3 A. L! _; m1 a
./configure --enable-mysql --disable-pgsql --with-mysql-lib=/usr/lib/mysql
- q2 {+ u" q9 i8 O+ H* g& D7 Nmake# M M. w3 ^. z6 D1 ^0 e
/ J" ~8 \, T, H, x9 P9 L6 M
建立Nagios数据库6 \+ R/ k5 d/ A4 N
Mysql –u root –p 连接数据库( G5 [4 e, D% t/ v! f2 p. L
Create database nagios; 创建Nagios用户4 t" f! Y3 A0 {. i; H5 ?
Grant all on nagios.* to nagios@localhost identified by ‘nagios’ 授权nagios用户,密码为 Nagios4 Z- b9 A* R. }; W# ?
0 H. n: V" L2 T1 }- Y2 @* X6 {4 P
初始化数据库
1 W6 `2 }9 x9 @5 G3 @! J& C3 I0 D. Hcd ndoutils‐1.4b7* s3 g/ m5 ^2 E# z" z( z
cd db; _$ N9 R3 ?2 c- a0 {& }' M
./installdb -u root -p 123456 -d nagios0 p, G; r8 W& P0 `6 y
4 P2 r( X- r1 G R: F c |cp config/ndomod.cfg /usr/local/nagios/etc- _: T3 ^9 X$ l' g
7 c4 |. ]6 f/ H# l" c3 H+ ]
0 t- a+ p& E! ^( u7 }) f1 p {- d. p
; ^& v/ s6 }. ?# f5 P) y0 R修改nagios主配置文件 #vi /usr/local/nagios/etc/nagios.cfg 添加以下内容' g% _( ?! _+ t/ P: w0 V- {4 @. _
check_external_commands=1
e% N( T( Y2 h9 E$ o7 X" i) m; Acommand_check_interval=‐1& g2 n k! Q8 E$ D$ ~
event_broker_options=‐1
( X, w6 r/ s$ y4 w7 abroker_module=/usr/local/nagios/bin/ndomod.o config_file=/usr/local/nagios/etc/ndomod.cfg
) M) W. N, b% E/ t5 R, I9 A% I6 Rprocess_performance_data=1 , ~- _6 }% r3 d' x9 P0 E
添加的内容至此结束
- ^# H" I2 k' k5 Fcd src
, T2 S+ |2 s' pcp ndomod‐3x.o nod2db‐3x log2ndo file2sock /usr/local/nagios/bin* C. d/ g$ H5 F; @) I4 K, z
cp src/ndo2db‐3x /usr/local/nagios/bin/ndo2db5 s4 o& p! q' H9 c! d; r) U
cp config/ndo2db.cfg /usr/local/nagios/etc
: H A$ g* Q! ]; S! hcp config/ndomod.cfg /usr/local/nagios/etc* ?3 n6 b$ ~5 O5 K3 j
chmod 774 /usr/local/nagios/bin/ndo*+ E, J; i# y+ a
chown nagios:nagios /usr/local/nagios/bin/ndo*7 K) j+ @$ m9 v
$ y4 c4 v5 h# v0 V$ V 2 _$ }; G0 k, |" r2 u
修改配置文件ndocmd.cfg和ndo2db.cfg,这里我的配置文件内容为: S/ Y: e. {, Y! n* a
# T; Y3 p/ Q8 i1 D, P: n1 B, X[root@localhost downloads]# cat /usr/local/nagios/etc/ndomod.cfg |grep ‐v '^#'|sed /^$/d
( A9 e& k2 c5 b! X# qinstance_name=default
4 P& `) H' k! g9 ~7 ? c. Loutput_type=tcpsocket
: D6 _6 n0 [9 J4 `) w" ?output=127.0.0.1- H$ b& M; [: N. i$ L
tcp_port=56683 S% F( f7 u% N! V
output_buffer_items=50003 j2 ~% t2 \& \) Q! W
buffer_file=/usr/local/nagios/var/ndomod.tmp
; e- f }3 f# |file_rotation_interval=144003 I- ?( {4 T, I6 [6 K4 I5 ~, k! m8 a9 R
file_rotation_timeout=60
9 X/ C. w& M% j* c3 q$ M1 R" ireconnect_interval=156 x% i( }' V+ C3 o# B0 f
reconnect_warning_interval=15
+ U2 j2 {6 \: R. U- Gdata_processing_options=‐1+ |7 ~+ z' q* r: B* K5 i- K
config_output_options=2
" ]) E4 b; B% V. Z
- ^9 j* S, O6 X/ k) T
( {& `# ~ H1 j4 g/ W u5 E' F[root@localhost downloads]# cat /usr/local/nagios/etc/ndo2db.cfg |grep ‐v '^#'|sed /^$/d
! j. M, d; h2 D8 Gndo2db_user=nagios
9 k) R5 f2 W* |8 j( b3 z @. A2 endo2db_group=nagios
0 g7 ^) y- } t& usocket_type=tcp- J, J% o) V1 W
socket_name=/usr/local/nagios/var/ndo.sock
; N) y. p- P' o3 n& jtcp_port=5668
/ p. Z7 Y' E3 O- r1 Z: p2 C3 r# u4 jdb_servertype=mysql
# H# a4 k- v6 E1 `, _3 w* Tdb_host=127.0.0.1
8 b: j7 \: [6 V1 ?6 \2 Ndb_port=33060 U& i& R/ c4 C/ `2 f9 Y
db_name=nagios& S, W; d% H/ d. M1 @4 @; H
db_prefix=nagios_4 N$ _# \+ a& M: N- M- g
db_user=nagios- ~+ o' B. m0 s+ X" M* i4 F& ^
db_pass=nagios3 a% @, F+ w6 l# f. P. t9 k* i
max_timedevents_age=1440
p0 B+ _- p# U2 r* nmax_systemcommands_age=10080/ j- X& D% Y8 |, c
max_servicechecks_age=10080) ]. u+ [' t0 D
max_hostchecks_age=10080
- C, s |2 J( N# Hmax_eventhandlers_age=44640
# X7 w! {* d( T9 tdebug_level=1: J& D6 L* R8 ?; I) R3 \
debug_verbosity=1
3 r8 D# C1 z# H2 B, Cdebug_file=/usr/local/nagios/var/ndo2db.debug5 \; \/ M- X* N) B* T- Q
max_debug_file_size=1000000: H, V4 l6 H6 x! s* m
#/usr/local/nagios/bin/ndo2db ‐c /usr/local/nagios/etc/ndo2db.cfg ---------启动ndo2db
! }# L" ~; S; S7 p8 R1 c {配置完成) L; c" v7 D/ ?1 a+ ~2 |1 j8 O( J
/ z* Q4 W: Q4 V9 k' X& }查看系统日志看是否有错误信息。
2 x7 d% ^7 O! x& c! A2 rtail -30 /var/log/messages
$ Q0 D2 }6 k6 p, g7 T' F- f8 D
0 V6 ]5 x) E+ S若有mysql_query() 不能插入的错误,即Id问题。, ^. X# U8 H1 a% j: ?* P9 b
解决问题:mysql> ALTER TABLE ‘nagios_configfilevariables’ DROP INDEX ‘instance_id’ ,: }+ Z# E$ u" e @1 y" v6 B% q
-> ADD INDEX ‘instance_id’ ( ‘instance_id’ , ‘configfile_id’ );, \, U3 n6 e9 L; y
. d8 T* T* ]: s/ R ?1 j3 ] |
|