- 积分
- 16843
在线时间 小时
最后登录1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?开始注册
x
1.ndoutils安装准备
0 `$ s( K/ Q5 F/ C7 W8 |+ Kndoutils是nagios的一个插件,就是可以用来把nagios的获取的数据存入到mysql数据库中。这个工具的安装是个关键。
# c' O& I9 Z( F2 k" p(1)nagios环境的准备,以上环境应该是可用的
$ r1 l, _# d, h: q" p(2)mysql数据库环境 & @/ m/ ~5 h, C
下面两条命令用来生成ndoutils所需要的数据库表等,这些表默认以“nagios_”为前缀;install脚本命令必须在db子目录内执行:
; W% A7 |5 c* p3 }& a2 b
* L# K/ e0 o) O8 S# cd db # ./installdb -u nagios -p nagios -h localhost -d nagios 其中各选项的意义如下:
7 b" t, ~: x, b$ f/ @) ~+ k+ O6 R1 c: T
-u用来指定导入时所用的mysql用户帐号 ; b P3 E+ @' A4 [4 q) E
; J- W. u$ F1 ?. W. R/ |5 d-p表示前面mysql用户的密码 : E+ R; e' t5 Y# G/ R& m
+ D2 X" w7 c; b- [$ [-h表示mysql服务器地址,如果是localhost,则可以省略 f1 ?6 K ?# D
) n; B8 n6 [0 k0 E
-d表示目标数据库 $ Y' m) }* ]! ~
! u% D( ~, v" Q
说明:如果与cacti整合的话,npc插件会在cacti的数据库自动生成ndoutils所需要表,这些表均以“npc_”为前缀。后面讲到整合的文章中会继续对些做出说明。 5 M- \( j' i1 o' X3 J/ ?
R* R+ s3 Y4 ~
(3)相关软件包的安装确认 5 r- l: n' W) U% r) Z
perl-DBD-MySQL
- M; o/ `5 o1 H* ?0 Nmysql
" J( H5 d4 j4 p' H. K0 w& qmysql-devel / H# P/ @- f* {; A7 V+ N) b
php-json-ext-1.2.0.tar.bz2 7 O+ c7 k+ C- b% R4 Z$ Y
cd /usr/src 7 m2 q* P. F- Q' h4 @# m
wget http://ncu.dl.sourceforge.net/pr ... outils-1.4b9.tar.gz
& k$ w0 V( a; @2 v4 Zwget http://www.cpan.org/modules/by-module/DBI/DBI-1.624.tar.gz
) F+ h( S( e* nwget http://www.cpan.org/modules/by-module/DBD/DBD-mysql-4.024.tar.gz $ o. P I0 v$ z7 @5 ?4 ?5 o3 N
2. php-json的安装 ! X) ^- c5 g; Q% b; J8 u
# tar zxvf php-json-ext-1.2.0.tar.bz2
/ u7 t% L7 ~& m+ x" I: g+ j; u) S# cd php-json-ext-1.2.0 5 ~/ `- B7 T- w2 V$ R$ R% H
# /usr/bin/phpize
3 Q5 y0 C& r" b6 r3 r# ./configure --with-php-config=/usr/bin/php-config
) ~% y3 \8 }. ^% R0 ?; m8 V0 ?# make
* e: D4 t, A. x- E# make install
6 `8 |, |/ \4 g( h$ l: F) H- h* S# 说明:json库的位置
4 E* @4 S' I1 v- a' mInstalling shared extensions: /usr/lib/php/modules/ ( B) V( g8 f. |# B7 |- c% _! q, G
# 把PHP扩展加入配置文件
S8 m3 d5 V2 W+ X# vi /etc/php.d/json.ini
" \9 j6 A' `; t; k5 H- ^extension=json.so
( q% e$ d- L' q. n, O3. ndoutils的安装 ) J( k9 j/ v) R* T) @: R$ ]$ f6 ]
# cd /usr/src/ ( e$ l+ J8 y4 v( m) j& g% [
下载ndoutils-1.4b9.tar.gz 2 g$ g7 G! B1 y3 y7 `8 B
# wget http://ncu.dl.sourceforge.net/pr ... outils-1.4b9.tar.gz
* q/ ^* \: A. }4 k* T+ x# tar zxvf ndoutils-1.4b7.tar.gz ) e8 B4 ]) Y+ N' f
# cd ndoutils-1.4b7 + ]3 P! Z1 n- Z. F/ ?7 \
#./configure --prefix=/usr/local/nagios --enable-mysql --disable-pgsql --with-ndo2db-user=nagios --with-ndo2db-group=nagios LDFLAGS=-L/usr/lib64/mysql 8 }1 I) {" e( w- z, e
# make # u) N" r3 [/ y' C8 X4 u
2 g6 N+ r; ]1 }# cd src/ ' p$ b1 Q3 ?: R1 R
# cp ndomod-3x.o ndo2db-3x log2ndo file2sock /usr/local/nagios/bin/ ! ]; ~( {; m* _/ Z
# cd ../config
2 w5 j6 C- n( e& R5 O# B& _# cp ndomod.cfg-sample ndo2db.cfg-sample /usr/local/nagios/etc/
& w9 ~8 ?; h8 x# cd /usr/local/nagios/etc/
0 G) S% e0 E( O' Q# mv ndomod.cfg-sample ndomod.cfg
2 l( P; Q0 N7 m8 R6 B4 v# b# mv ndo2db.cfg-sample ndo2db.cfg 2 ?$ p+ |* M/ P7 R' \
$ x; X- l% d; k$ H2 i; { C
% |* {" F* n' }) c( }) |5 ^/ y
4. 修改配置文件 $ X* i& j9 ?+ J+ S# X) x; H
# vi /usr/local/nagios/etc/ndo2db.cfg
5 b% W) s7 L8 M1 Hdb_name=nagios 0 n- k; P" F/ P, n" J
db_host=192.168.1.80 (远程数据库地址) 2 x6 Z! A/ E% V# J5 t+ h& b" V
db_user=nagios 8 U. F' n0 f' k! x2 H
db_pass=nagios
: N' l1 ], B9 h- g" q! rdebug_level=1 2 K8 g- h4 ]9 Y
这里是用Cacti在mysql中使用的用户和密码以及数据库,远程数据库的话应正确指定数据库IP,以及用户名帐号权限。 - z3 _ A8 C6 [ A- d
# vi /etc/nagios/ndomod.cfg # 可以随便指定一个位置 # r. `) L6 K# g2 @2 A$ ~/ Q5 C
output=/usr/local/nagios/var/ndo.sock
6 [1 F! l/ X+ ~/ @% `# ^7 Lbuffer_file=/usr/local/nagios/var/ndomod.tmp
9 y! D4 h7 P& Y+ p# vi /usr/local/nagios/etc/nagios.cfg
% G/ e4 j# v; Q, `* V# 以下三条检查一下,默认就是以下内容 - H9 O/ U. F2 O% I8 R# G' d
check_external_commands = 1
1 O8 c: e- q% E# |command_check_interval = -1
- ]5 b8 k( w- O# ~event_broker_options = -1 5 i# D5 w. p" E& c% g
process_performance_data=1 : `" x3 m9 A: K6 X
# 注意是一行内容
) Y! y5 p6 X; S, |broker_module = /usr/local/nagios/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg : [5 d: U- w4 k5 a& G3 @: W
5. 启动ndoutils,也是最麻烦的一点
9 E) E$ m7 ^3 t9 W(1) ndoutils的先启动
' l, }. B' H1 i5 ]#/usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg ! u. u: j4 T; }( l# j6 H" \! _
测试如果出现以下提示,应删除对应sock文件再次启动OK
* P+ `+ B4 v4 J' ^& Y+ Z4 FCould not bind socket: Address already in use 5 w7 z0 v" [# ~6 c8 q( @8 s4 |
(2) nagios重启 , i K( l: r- ~& Q0 p4 u, }0 z
# service nagios restart 9 a) U/ L9 k) t9 v
说明: 其中的启动日志都记录在/var/log/messages中,可以直接查看有无错误。
% B8 ?4 q9 D& K" f8 g: \) B" h( h# N) m$ _; Q7 ~4 Z7 Z& c
故障排除: . ~' E: o: Q4 N% F
如果/var/log/message里出现 + b) l) j7 O( P2 w/ y$ E
ndoutils not connect 则 chown -R nagios.nagios /usr/local/nagios/ / j, s, G% j a- f) B2 S7 Q7 l
若出现: ) @& @: y& C8 V% E$ z/ ~1 y
Still unable to reconnect to data sink 则 rm -f ndo2db.sock 然后 restart ndoutils服务 |
|