- 积分
- 16843
在线时间 小时
最后登录1970-1-1
|

楼主 |
发表于 2018-6-24 13:14:46
|
显示全部楼层
一、NDOUtils安装需求:3 j5 C) b' T9 Y- b. C. W
( g, U0 }" ~% S
nagios:安装方法:http://www.cnblogs.com/Richardzhu/p/3340638.html3 U/ L! @9 Z( c* y6 e; d9 n
8 X, Q" i) K+ w& D: z0 emysql:源码安装方法:http://www.cnblogs.com/Richardzhu/p/3220883.html, `) n% [% ~& B2 s2 y/ [( D4 E* f
! l: v, r) l+ u; {$ {6 A# RDBI和DBD-mysql安装方法如下:) c6 t9 Z% q- Z
) k* `8 a5 D9 l! w( Sshell> perl -MCPAN -e shell
$ M9 i- I4 o( {cpan> install DBI * b5 W8 @1 _4 c. ]4 m" K: s, \/ e
cpan> install DBD::mysql
/ j+ @6 p% n* r3 y+ r8 ?, V! X 二、关联mysql头文件和库:* K5 t4 O# b7 y1 w, T
: ]2 x; @6 D% N不做关联可能在config或make时出错
6 F9 X; E( t- R7 A% [. l5 g# }0 [, s9 O7 J' y4 J
ln -s /app/mysql/include/* /usr/include/
5 ~+ K& C1 n5 ~. L/ W* Y7 M8 xln -s /app/mysql/lib/* /usr/lib/7 u" ]; [! W+ [# C- A* ?
5 I, ? O* F$ p% vecho '/usr/lib' >> /etc/ld.so.conf( c+ D8 X _* G# G# |# p0 \- G% I' g
ldconfig -v
Z( c/ }/ b1 d7 U2 _0 M2 X5 H三、安装nodutils:
8 _) P- L* Y$ h+ P1 b" ]7 q6 i6 o7 n0 w3 ~4 i( d
tar zxvf ndoutils-1.4b7.tar.gz
% ?, ?5 y* ?# Q; Ucd ndoutils-1.4b7
0 Z* d! J$ ]; H: P& x6 ~./configure --prefix=/usr/local/nagios --enable-mysql --disable-pgsql LDFLAGS=-L/app/mysql/lib --with-mysql-inc=/app/mysql/include/mysql --with-mysql-lib=/app/mysql/lib/mysql" X4 Y/ {3 v/ j' w8 v4 V3 r
make. d: x/ u- J \6 A, g# q
四、拷贝文件:- H# `* |" _ y/ w
. U2 d: ?# L' b a6 [ M
cp ./src/ndomod-3x.o /usr/local/nagios/bin: j5 ^# B" Q1 m; `; n
cp ./src/ndo2db-3x /usr/local/nagios/bin
/ i' @' B0 {# fcp ./src/log2ndo /usr/local/nagios/bin; o- [) i! D9 ^+ G. _. A2 C
cp ./src/file2sock /usr/local/nagios/bin X) m" o4 X$ V+ ^
chown nagios:nagios /usr/local/nagios/bin/* d. U" \" T2 a) r
五、拷贝配置文件:
) T9 Q0 i/ e! _$ s" ]7 C9 m7 k j+ Q1 m2 f0 Z% { e; ]( M
cp ./config/ndo* /usr/local/nagios/etc/2 i. S( y, v [
chown nagios:nagios /usr/local/nagios/etc/*, {9 r+ t/ v2 n+ [" r
六、创建ndo的mysql数据库及用户3 d% Z8 {! r2 P L
% v$ C K" E0 y" w* y- e7 FCREATE DATABASE `nagios` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
2 _0 B% y( I+ V6 l9 i$ Z# _/ y2 iGRANT select,insert,update,delete ON nagios.* TO nagios@localhost identified by 'nagios';
( V' ?( b! W0 _( XFLUSH PRIVILEGES ;
' }# F; ~( A9 b% f; U七、导入数据库结构9 H" @/ h, d& t% Q
1 L1 p+ @4 F, Acd ./db/5 \; f2 f" S8 K# k
./installdb -u root -p 123456 -h localhost -d nagios
$ r, D( f6 [' V' t/ I如果这里root没有密码的话需要进行修改。
4 V# `" S5 v) e( s' ~" |. q1 }八、修改配置文件$ e; X0 s) Q# P* A9 g7 P" w
9 p$ V7 x, Q1 s& }/ E
复制代码
7 Y5 C/ p4 ~8 t' |vim /usr/local/nagios/etc/ndo2db.cfg
* n7 [2 u" `" f
8 F- |8 I( [5 p0 qdb_user=nagios
& U0 o( `1 h; }) J R# _db_pass=nagios. e, p; n9 ]: j7 h3 e
socket_type=tcp. ]7 X0 h. X' c5 `
/ l8 ]1 g1 h) O$ n- Gvim /usr/local/nagios/etc/nagios.cfg
8 X4 L: }4 O" U- Tbroker_module=/usr/local/nagios/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg
: \, b X5 x! I! u7 K8 C6 |: u( r( m; R4 u1 V
vim /usr/local/nagios/etc/ndomod.cfg
# c- e! H' c9 o/ Y' ~3 xoutput_type=file/ I2 R& g* {$ O
output=/usr/local/nagios/var/ndo.dat+ `( R4 ]; Y# e
复制代码
8 q) m3 m0 c0 M# @# I) S+ T0 [九、启动ndo2db- K$ }/ h$ f3 H: X. g: O3 C
+ P+ T( n+ T F u4 e$ Q/usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg0 A5 J8 Z8 q' t2 j9 q
十、重启nagios
6 K( J+ w) ]0 I. J. x0 F* I/ T7 W3 ^0 R5 o8 @! R' Q
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg : C$ d) Q& i- V% k8 p( C
service nagios restart% _8 j) z% f% J6 P! [3 U3 \- \& I
十一、检查安装是否正确( Y4 {! U! ` _
0 H9 ]+ i! e; z9 y. y2 ltail -f /usr/local/nagios/var/nagios.log1 L! E5 \2 ~' O& O; @
- p8 y( E F- K+ ~+ n
涉及的错误:% B* T- o" ~+ N8 V
* \& ~7 p( e: D4 R2 {; `启动ndo后在日志中出现: nagios ndo2db-3x: Error: mysql_query() failed for 'INSERT INTO nagios_configfilevariables SET instance_id='1', configfile_id='3', varname='cfg_file', varvalue='/usr/local/nagios//etc/objects/localhost\.cfg : K5 N( t' G' f$ e* l( p% [
解决办法是使用:mysql -uroot --password="canada" -h192.168.1.97 -e " W& D; V' [ N4 @
alter table nagios.nagios_configfilevariables drop key instance_id;8 I6 f4 r* x3 b5 _6 h- M: w/ Q8 _
alter table nagios.nagios_configfilevariables add index (instance_id, configfile_id, varname);
, l1 E. r0 r# y! Q8 R6 C
9 Z) h. \7 h1 h: P5 u% T( Q/ t需要修改表结构。
2 w0 M% N1 z1 X0 ~) ]+ Malter table nagios.nagios_configfilevariables drop key instance_id;
( G' ~2 J# d* K' x* talter table nagios.nagios_configfilevariables add index (instance_id, configfile_id, varname);
# y$ J Q6 C5 `, s( K# ]" d& r6 b. s4 B; u* q& t# U4 t
tcp连接Mysql /usr/local/nagios/bin/file2sock -s /usr/local/nagios/var/ndo.dat -d localhost -t tcp -p 5668; X& s+ C$ U8 |7 y/ B1 W' u
|
|