Update of /cvsroot/perfparse/_perfparse-phpgui
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9937
Modified Files:
perfparse.php utils.php
Log Message:
make sync to nagios config working again after db schema change
Index: utils.php
===================================================================
RCS file: /cvsroot/perfparse/_perfparse-phpgui/utils.php,v
retrieving revision 1.44
retrieving revision 1.45
diff -C2 -d -r1.44 -r1.45
*** utils.php 28 Sep 2007 21:53:16 -0000 1.44
--- utils.php 10 Nov 2007 21:03:32 -0000 1.45
***************
*** 134,137 ****
--- 134,143 ----
}
+ function get_id_from_hostname(&$db,$host) {
+ $query='SELECT host_id FROM perfdata_host WHERE host_name=?';
+ $ret=$db->GetOne($query,array($host));
+ return($ret);
+ }
+
function have_host(&$db,$host) {
***************
*** 489,492 ****
--- 495,505 ----
}
+ function get_id_from_groupname(&$db,$group_name) {
+ $query='SELECT group_id from perfdata_groups WHERE group_name=?';
+ $ret=$db->GetOne($query,array($group_name));
+ return($ret);
+ }
+
+
function add_group(&$db,$group_name) {
$query='insert into perfdata_groups (group_name) values (?)';
***************
*** 510,513 ****
--- 523,531 ----
}
+ function add_host_to_group(&$db,$group,$host) {
+ $hid=get_id_from_hostname($db,$host);
+ $gid=get_id_from_groupname($db,$group);
+ return(add_hostid_to_groupid($db,$gid,$hid));
+ }
function remove_hostid_from_groupid(&$db,$group_id,$host_id) {
***************
*** 830,851 ****
function sync_nagios_hostgroups(&$db,&$nagiosconfig) {
- // delete all hostgroups
- $query='update perfdata_host set group_name=NULL';
- if(!$db->Execute($query)) {
- echo "Error: ".$db->ErrorMsg();
- }
- $query='delete from perfdata_host_group';
- if(!$db->Execute($query)) {
- echo "Error: ".$db->ErrorMsg();
- }
// insert nagios config
! $query_gr='insert into perfdata_host_group(group_name) values (?)';
! $query_ho='update perfdata_host set group_name=? where host_name=?';
foreach($nagiosconfig->hostgroups as $key=>$group) {
! $db->Execute($query_gr,array($group['hostgroup_name']));
foreach($group['members'] as $member) {
! $db->Execute($query_ho,array($group['hostgroup_name'],$member));
}
}
}
--- 848,864 ----
function sync_nagios_hostgroups(&$db,&$nagiosconfig) {
// insert nagios config
! $ret='';
foreach($nagiosconfig->hostgroups as $key=>$group) {
! if(add_group($db,$group['hostgroup_name'])) {
! $ret.="Group ".$group['hostgroup_name']." added.<br />";
! }
foreach($group['members'] as $member) {
! if(add_host_to_group($db,$group['hostgroup_name'],$member)) {
! $ret.="Host ".$member." added to group ".$group['hostgroup_name'].".<br />";
! }
}
}
+ return($ret);
}
Index: perfparse.php
===================================================================
RCS file: /cvsroot/perfparse/_perfparse-phpgui/perfparse.php,v
retrieving revision 1.57
retrieving revision 1.58
diff -C2 -d -r1.57 -r1.58
*** perfparse.php 28 Sep 2007 21:53:16 -0000 1.57
--- perfparse.php 10 Nov 2007 21:03:32 -0000 1.58
***************
*** 687,695 ****
$nagiosconfig=new Nagios();
// read configuration
! $nagiosconfig->ParseConfigFile('../etc/nagios.cfg');
! //echo "<pre>"; print_r($nagiosconfig); echo "</pre>";
// echo "<pre>"; print_r($nagiosconfig->hostgroups); echo "</pre>";
! sync_nagios_hostgroups($db,$nagiosconfig);
$hgcount=get_groups_hostcount($db);
$smarty->assign_by_ref('hgcount',$hgcount);
--- 687,697 ----
$nagiosconfig=new Nagios();
// read configuration
! // todo: make path configurable
! $nagiosconfig->ParseConfigFile('../../etc/nagios.cfg');
! // echo "<pre>"; print_r($nagiosconfig); echo "</pre>";
// echo "<pre>"; print_r($nagiosconfig->hostgroups); echo "</pre>";
! $msgs=sync_nagios_hostgroups($db,$nagiosconfig);
! $smarty->assign_by_ref('msgs',$msgs);
$hgcount=get_groups_hostcount($db);
$smarty->assign_by_ref('hgcount',$hgcount);
|