|
|
楼主 |
发表于 2018-6-24 13:14:46
|
显示全部楼层
一、NDOUtils安装需求:
3 x% w7 T- ]9 S: c3 J4 F% Z% { ]) U8 S. F- C
nagios:安装方法:http://www.cnblogs.com/Richardzhu/p/3340638.html
0 n3 ?, c4 Z: S! O' d: t/ C7 H9 Z$ G* Q
mysql:源码安装方法:http://www.cnblogs.com/Richardzhu/p/3220883.html
/ n6 N0 x |9 X2 |% Y+ \) l
4 O& U9 `+ p8 S2 `DBI和DBD-mysql安装方法如下:0 Q8 B0 z6 L: \' S. H" h7 p
2 G8 g' g* f1 S+ ~: Cshell> perl -MCPAN -e shell
7 K: E. ^2 l- ucpan> install DBI
/ {9 [/ |) L) ]5 K. x4 ?: E2 }cpan> install DBD::mysql
8 |. f. |$ w2 k" `1 r 二、关联mysql头文件和库:
7 A$ B8 G) I$ \2 W2 [. ?! ]
) \ A) R, w; E: K3 h. w8 p不做关联可能在config或make时出错6 Q# y$ U: k; U d
0 H& H3 k: t- }$ p t bln -s /app/mysql/include/* /usr/include/' h8 O# T2 r7 c/ b' R' Y V
ln -s /app/mysql/lib/* /usr/lib/( M0 j/ r$ P3 `/ x! h
! d" m/ v) @2 n7 t) g9 a: o
echo '/usr/lib' >> /etc/ld.so.conf
! Q! H8 B3 q& G4 nldconfig -v
5 Y3 \( M9 i# A+ y' r7 e( I: V三、安装nodutils:
# ^5 R) C4 p0 R5 u/ a' Q9 a& a5 K% _; ]4 y4 p l4 [
tar zxvf ndoutils-1.4b7.tar.gz
/ a" O( W8 L# p5 [+ hcd ndoutils-1.4b7% I! S: @2 U2 ^& W$ o. {5 ` e. A
./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% O/ s" G& Q" m' W Z9 c' [
make! M5 }/ q4 N+ A$ F# n! l
四、拷贝文件:
, R r* c: I6 y% ~# W5 D. x% I2 f4 I1 R7 W7 v$ ^6 K3 N
cp ./src/ndomod-3x.o /usr/local/nagios/bin
L, v0 \! O# K6 P; c! c/ Icp ./src/ndo2db-3x /usr/local/nagios/bin
2 H$ u5 { ], j5 j% A3 x, V4 z0 F2 gcp ./src/log2ndo /usr/local/nagios/bin* d3 l8 ]& P8 {
cp ./src/file2sock /usr/local/nagios/bin4 v2 X# _1 j( ~8 ^ ^
chown nagios:nagios /usr/local/nagios/bin/*
2 _8 K; S0 H; A% E' O) B0 o五、拷贝配置文件:
8 @4 }( b, Q5 i0 W# o2 G5 q0 [1 G5 ]
R; L: h( H/ ~/ B9 mcp ./config/ndo* /usr/local/nagios/etc/2 J3 C* w5 o2 r* M7 U
chown nagios:nagios /usr/local/nagios/etc/*$ d* U5 y. ]/ }) j, M
六、创建ndo的mysql数据库及用户
3 Z. m6 a: J8 _* }6 ]$ i R7 r
4 |: M. {- X3 I7 u4 n+ \8 _4 ^CREATE DATABASE `nagios` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
# d3 l7 [) D! LGRANT select,insert,update,delete ON nagios.* TO nagios@localhost identified by 'nagios';
. u' t, R" }% o+ V: c. mFLUSH PRIVILEGES ;
* r. J# n/ {# I$ s七、导入数据库结构
" g1 }' m2 t; p8 S; j2 `2 u( O8 Q, T$ @$ `. @) Z4 ~* T% S9 j
cd ./db/
8 u# B4 i' W2 R; n./installdb -u root -p 123456 -h localhost -d nagios J$ d- U# r* f/ ?" D0 p
如果这里root没有密码的话需要进行修改。
; N) [/ U$ P+ z: _八、修改配置文件+ O* E( M( X6 u. ]. g* _6 V
% M: ~# @0 S# s8 `( e复制代码
" s1 x. ~5 w- U+ M; v' S& {vim /usr/local/nagios/etc/ndo2db.cfg6 C. d. N" b @" u8 C9 R; J# L) G
! T; X: t8 U% d6 Kdb_user=nagios
' p! }. U: l% A& p5 ]( o, @& Zdb_pass=nagios
" h/ V- z4 O* H5 s: nsocket_type=tcp* F: A0 {& |1 H6 B8 j6 r
. \1 p. |) P1 @. `2 ], z* Z: svim /usr/local/nagios/etc/nagios.cfg& x) D4 h( H+ n( q
broker_module=/usr/local/nagios/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg2 ~' }3 k( @) P5 o; t
4 v. a! U/ X, m$ J; D' ~/ Z; |
vim /usr/local/nagios/etc/ndomod.cfg
6 v6 ~2 `& w# `: R7 R# B; @output_type=file
' u) n5 D$ s* |: E' |output=/usr/local/nagios/var/ndo.dat
: h: _+ j) }, ]+ H复制代码) A4 O" w% x0 }/ r; `0 q
九、启动ndo2db
, l, |, @2 A T9 f- l* v4 n9 j
2 M' T; v# S$ } E$ |/usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg+ Y$ h! z6 ]/ M
十、重启nagios
z% H, M, d' P2 Y' [9 a# s1 {; p0 B! M, Q' t: [: g
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg $ l$ t F2 L/ `5 }' @5 }
service nagios restart3 k& I& z3 P2 i0 B0 @
十一、检查安装是否正确6 R5 N9 D+ q) f5 I! m& j3 X
% `3 [8 u+ {4 S, B/ P& Z: a. O# i/ l
tail -f /usr/local/nagios/var/nagios.log1 f" R. X) {+ L5 v, P8 \* Y: M; R" \
" I+ t# c& w" \* K7 q! l" l
涉及的错误:2 b( g9 a2 O8 j+ t" O
& \/ T4 [9 a3 V. L启动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
+ `+ l1 k) o$ L, M4 c( t解决办法是使用:mysql -uroot --password="canada" -h192.168.1.97 -e ": I9 @) q' Y% a7 P( b, F
alter table nagios.nagios_configfilevariables drop key instance_id;
9 K: w) ]2 W3 F" d& @, r% Zalter table nagios.nagios_configfilevariables add index (instance_id, configfile_id, varname); ) ?; m' w- R8 \/ u
. H1 O- {9 Z2 u, ]" R/ t
需要修改表结构。
% @9 C7 d8 w% M% G5 v1 Nalter table nagios.nagios_configfilevariables drop key instance_id;
) Q9 V7 ~, B) X& i7 G- m# D# Talter table nagios.nagios_configfilevariables add index (instance_id, configfile_id, varname);
& D0 O1 |. W U7 y% y4 o
* r: k( c0 p# z1 Z& R0 v, ctcp连接Mysql /usr/local/nagios/bin/file2sock -s /usr/local/nagios/var/ndo.dat -d localhost -t tcp -p 56688 g( H; m, a6 G# \$ @0 G. y* W6 D
|
|