读取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/ ... outils-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
[iyunv@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
[iyunv@192 ~]#
[iyunv@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
[iyunv@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’ );
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com