Ejemplo n.º 1
0
function delete_node($nodeid)
{
    $result = false;
    $node = DBfetch(DBselect('SELECT n.nodeid,n.masterid FROM nodes n WHERE n.nodeid=' . zbx_dbstr($nodeid)));
    $nodetype = detect_node_type($node['nodeid'], $node['masterid']);
    if ($nodetype == ZBX_NODE_LOCAL) {
        error(_('Unable to remove local node.'));
    } else {
        $result = DBexecute('UPDATE nodes SET masterid=NULL WHERE masterid=' . zbx_dbstr($nodeid)) && DBexecute('DELETE FROM nodes WHERE nodeid=' . zbx_dbstr($nodeid));
        if ($nodetype != ZBX_NODE_MASTER) {
            error(_('Please be aware that database still contains data related to the deleted node.'));
        }
    }
    return $result;
}
Ejemplo n.º 2
0
else if ($action != "last") debug_log("$action");*/
srand(make_seed());
// BFL - Big F*****g Lock
if (!in_array($action, $skip_bfl)) {
    bfl_lock();
}
$users = array();
read_files();
// Second param is always username
if ($argc > 2) {
    $username = trim($argv[2]);
    $username = preg_replace("/\\s/", "", $username);
    // No whitespace in username
    $userdata = setup_paths($username);
}
detect_node_type();
// ACTIONS
switch ($action) {
    // Login or create user
    case "login":
        $password = $argv[3];
        if (array_key_exists($username, $users)) {
            if ($users[$username]["status"] == "active") {
                debug_log("already logged in {$username}");
                print $users[$username]["port"];
                // Already logged in, print port
            } else {
                if ($users[$username]["status"] == "inactive") {
                    activate_user($username, $password);
                }
            }
Ejemplo n.º 3
0
function insert_node_form()
{
    global $ZBX_CURMASTERID;
    $frm_title = S_NODE;
    if (isset($_REQUEST['nodeid'])) {
        $node_data = get_node_by_nodeid($_REQUEST['nodeid']);
        $node_type = detect_node_type($node_data);
        $masterid = $node_data['masterid'];
        $frm_title = S_NODE . ' "' . $node_data['name'] . '"';
    }
    $frmNode = new CFormTable($frm_title);
    $frmNode->SetHelp("node.php");
    if (isset($_REQUEST['nodeid'])) {
        $frmNode->addVar('nodeid', $_REQUEST['nodeid']);
    }
    if (isset($_REQUEST['nodeid']) && (!isset($_REQUEST["form_refresh"]) || isset($_REQUEST["register"]))) {
        $new_nodeid = $node_data['nodeid'];
        $name = $node_data['name'];
        $timezone = $node_data['timezone'];
        $ip = $node_data['ip'];
        $port = $node_data['port'];
        $slave_history = $node_data['slave_history'];
        $slave_trends = $node_data['slave_trends'];
    } else {
        $new_nodeid = get_request('new_nodeid', 0);
        $name = get_request('name', '');
        $timezone = get_request('timezone', 0);
        $ip = get_request('ip', '127.0.0.1');
        $port = get_request('port', 10051);
        $slave_history = get_request('slave_history', 90);
        $slave_trends = get_request('slave_trends', 365);
        $node_type = get_request('node_type', ZBX_NODE_REMOTE);
        $masterid = get_request('masterid', get_current_nodeid(false));
    }
    $master_node = DBfetch(DBselect('SELECT name FROM nodes WHERE nodeid=' . $masterid));
    $frmNode->addRow(S_NAME, new CTextBox('name', $name, 40));
    $frmNode->addRow(S_ID, new CNumericBox('new_nodeid', $new_nodeid, 10));
    if (!isset($_REQUEST['nodeid'])) {
        $cmbNodeType = new CComboBox('node_type', $node_type, 'submit()');
        $cmbNodeType->addItem(ZBX_NODE_REMOTE, S_REMOTE);
        if ($ZBX_CURMASTERID == 0) {
            $cmbNodeType->addItem(ZBX_NODE_MASTER, S_MASTER);
        }
    } else {
        $cmbNodeType = new CTextBox('node_type_name', node_type2str($node_type), null, 'yes');
    }
    $frmNode->addRow(S_TYPE, $cmbNodeType);
    if ($node_type == ZBX_NODE_REMOTE) {
        $frmNode->addRow(S_MASTER_NODE, new CTextBox('master_name', $master_node['name'], 40, 'yes'));
    }
    $cmbTimeZone = new CComboBox('timezone', $timezone);
    for ($i = -12; $i <= 13; $i++) {
        $cmbTimeZone->addItem($i, "GMT" . sprintf("%+03d:00", $i));
    }
    $frmNode->addRow(S_TIME_ZONE, $cmbTimeZone);
    $frmNode->addRow(S_IP, new CTextBox('ip', $ip, 15));
    $frmNode->addRow(S_PORT, new CNumericBox('port', $port, 5));
    $frmNode->addRow(S_DO_NOT_KEEP_HISTORY_OLDER_THAN, new CNumericBox('slave_history', $slave_history, 6));
    $frmNode->addRow(S_DO_NOT_KEEP_TRENDS_OLDER_THAN, new CNumericBox('slave_trends', $slave_trends, 6));
    $frmNode->addItemToBottomRow(new CButton('save', S_SAVE));
    if (isset($_REQUEST['nodeid']) && $node_type != ZBX_NODE_LOCAL) {
        $frmNode->addItemToBottomRow(SPACE);
        $frmNode->addItemToBottomRow(new CButtonDelete("Delete selected node?", url_param("form") . url_param("nodeid")));
    }
    $frmNode->addItemToBottomRow(SPACE);
    $frmNode->addItemToBottomRow(new CButtonCancel(url_param("config")));
    $frmNode->Show();
}
Ejemplo n.º 4
0
function delete_node($nodeid)
{
    $result = false;
    $node_data = DBfetch(DBselect('select * from nodes where nodeid=' . $nodeid));
    $node_type = detect_node_type($node_data);
    if ($node_type == ZBX_NODE_LOCAL) {
        error(S_UNABLE_TO_REMOVE_LOCAL_NODE);
    } else {
        // $housekeeperid = get_dbid('housekeeper','housekeeperid');
        $result = DBexecute('delete from nodes where nodeid=' . $nodeid) && DBexecute('update nodes set masterid=0 where masterid=' . $nodeid);
        error(S_DATABASE_STILL_CONTAINS_DATA_RELATED_DELETED_NODE);
    }
    return $result;
}
Ejemplo n.º 5
0
function delete_node($nodeid)
{
    $result = false;
    $node_data = DBfetch(DBselect('select * from nodes where nodeid=' . $nodeid));
    $node_type = detect_node_type($node_data);
    if ($node_type == ZBX_NODE_LOCAL) {
        error('Unable to remove local node');
    } else {
        $housekeeperid = get_dbid('housekeeper', 'housekeeperid');
        $result = DBexecute("insert into housekeeper (housekeeperid,tablename,field,value)" . " values ({$housekeeperid},'nodes','nodeid',{$nodeid})") && DBexecute('delete from nodes where nodeid=' . $nodeid) && DBexecute('update nodes set masterid=0 where masterid=' . $nodeid);
        error('Please be aware that database still contains data related to the deleted Node');
    }
    return $result;
}
Ejemplo n.º 6
0
 $has_master = !$master_node ? true : false;
 $frmNode = new CFormTable($frm_title);
 $frmNode->setHelp('node.php');
 if (isset($_REQUEST['nodeid'])) {
     $frmNode->addVar('nodeid', $_REQUEST['nodeid']);
 }
 if (isset($_REQUEST['nodeid']) && !isset($_REQUEST['form_refresh'])) {
     $new_nodeid = $node_data['nodeid'];
     $name = $node_data['name'];
     $timezone = $node_data['timezone'];
     $ip = $node_data['ip'];
     $port = $node_data['port'];
     $slave_history = $node_data['slave_history'];
     $slave_trends = $node_data['slave_trends'];
     $masterid = $node_data['masterid'];
     $node_type = detect_node_type($node_data);
 } else {
     $new_nodeid = get_request('new_nodeid', 0);
     $name = get_request('name', '');
     $timezone = get_request('timezone', 0);
     $ip = get_request('ip', '127.0.0.1');
     $port = get_request('port', 10051);
     $slave_history = get_request('slave_history', 90);
     $slave_trends = get_request('slave_trends', 365);
     $node_type = get_request('node_type', ZBX_NODE_CHILD);
     $masterid = get_request('masterid', get_current_nodeid(false));
 }
 $frmNode->addRow(S_NAME, new CTextBox('name', $name, 40));
 $frmNode->addRow(S_ID, new CNumericBox('new_nodeid', $new_nodeid, 10));
 if (isset($_REQUEST['nodeid'])) {
     $cmbNodeType = new CTextBox('node_type_name', node_type2str($node_type), null, 'yes');
Ejemplo n.º 7
0
    $cmbTimeZone = new CComboBox('timezone', $timezone);
    for ($i = -12; $i <= 13; $i++) {
        $cmbTimeZone->addItem($i, 'GMT' . sprintf('%+03d:00', $i));
    }
    $frmNode->addRow(S_TIME_ZONE, $cmbTimeZone);
    $frmNode->addRow(S_IP, new CTextBox('ip', $ip, 15));
    $frmNode->addRow(S_PORT, new CNumericBox('port', $port, 5));
    $frmNode->addRow(S_DO_NOT_KEEP_HISTORY_OLDER_THAN, new CNumericBox('slave_history', $slave_history, 6));
    $frmNode->addRow(S_DO_NOT_KEEP_TRENDS_OLDER_THAN, new CNumericBox('slave_trends', $slave_trends, 6));
    $frmNode->addItemToBottomRow(new CButton('save', S_SAVE));
    if (isset($_REQUEST['nodeid']) && $node_type != ZBX_NODE_LOCAL) {
        $frmNode->addItemToBottomRow(SPACE);
        $frmNode->addItemToBottomRow(new CButtonDelete('Delete selected node?', url_param('form') . url_param('nodeid')));
    }
    $frmNode->addItemToBottomRow(SPACE);
    $frmNode->addItemToBottomRow(new CButtonCancel(url_param('config')));
    $frmNode->Show();
} else {
    show_table_header(S_NODES_BIG);
    $table = new CTableInfo(S_NO_NODES_DEFINED);
    $table->SetHeader(array(make_sorting_link(S_ID, 'n.nodeid'), make_sorting_link(S_NAME, 'n.name'), make_sorting_link(S_TYPE, 'n.nodetype'), make_sorting_link(S_TIME_ZONE, 'n.timezone'), make_sorting_link(S_IP . ':' . S_PORT, 'n.ip')));
    $sql = 'SELECT n.* ' . ' FROM nodes n' . ' WHERE ' . DBcondition('n.nodeid', $available_nodes) . order_by('n.nodeid,n.name,n.nodetype,n.timezone,n.ip', 'n.masterid');
    $db_nodes = DBselect($sql);
    while ($row = DBfetch($db_nodes)) {
        $node_type = detect_node_type($row);
        $node_type_name = node_type2str($node_type);
        $table->AddRow(array($row['nodeid'], array(get_node_path($row['masterid']), new CLink($row['nodetype'] ? new CSpan($row['name'], 'bold') : $row['name'], '?&form=update&nodeid=' . $row['nodeid'], 'action')), $node_type == ZBX_NODE_LOCAL ? new CSpan($node_type_name, 'bold') : $node_type_name, new CSpan('GMT' . sprintf('%+03d:00', $row['timezone']), $row['nodetype'] ? 'bold' : null), new CSpan($row['ip'] . ':' . $row['port'], $row['nodetype'] ? 'bold' : null)));
    }
    $table->Show();
}
include_once 'include/page_footer.php';