易陆发现互联网技术论坛

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

读取nagios数据库至mysql数据中

[复制链接]
发表于 2018-6-22 21:10:54 | 显示全部楼层 |阅读模式

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

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

x
1,首先需要安装ndoutils以将nagios的数据能导入到mysql数据库中。7 U' r; g) W6 D/ u
        * P! M% a  Q; s  R1 C  f
         兼容问题:ndo2 1.4b9 换成了 1.4b7就解决没数据问题了。; q' O. }: |. d& s- K6 @7 _" U! y. [

6 q7 h& ^2 v6 G( A2 a0 `确认DBD-mysql包安 装,如没有安装,请先安装。
/ Y' O3 g# v* o如果DBI包没安装DBD-mysql前需要先安装DBI包" p; a1 r4 a" n7 E" o" N
tar xzvf DBI-1.607.tar.gz
, e2 {' L# ~# N/ r' z& A' H! ~$ ~cd DBI-1.607
( c+ k; f& Y7 ?perl Makefile.PL( i* Z' D( n' j
make
0 y5 f5 I4 q* xmake install
1 @* A5 m$ R7 M, S* d4 b3 h
$ X9 o, b# U5 Z9 [& }' t% ptar xzvf DBD-mysql-3.0008.tar.gz
. w1 D+ i" L/ c/ H* m& u* }cd DBD-mysql-3.0008
( D) q# i& u: I2 ]) H7 Runset LANG
) ~* Y  Q5 p6 [) B" Y8 V8 o/ z, c+ rperl Makefile.PL --testhost=127.0.0.1 --testuser=root --testpassword=1234562 t5 y' K3 x" U' E; Y) K1 q" |
make1 C  w0 M" z" t9 a  V
make install
& T& z: A  F! Z2 J2 s ( L8 y$ _  h2 z' ^; f6 O6 F' b
安装mysql; l& V' c! y$ C; d0 [
apt-get install mysql-server mysql-client2 K$ k: G: n! m- L

5 m* D0 Z* M' dwget http://sourceforge.net/projects/ ... 4b7.tar.gz/download7 |' \0 g' D7 U+ l: O/ M9 T
tar zxvf ndoutils‐1.4b7.tar.gz4 @2 L5 N, d$ U3 u% Q! a# l8 p  V
#cd ndoutils4 B4 ^& `) a) ]
./configure  --enable-mysql  --disable-pgsql  --with-mysql-lib=/usr/lib/mysql' d) v; P; N6 n, B1 |3 u
make
4 Y4 }% e. f1 Z3 W! X/ K) A# `0 \7 B 3 ~- P6 q9 I8 U7 N9 {
建立Nagios数据库; m' ], _" {: E- g6 p8 _9 V) T
Mysql –u root –p   连接数据库3 q; V- l* u3 j4 O! ~0 i& O
Create database nagios;  创建Nagios用户5 M* T0 |9 A9 Z! @: O: V, j
Grant all on nagios.* to nagios@localhost identified by ‘nagios’   授权nagios用户,密码为 Nagios
4 N: q! ^5 ]- m' T
; h- Q7 M- |1 {& V$ Q$ S- b' Z( p初始化数据库
, z( E+ L6 F0 V8 c% I: Tcd ndoutils‐1.4b7% A- W/ s, A' Y' |# m2 f1 O5 p; y( O
cd db
: }; Y' N, Z! X  y./installdb -u root -p 123456 -d nagios/ O: m/ X- h6 W; J7 `

/ |" i' c4 r. f8 v* M; ccp config/ndomod.cfg /usr/local/nagios/etc% J0 W0 w  v! W
1 M8 d) U$ d4 O( h
  n. v3 s2 @, l" {1 X7 H

  {4 T% Y+ H! `0 V0 K* l( a; W( T修改nagios主配置文件 #vi /usr/local/nagios/etc/nagios.cfg 添加以下内容
% s: R- o; v! w" r1 |check_external_commands=1
9 u& M/ Y9 N6 l& H9 Y2 _command_check_interval=‐1
& R& w9 n5 G; K7 {3 ], w" xevent_broker_options=‐17 W6 ^6 o; R1 ?' p
broker_module=/usr/local/nagios/bin/ndomod.o config_file=/usr/local/nagios/etc/ndomod.cfg
. E) K, O9 d0 j& y' jprocess_performance_data=1        * p, z0 P& n. V% s8 z6 @) p' X
添加的内容至此结束
2 C) u3 L: s& W& Fcd src  `/ ?7 g+ k- A' k  `
cp ndomod‐3x.o nod2db‐3x log2ndo file2sock /usr/local/nagios/bin
5 W; a8 x/ ]* g+ n$ ^1 xcp src/ndo2db‐3x /usr/local/nagios/bin/ndo2db8 S8 {# d, Z# Z
cp config/ndo2db.cfg /usr/local/nagios/etc, k+ `! N3 D" Q, G2 \3 t9 ]3 [' O
cp config/ndomod.cfg /usr/local/nagios/etc
' f% s1 F. o! v8 S+ pchmod 774 /usr/local/nagios/bin/ndo*
5 Q& j7 q# b4 R* cchown nagios:nagios /usr/local/nagios/bin/ndo*
. E% B. L0 d3 [# m ( k$ y4 {) C* Y$ B* ^. q# t8 t
2 t% ~7 T+ z3 D! M( \! S
修改配置文件ndocmd.cfg和ndo2db.cfg,这里我的配置文件内容为:
/ x8 R. y( Q0 H - }; \  G4 H& i/ X: J- ]( o* v' f
[root@localhost downloads]# cat /usr/local/nagios/etc/ndomod.cfg |grep ‐v '^#'|sed /^$/d1 i- g' o+ _- t: q& S9 [
instance_name=default
  n" L% m$ t- F9 O2 P  E! ioutput_type=tcpsocket+ u! F8 m/ V/ g. i0 s8 J
output=127.0.0.1
' T7 h8 N! }( o# v; j' z) r! F2 `tcp_port=5668
: ?/ R7 C) [6 x1 ~1 W4 |output_buffer_items=5000  K3 _8 I# [' e( T
buffer_file=/usr/local/nagios/var/ndomod.tmp/ a* B+ |4 _  o2 w" M, Q
file_rotation_interval=14400
: a* {7 Q4 o  J  ?" {# m. Hfile_rotation_timeout=60. y, n9 x1 a3 l1 q
reconnect_interval=15
; y" X9 c% o& s6 D, s) t4 yreconnect_warning_interval=15! l) h2 U6 s) R  E8 W! }
data_processing_options=‐19 A1 r! |; A- T# Z! E5 s! w
config_output_options=2$ `0 Z+ v/ V" p- n/ J; q* K+ f- J

: P( p6 {0 S! C( H, D' M& e
2 K/ K+ Z- d' U4 r[root@localhost downloads]# cat /usr/local/nagios/etc/ndo2db.cfg |grep ‐v '^#'|sed /^$/d' ~+ |' K# |" G2 y
ndo2db_user=nagios: O/ p8 e# f9 V+ [
ndo2db_group=nagios: u1 C! i! T" w. u5 t, a* @
socket_type=tcp
* i9 ]- N4 @5 v# M) P$ Y* fsocket_name=/usr/local/nagios/var/ndo.sock
( d! x' m% N+ s& W# b! D" B' ntcp_port=56681 N$ a9 y: J& s7 S( U6 P
db_servertype=mysql+ J& S0 }& [# f: X
db_host=127.0.0.12 |6 Q! j0 _4 J6 @, Q) E$ H8 S
db_port=3306' Q3 g: |8 O& {) [# u0 b
db_name=nagios
/ U: Y- C& y1 u- gdb_prefix=nagios_
- M: v# g6 J% O( Jdb_user=nagios
( W' c) T1 c* adb_pass=nagios
% c, W" W/ x8 t( N# q2 G/ K, a& [max_timedevents_age=14402 a9 n+ R. k# O% m$ [
max_systemcommands_age=10080+ w: o2 _" l; s; ]
max_servicechecks_age=100807 m* [' E9 R' N; e- {, _- g) \
max_hostchecks_age=10080" e3 M9 h6 @2 g8 w
max_eventhandlers_age=44640- C0 t$ y1 ^3 U! q
debug_level=1$ J9 {1 J$ p7 M+ u+ g& y
debug_verbosity=1
6 j8 z8 u0 @7 f$ Qdebug_file=/usr/local/nagios/var/ndo2db.debug% i% j5 l2 _0 h% k
max_debug_file_size=1000000: O+ V4 S: I! K! W* {# L% a/ x/ l
   #/usr/local/nagios/bin/ndo2db ‐c /usr/local/nagios/etc/ndo2db.cfg ---------启动ndo2db
2 a6 a6 X! K* B- ~: _配置完成
2 ^0 I4 H$ u* @) o- @4 ?
3 d$ S  u; {8 C0 W( O  P3 L2 C查看系统日志看是否有错误信息。
) s& D8 r6 K. q  ~& @' ?9 xtail -30 /var/log/messages
9 S' S! B* k) i0 k2 D& T  H6 o
. y9 F& }; Z. O" {$ g若有mysql_query() 不能插入的错误,即Id问题。
9 Z* M8 D% ]! R5 b) b解决问题:mysql> ALTER TABLE ‘nagios_configfilevariables’ DROP INDEX ‘instance_id’ ,5 y) [- J2 f5 i# |8 s
              -> ADD INDEX ‘instance_id’ ( ‘instance_id’ , ‘configfile_id’ );+ a8 D% e% `2 a8 v& h

( p% o: ^" V+ b4 a
 楼主| 发表于 2018-6-24 13:14:46 | 显示全部楼层
一、NDOUtils安装需求:; v6 N  T/ z( O6 I& S* \4 q
5 D$ h2 o" e, D# o( T" S0 K
nagios:安装方法:http://www.cnblogs.com/Richardzhu/p/3340638.html
# m4 e. a, ~; S' |2 q* h) D. z  Y" N3 Q( L0 C3 F
mysql:源码安装方法:http://www.cnblogs.com/Richardzhu/p/3220883.html* U2 X3 }4 N* U" a% y8 |+ o

+ V% D5 z  D' m1 Q% @/ VDBI和DBD-mysql安装方法如下:
  x0 g  Z4 l2 W# g  X* j3 ]
% Q/ V6 j4 j2 R; s' l/ b9 t, _- b! Oshell> perl -MCPAN -e shell
' i0 |* P+ o& p  q+ x5 {cpan> install DBI
1 h7 x! N* A0 [% W' g4 kcpan> install DBD::mysql
* t: c  h6 b  T& B7 w 二、关联mysql头文件和库:0 r+ m& V! _& ~3 K

+ C, B* G9 V$ _( w  B不做关联可能在config或make时出错2 c6 l2 A( C$ Y! K

: \4 y, ?! b" m# X, j5 g' sln -s /app/mysql/include/* /usr/include/
1 D% \( o" W' D" qln -s /app/mysql/lib/* /usr/lib/! n! W% S! f) p( ~: Y1 c

9 m; b% w$ o8 t' v5 Aecho '/usr/lib' >> /etc/ld.so.conf
6 S( \4 }1 N* o" ^/ l. j' aldconfig -v
$ L( ^+ R8 N  N- i三、安装nodutils:
7 M2 z0 U# w8 C1 W/ n0 o. \! ]" A3 w+ B; S# S7 K( \9 D: }4 }
tar zxvf ndoutils-1.4b7.tar.gz
: u4 j' Q2 J% ]  Pcd ndoutils-1.4b7
3 o, M0 x( Y. p* F3 H! F' J" w1 i./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/mysql7 _) O2 w1 w+ m) a
make
% O5 L$ q1 j  o' k4 z四、拷贝文件:
% ^7 Y+ Q: ?9 e4 H% s
+ F$ v3 d' S; c+ c  N. Icp ./src/ndomod-3x.o /usr/local/nagios/bin& e8 s1 E! U, i  v/ W
cp ./src/ndo2db-3x /usr/local/nagios/bin
) ?( m9 l6 m% T" ^8 k* o8 K& xcp ./src/log2ndo /usr/local/nagios/bin% l9 w- k' |& [5 t5 ]! P7 C, s
cp ./src/file2sock /usr/local/nagios/bin
( D" x  s8 k5 A( Y; Uchown nagios:nagios /usr/local/nagios/bin/*2 r# N! G& O, ?! l& l9 S
五、拷贝配置文件:
, _* w; d" j/ a6 G+ _' d% O( I, _# `3 ?+ g% \4 ]; x5 k/ c; z9 W
cp ./config/ndo* /usr/local/nagios/etc/4 {- h" T' H+ B' {+ }: `& w! @( y
chown nagios:nagios /usr/local/nagios/etc/*6 R9 ~0 D& E0 ~
六、创建ndo的mysql数据库及用户0 e5 a. {1 P" k' \+ ?4 g/ k0 o; E
, C1 H- o9 `9 p- ?5 S7 R. A
CREATE DATABASE `nagios` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;1 @, _& J3 K% r+ f) {
GRANT select,insert,update,delete ON nagios.* TO nagios@localhost identified by 'nagios';6 g! Y* `( V7 u
FLUSH PRIVILEGES ;
8 k6 g& J" {; d" Y" O- u: T9 B七、导入数据库结构( e) A* J7 X# w4 T' a1 J! t" A

. k5 E( X! {3 r* Mcd ./db/$ W( j: C7 a4 R& M7 [# B/ @
./installdb -u root -p 123456 -h localhost -d nagios
5 D) s2 B5 z% X+ p/ m4 P如果这里root没有密码的话需要进行修改。
  [) }3 H, p8 A9 F; w; F4 ?八、修改配置文件* k* P, i4 Y& P1 |, C3 f& p4 A

3 v' _& u6 e$ f* R0 ?0 B- D! A& h! B复制代码  D, {$ r1 v. b$ v
vim /usr/local/nagios/etc/ndo2db.cfg6 U  i4 K$ q( n9 j8 o) o
4 u. F8 X# h. F- s3 O5 D- C: g
db_user=nagios3 A. z0 a! J& I& B; f; V
db_pass=nagios
& m5 B- Y" q) Gsocket_type=tcp
- [9 t8 Z5 F, @* ?  d/ P- w5 b& b  b; s( i8 h1 \5 ^
vim /usr/local/nagios/etc/nagios.cfg
3 L5 X6 z  z5 w% ^& L( mbroker_module=/usr/local/nagios/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg
7 _5 ]9 b; d7 B: R4 a* P8 g% s* }/ M0 W/ c! U
vim /usr/local/nagios/etc/ndomod.cfg
& _* {1 _/ _' x0 Poutput_type=file3 A& W/ ~1 k; b; f: s9 B7 z9 k4 E0 ^
output=/usr/local/nagios/var/ndo.dat
0 I9 _5 x+ m5 v+ D6 s复制代码# i- v# ^3 f" }3 V
九、启动ndo2db& B; C$ Q: s- H) v
9 {: B3 k$ U9 l0 j  f3 ~0 m0 f
/usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg' @: X5 |1 Y* Y3 \& d- ^% e
十、重启nagios
9 v- m0 E$ M* ~. j
+ e( K. c8 |8 O5 r% w( S7 b: r /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
# p0 H3 I( o3 I2 S: Mservice nagios restart% _5 W& v! J8 \* J8 Y
十一、检查安装是否正确7 C9 C0 Y: ~( x. `4 V/ Z  C
/ F( {* U3 W- m8 y7 d: r
tail -f /usr/local/nagios/var/nagios.log
; H; D! C: o- O0 D9 o' u5 H2 L- G, y# n5 S& s6 s: s( l8 f6 H$ h
涉及的错误:
3 z/ P3 E7 s6 N8 Z
" p3 w+ M6 y- J/ q6 K启动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
. q: u0 a1 s  l. k- G解决办法是使用:mysql -uroot --password="canada" -h192.168.1.97 -e "7 V) [8 m! M, F
alter table nagios.nagios_configfilevariables drop key instance_id;
9 T% i/ K( G; ]" e/ [* }3 R8 Salter table nagios.nagios_configfilevariables add index (instance_id, configfile_id, varname); : @" W' w* }# P: g- K

/ \% j( |4 W5 N8 T需要修改表结构。 " o1 @* L6 B1 l+ w* s
alter table nagios.nagios_configfilevariables drop key instance_id; ) V5 @) G( p) ]2 S& b. _
alter table nagios.nagios_configfilevariables add index (instance_id, configfile_id, varname);
5 D9 B% B6 G- u
* N" I- P; J7 Ptcp连接Mysql /usr/local/nagios/bin/file2sock -s /usr/local/nagios/var/ndo.dat -d localhost -t tcp -p 5668/ H9 d3 `4 E! x0 I! S
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

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

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

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

GMT+8, 2026-4-8 23:58 , Processed in 0.057760 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

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