您的位置:首页 > 数据库 > MySQL

读取nagios数据库至MySQL

2016-02-22 17:15 453 查看
读取NAGIOS数据库至MYSQL

1.DBI的安装
wget http://www.cpan.org/modules/by-module/DBI/DBI-1.625.tar.gz tar xf DBI-1.625.tar.gz
cd DBI-1.625
yum -y install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker
perl Makefile.PL
make
make install

2.DBD的安装
wget http://www.cpan.org/modules/by-module/DBD/DBD-mysql-4.023.tar.gz tar xf DBD-mysql-4.023.tar.gz
cd DBD-mysql-4.023
yum -y install mysql mysql-server mysql-devel
/etc/init.d/mysqld start
perl Makefile.PL --testhost=127.0.0.1 --testuser=root --testpassword=123456
make
make install

3.编译安装NDOUtils
wget http://jaist.dl.sourceforge.net/project/nagios/ndoutils-2.x/ndoutils-2.0.0/ndoutils-2.0.0.tar.gz tar xf ndoutils-2.0.0.tar.gz
cd ndoutils-2.0.0
./configure --enable-mysql --disable-pgsql --with-mysql-lib=/usr/lib64/mysql/
make

4.为NDOUtils创建数据库
建立Nagios数据库
Mysql 连接数据库
Create database nagios; 创建Nagios数据库
Grant all on nagios.* to nagios@localhost identified by “nagios”; 授权nagios用户,密码为 Nagios

初始化数据库
cd ndoutils-2.0.0
cd db
mysqladmin -u root password 123456
./installdb -u root -p 123456 -d nagios

5.安装nagios,此处是使用yum安装的。

cp config/ndo2db.cfg-sample /etc/nagios/ndo2db.cfg
cp config/ndomod.cfg-sample /etc/nagios/ndomod.cfg

cp ./src/ndomod-3x.o /usr/sbin/
cp ./src/ndo2db-3x /usr/sbin/
cp ./src/ndo2db‐3x /usr/sbin/ndo2db
cp ./src/log2ndo /usr/sbin/
cp ./src/file2sock /usr/sbin/

chown nagios. /etc/nagios/ -R
chmod 774 /usr/sbin/ndo*
chown nagios. /usr/sbin/ndo*

修改nagios主配置文件
#vim /etc/nagios/nagios.cfg 添加以下内容
check_external_commands=1
command_check_interval=‐1
event_broker_options=‐1
process_performance_data=1
broker_module=/usr/sbin/ndomod-3x.o config_file=/etc/nagios/ndomod.cfg

[root@192 ~]# grep -v ^# /etc/nagios/ndomod.cfg | sed /^$/d
instance_name=default
output_type=tcpsocket
output=127.0.0.1
tcp_port=5668
use_ssl=0
output_buffer_items=5000
buffer_file=/usr/local/nagios/var/ndomod.tmp
file_rotation_interval=14400
file_rotation_timeout=60
reconnect_interval=15
reconnect_warning_interval=15
acknowledgement_data=1
adaptive_contact_data=1
adaptive_host_data=1
adaptive_program_data=1
adaptive_service_data=1
aggregated_status_data=1
comment_data=1
contact_status_data=1
downtime_data=1
event_handler_data=1
external_command_data=1
flapping_data=1
host_check_data=1
host_status_data=1
log_data=1
main_config_data=1
notification_data=1
object_config_data=1
process_data=1
program_status_data=1
retention_data=1
service_check_data=1
service_status_data=1
statechange_data=1
system_command_data=1
timed_event_data=1
config_output_options=2
[root@192 ~]#

[root@192 ~]# grep -v ^# /etc/nagios/ndo2db.cfg | sed /^$/d
lock_file=/usr/local/nagios/var/ndo2db.lock
ndo2db_user=nagios
ndo2db_group=nagios
socket_type=tcp
socket_name=/usr/local/nagios/var/ndo.sock
tcp_port=5668
use_ssl=0
db_servertype=mysql
db_host=localhost
db_port=3306
db_name=nagios
db_prefix=nagios_
db_user=nagios
db_pass=nagios
max_timedevents_age=1440
max_systemcommands_age=10080
max_servicechecks_age=10080
max_hostchecks_age=10080
max_eventhandlers_age=44640
max_externalcommands_age=44640
max_notifications_age=44640
max_contactnotifications=44640
max_contactnotificationmethods=44640
max_logentries_age=129600
max_acknowledgements_age=44640
debug_level=0
debug_verbosity=1
debug_file=/usr/local/nagios/var/ndo2db.debug
max_debug_file_size=1000000
[root@192 ~]#

mkdir /usr/local/nagios/var/ -p
chown nagios /usr/local/nagios/var/
/usr/sbin/ndo2db -c /etc/nagios/ndo2db.cfg
或者
/usr/sbin/ndo2db-3x -c /etc/nagios/ndo2db.cfg

/etc/init.d/nagios restart
tail -f /var/log/messages
tail -f /var/log/nagios/nagios.log

若有mysql_query() 不能插入的错误,即Id问题。
解决问题:mysql> ALTER TABLE ‘nagios_configfilevariables’ DROP INDEX ‘instance_id’ ,
-> ADD INDEX ‘instance_id’ ( ‘instance_id’ , ‘configfile_id’ );
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息