예제 #1
0
function plugin_syslog_install()
{
    global $config, $syslog_upgrade;
    static $bg_inprocess = false;
    include dirname(__FILE__) . "/config.php";
    syslog_connect();
    $syslog_exists = sizeof(syslog_db_fetch_row("SHOW TABLES FROM `" . $syslogdb_default . "` LIKE 'syslog'"));
    $db_version = syslog_get_mysql_version("syslog");
    /* ================= input validation ================= */
    input_validate_input_number(get_request_var("days"));
    /* ==================================================== */
    api_plugin_register_hook('syslog', 'config_arrays', 'syslog_config_arrays', 'setup.php');
    api_plugin_register_hook('syslog', 'draw_navigation_text', 'syslog_draw_navigation_text', 'setup.php');
    api_plugin_register_hook('syslog', 'config_settings', 'syslog_config_settings', 'setup.php');
    api_plugin_register_hook('syslog', 'top_header_tabs', 'syslog_show_tab', 'setup.php');
    api_plugin_register_hook('syslog', 'top_graph_header_tabs', 'syslog_show_tab', 'setup.php');
    api_plugin_register_hook('syslog', 'top_graph_refresh', 'syslog_top_graph_refresh', 'setup.php');
    api_plugin_register_hook('syslog', 'poller_bottom', 'syslog_poller_bottom', 'setup.php');
    api_plugin_register_hook('syslog', 'graph_buttons', 'syslog_graph_buttons', 'setup.php');
    api_plugin_register_hook('syslog', 'config_insert', 'syslog_config_insert', 'setup.php');
    api_plugin_register_realm('syslog', 'syslog.php', 'Plugin -> Syslog User', 1);
    api_plugin_register_realm('syslog', 'syslog_alerts.php,syslog_removal.php,syslog_reports.php', 'Plugin -> Syslog Administration', 1);
    //print "<pre>";print_r($_GET);print "</pre>";
    if (isset($_GET["install"]) || isset($_GET["return"]) || isset($_GET["cancel"])) {
        if (!$bg_inprocess) {
            syslog_execute_update($syslog_exists, $_GET);
            $bg_inprocess = true;
        }
    } else {
        syslog_install_advisor($syslog_exists, $db_version);
        exit;
    }
}
예제 #2
0
function plugin_syslog_install()
{
    global $config, $syslog_upgrade;
    static $bg_inprocess = false;
    include dirname(__FILE__) . '/config.php';
    syslog_connect();
    $syslog_exists = sizeof(syslog_db_fetch_row('SHOW TABLES FROM `' . $syslogdb_default . "` LIKE 'syslog'"));
    $db_version = syslog_get_mysql_version('syslog');
    /* ================= input validation ================= */
    get_filter_request_var('days');
    /* ==================================================== */
    api_plugin_register_hook('syslog', 'config_arrays', 'syslog_config_arrays', 'setup.php');
    api_plugin_register_hook('syslog', 'draw_navigation_text', 'syslog_draw_navigation_text', 'setup.php');
    api_plugin_register_hook('syslog', 'config_settings', 'syslog_config_settings', 'setup.php');
    api_plugin_register_hook('syslog', 'top_header_tabs', 'syslog_show_tab', 'setup.php');
    api_plugin_register_hook('syslog', 'top_graph_header_tabs', 'syslog_show_tab', 'setup.php');
    api_plugin_register_hook('syslog', 'top_graph_refresh', 'syslog_top_graph_refresh', 'setup.php');
    api_plugin_register_hook('syslog', 'poller_bottom', 'syslog_poller_bottom', 'setup.php');
    api_plugin_register_hook('syslog', 'graph_buttons', 'syslog_graph_buttons', 'setup.php');
    api_plugin_register_hook('syslog', 'config_insert', 'syslog_config_insert', 'setup.php');
    api_plugin_register_hook('syslog', 'utilities_list', 'syslog_utilities_list', 'setup.php');
    api_plugin_register_hook('syslog', 'utilities_action', 'syslog_utilities_action', 'setup.php');
    api_plugin_register_realm('syslog', 'syslog.php', 'Plugin -> Syslog User', 1);
    api_plugin_register_realm('syslog', 'syslog_alerts.php,syslog_removal.php,syslog_reports.php', 'Plugin -> Syslog Administration', 1);
    if (isset_request_var('install') || isset_request_var('return') || isset_request_var('cancel')) {
        if (!$bg_inprocess) {
            syslog_execute_update($syslog_exists, $_REQUEST);
            $bg_inprocess = true;
        }
    } else {
        syslog_install_advisor($syslog_exists, $db_version);
        exit;
    }
}
예제 #3
0
function plugin_maint_install()
{
    api_plugin_register_hook('maint', 'config_arrays', 'maint_config_arrays', 'setup.php');
    api_plugin_register_hook('maint', 'draw_navigation_text', 'maint_draw_navigation_text', 'setup.php');
    api_plugin_register_realm('maint', 'maint.php', 'Maintenance Schedules', 1);
    maint_setup_database();
}
예제 #4
0
function plugin_rrdclean_install()
{
    api_plugin_register_hook('rrdclean', 'config_arrays', 'rrdclean_config_arrays', 'setup.php');
    api_plugin_register_hook('rrdclean', 'draw_navigation_text', 'rrdclean_draw_navigation_text', 'setup.php');
    api_plugin_register_hook('rrdclean', 'config_settings', 'rrdclean_config_settings', 'setup.php');
    api_plugin_register_hook('rrdclean', 'poller_bottom', 'rrdclean_poller_bottom', 'setup.php');
    rrdclean_setup_table_new();
}
예제 #5
0
function plugin_realtime_install() {
	api_plugin_register_hook('realtime', 'config_arrays',            'realtime_config_arrays',   "setup.php");
	api_plugin_register_hook('realtime', 'config_settings',          'realtime_config_settings', "setup.php");
	api_plugin_register_hook('realtime', 'graph_buttons',            'realtime_graph_buttons',   "setup.php");
	api_plugin_register_hook('realtime', 'graph_buttons_thumbnails', 'realtime_graph_buttons',   "setup.php");

	api_plugin_register_realm('realtime', 'graph_image_rt.php,graph_popup_rt.php,graph_ajax_rt.php', 'Plugin -> Realtime', 1);

	realtime_setup_table_new ();
}
예제 #6
0
function plugin_iper_install()
{
    api_plugin_register_hook('iper', 'top_header_tabs', 'plugin_iper_show_tab', 'includes/tab.php');
    api_plugin_register_hook('iper', 'top_graph_header_tabs', 'plugin_iper_show_tab', 'includes/tab.php');
    api_plugin_register_hook('iper', 'config_arrays', 'iper_config_arrays', 'setup.php');
    api_plugin_register_hook('iper', 'config_settings', 'iper_config_settings', 'setup.php');
    api_plugin_register_hook('iper', 'draw_navigation_text', 'iper_draw_navigation_text', 'setup.php');
    api_plugin_register_hook('iper', 'poller_bottom', 'iper_poller_bottom', 'setup.php');
    api_plugin_register_hook('iper', 'page_title', 'iper_page_title', 'setup.php');
    api_plugin_register_realm('iper', 'iper_index.php,iper_db.php', 'Plugin -> iper: View', 1);
    api_plugin_register_realm('iper', 'iper_db_admin.php', 'Plugin -> iper: Manage', 1);
    iper_setup_table();
}
예제 #7
0
function plugin_cycle_install()
{
    api_plugin_register_hook('cycle', 'top_header_tabs', 'cycle_show_tab', 'setup.php');
    api_plugin_register_hook('cycle', 'top_graph_header_tabs', 'cycle_show_tab', 'setup.php');
    api_plugin_register_hook('cycle', 'config_arrays', 'cycle_config_arrays', 'setup.php');
    api_plugin_register_hook('cycle', 'draw_navigation_text', 'cycle_draw_navigation_text', 'setup.php');
    api_plugin_register_hook('cycle', 'config_form', 'cycle_config_form', 'setup.php');
    api_plugin_register_hook('cycle', 'config_settings', 'cycle_config_settings', 'setup.php');
    api_plugin_register_hook('cycle', 'api_graph_save', 'cycle_api_graph_save', 'setup.php');
    api_plugin_register_hook('cycle', 'page_head', 'cycle_page_head', 'setup.php');
    api_plugin_register_realm('cycle', 'cycle.php,cycle_ajax.php', __('Plugin -> Cycle Graphs'), 1);
    cycle_setup_table_new();
}
예제 #8
0
파일: setup.php 프로젝트: teddywen/cacti
function plugin_monitor_install()
{
    api_plugin_register_hook('monitor', 'top_header_tabs', 'monitor_show_tab', 'setup.php');
    api_plugin_register_hook('monitor', 'top_graph_header_tabs', 'monitor_show_tab', 'setup.php');
    api_plugin_register_hook('monitor', 'draw_navigation_text', 'monitor_draw_navigation_text', 'setup.php');
    api_plugin_register_hook('monitor', 'config_form', 'monitor_config_form', 'setup.php');
    api_plugin_register_hook('monitor', 'api_device_save', 'monitor_api_device_save', 'setup.php');
    api_plugin_register_hook('monitor', 'top_graph_refresh', 'monitor_top_graph_refresh', 'setup.php');
    api_plugin_register_hook('monitor', 'config_settings', 'monitor_config_settings', 'setup.php');
    api_plugin_register_hook('monitor', 'device_action_array', 'monitor_device_action_array', 'setup.php');
    api_plugin_register_hook('monitor', 'device_action_execute', 'monitor_device_action_execute', 'setup.php');
    api_plugin_register_hook('monitor', 'device_action_prepare', 'monitor_device_action_prepare', 'setup.php');
    api_plugin_register_realm('monitor', 'monitor.php', 'View Monitoring', 1);
}
예제 #9
0
function plugin_mikrotik_install()
{
    # graph setup all arrays needed for automation
    api_plugin_register_hook('mikrotik', 'config_arrays', 'mikrotik_config_arrays', 'setup.php');
    api_plugin_register_hook('mikrotik', 'config_form', 'mikrotik_config_form', 'setup.php');
    api_plugin_register_hook('mikrotik', 'config_settings', 'mikrotik_config_settings', 'setup.php');
    api_plugin_register_hook('mikrotik', 'draw_navigation_text', 'mikrotik_draw_navigation_text', 'setup.php');
    api_plugin_register_hook('mikrotik', 'poller_bottom', 'mikrotik_poller_bottom', 'setup.php');
    api_plugin_register_hook('mikrotik', 'top_header_tabs', 'mikrotik_show_tab', 'setup.php');
    api_plugin_register_hook('mikrotik', 'top_graph_header_tabs', 'mikrotik_show_tab', 'setup.php');
    api_plugin_register_realm('mikrotik', 'mikrotik.php', 'Plugin -> MikroTik Viewer', 1);
    api_plugin_register_realm('mikrotik', 'mikrotik_users.php', 'Plugin -> MikroTik Admin', 1);
    mikrotik_setup_table();
}
예제 #10
0
function plugin_flowview_install()
{
    api_plugin_register_hook('flowview', 'config_arrays', 'flowview_config_arrays', 'setup.php');
    api_plugin_register_hook('flowview', 'draw_navigation_text', 'flowview_draw_navigation_text', 'setup.php');
    api_plugin_register_hook('flowview', 'config_settings', 'flowview_config_settings', 'setup.php');
    api_plugin_register_hook('flowview', 'poller_bottom', 'flowview_poller_bottom', 'setup.php');
    api_plugin_register_hook('flowview', 'top_header_tabs', 'flowview_show_tab', 'setup.php');
    api_plugin_register_hook('flowview', 'top_graph_header_tabs', 'flowview_show_tab', 'setup.php');
    api_plugin_register_hook('flowview', 'page_head', 'flowview_page_head', 'setup.php');
    api_plugin_register_hook('flowview', 'page_bottom', 'flowview_page_bottom', 'setup.php');
    api_plugin_register_realm('flowview', 'flowview.php', 'Plugin -> Flow Viewer', 1);
    api_plugin_register_realm('flowview', 'flowview_devices.php,flowview_schedules.php', 'Plugin -> Flow Admin', 1);
    flowview_setup_table();
}
예제 #11
0
function plugin_nmidSmokeping_install()
{
	api_plugin_register_hook( 'nmidSmokeping', 'config_settings', 'nmidSmokeping_config_settings', 'setup.php' );
	api_plugin_register_hook( 'nmidSmokeping', 'console_after', 'nmidSmokeping_console_after', 'setup.php' );
	api_plugin_register_hook( 'nmidSmokeping', 'tree_after', 'nmidSmokeping_tree_after', 'setup.php' );
	api_plugin_register_hook( 'nmidSmokeping', 'nmid_plugin_value', 'nmidSmokeping_value', 'setup.php' );
	api_plugin_register_hook( 'nmidSmokeping', 'nmid_plugin_header', 'nmidSmokeping_header', 'setup.php' );
	api_plugin_register_hook( 'nmidSmokeping', 'nmid_plugin_save', 'nmidSmokeping_save', 'setup.php' );
	api_plugin_register_hook( 'nmidSmokeping', 'nmid_plugin_configCreate', 'nmidSmokeping_configCreate', 'setup.php' );
	api_plugin_register_hook( 'nmidSmokeping', 'device_action_array', 'plugin_nmidSmokeping_device_action_array', 'setup.php' );
	api_plugin_register_hook( 'nmidSmokeping', 'device_action_prepare', 'plugin_nmidSmokeping_device_action_prepare', 'setup.php' );
	api_plugin_register_hook( 'nmidSmokeping', 'device_action_execute', 'plugin_nmidSmokeping_device_action_execute', 'setup.php' );
	api_plugin_register_realm( 'nmidSmokeping', 'getSmokePingImage.php', 'NMID - View Smokeping Charts', 1200 );
	nmidSmokeping_setup_table_new();
}
예제 #12
0
function plugin_weathermap_install()
{
    api_plugin_register_hook('weathermap', 'config_arrays', 'weathermap_config_arrays', 'setup.php');
    api_plugin_register_hook('weathermap', 'config_settings', 'weathermap_config_settings', 'setup.php');
    api_plugin_register_hook('weathermap', 'top_header_tabs', 'weathermap_show_tab', 'setup.php');
    api_plugin_register_hook('weathermap', 'top_graph_header_tabs', 'weathermap_show_tab', 'setup.php');
    api_plugin_register_hook('weathermap', 'draw_navigation_text', 'weathermap_draw_navigation_text', 'setup.php');
    api_plugin_register_hook('weathermap', 'top_graph_refresh', 'weathermap_top_graph_refresh', 'setup.php');
    api_plugin_register_hook('weathermap', 'page_title', 'weathermap_page_title', 'setup.php');
    api_plugin_register_hook('weathermap', 'page_head', 'weathermap_page_head', 'setup.php');
    api_plugin_register_hook('weathermap', 'poller_top', 'weathermap_poller_top', 'setup.php');
    api_plugin_register_hook('weathermap', 'poller_output', 'weathermap_poller_output', 'setup.php');
    api_plugin_register_hook('weathermap', 'poller_bottom', 'weathermap_poller_bottom', 'setup.php');
    weathermap_setup_table();
}
예제 #13
0
function plugin_thold_install()
{
    global $config;
    if (version_compare($config['cacti_version'], '1.0.0') < 0) {
        return false;
    }
    api_plugin_register_hook('thold', 'page_head', 'thold_page_head', 'setup.php');
    api_plugin_register_hook('thold', 'top_header_tabs', 'thold_show_tab', 'includes/tab.php');
    api_plugin_register_hook('thold', 'top_graph_header_tabs', 'thold_show_tab', 'includes/tab.php');
    api_plugin_register_hook('thold', 'config_insert', 'thold_config_insert', 'includes/settings.php');
    api_plugin_register_hook('thold', 'config_arrays', 'thold_config_arrays', 'includes/settings.php');
    api_plugin_register_hook('thold', 'config_form', 'thold_config_form', 'includes/settings.php');
    api_plugin_register_hook('thold', 'config_settings', 'thold_config_settings', 'includes/settings.php');
    api_plugin_register_hook('thold', 'draw_navigation_text', 'thold_draw_navigation_text', 'includes/settings.php');
    api_plugin_register_hook('thold', 'data_sources_table', 'thold_data_sources_table', 'setup.php');
    api_plugin_register_hook('thold', 'graphs_new_top_links', 'thold_graphs_new', 'setup.php');
    api_plugin_register_hook('thold', 'api_device_save', 'thold_api_device_save', 'setup.php');
    api_plugin_register_hook('thold', 'update_host_status', 'thold_update_host_status', 'includes/polling.php');
    api_plugin_register_hook('thold', 'poller_output', 'thold_poller_output', 'includes/polling.php');
    api_plugin_register_hook('thold', 'device_action_array', 'thold_device_action_array', 'setup.php');
    api_plugin_register_hook('thold', 'device_action_execute', 'thold_device_action_execute', 'setup.php');
    api_plugin_register_hook('thold', 'device_action_prepare', 'thold_device_action_prepare', 'setup.php');
    api_plugin_register_hook('thold', 'host_edit_bottom', 'thold_host_edit_bottom', 'setup.php');
    api_plugin_register_hook('thold', 'user_admin_setup_sql_save', 'thold_user_admin_setup_sql_save', 'setup.php');
    api_plugin_register_hook('thold', 'poller_bottom', 'thold_poller_bottom', 'includes/polling.php');
    api_plugin_register_hook('thold', 'user_admin_edit', 'thold_user_admin_edit', 'setup.php');
    api_plugin_register_hook('thold', 'rrd_graph_graph_options', 'thold_rrd_graph_graph_options', 'setup.php');
    api_plugin_register_hook('thold', 'graph_buttons', 'thold_graph_button', 'setup.php');
    api_plugin_register_hook('thold', 'snmpagent_cache_install', 'thold_snmpagent_cache_install', 'setup.php');
    /* hooks to add dropdown to allow the assignment of a cluster resource */
    api_plugin_register_hook('thold', 'data_source_action_array', 'thold_data_source_action_array', 'setup.php');
    api_plugin_register_hook('thold', 'data_source_action_prepare', 'thold_data_source_action_prepare', 'setup.php');
    api_plugin_register_hook('thold', 'data_source_action_execute', 'thold_data_source_action_execute', 'setup.php');
    api_plugin_register_hook('thold', 'graphs_action_array', 'thold_graphs_action_array', 'setup.php');
    api_plugin_register_hook('thold', 'graphs_action_prepare', 'thold_graphs_action_prepare', 'setup.php');
    api_plugin_register_hook('thold', 'graphs_action_execute', 'thold_graphs_action_execute', 'setup.php');
    api_plugin_register_hook('thold', 'device_template_edit', 'thold_device_template_edit', 'setup.php');
    api_plugin_register_hook('thold', 'device_template_top', 'thold_device_template_top', 'setup.php');
    api_plugin_register_hook('thold', 'device_edit_pre_bottom', 'thold_device_edit_pre_bottom', 'setup.php');
    api_plugin_register_hook('thold', 'api_device_new', 'thold_api_device_new', 'setup.php');
    api_plugin_register_realm('thold', 'thold.php', __('Plugin -> Configure Thresholds'), 1);
    api_plugin_register_realm('thold', 'thold_templates.php', __('Plugin -> Configure Threshold Templates'), 1);
    api_plugin_register_realm('thold', 'notify_lists.php', __('Plugin -> Manage Notification Lists'), 1);
    api_plugin_register_realm('thold', 'thold_graph.php,graph_thold.php,thold_view_failures.php,thold_view_normal.php,thold_view_recover.php,thold_view_recent.php,thold_view_host.php', __('Plugin -> View Thresholds'), 1);
    include_once $config['base_path'] . '/plugins/thold/includes/database.php';
    thold_setup_database();
    thold_snmpagent_cache_install();
}
예제 #14
0
function plugin_gpsmap_install()
{
    global $config;
    api_plugin_register_hook('gpsmap', 'top_header_tabs', 'gpsmap_show_tab', 'includes/setup/tabs.php');
    api_plugin_register_hook('gpsmap', 'top_graph_header_tabs', 'gpsmap_show_tab', 'includes/setup/tabs.php');
    api_plugin_register_hook('gpsmap', 'config_arrays', 'gpsmap_config_arrays', 'includes/setup/settings.php');
    api_plugin_register_hook('gpsmap', 'config_settings', 'gpsmap_config_settings', 'includes/setup/settings.php');
    api_plugin_register_hook('gpsmap', 'draw_navigation_text', 'gpsmap_draw_navigation_text', 'includes/setup/settings.php');
    api_plugin_register_hook('gpsmap', 'api_device_save', 'gpsmap_api_device_save', 'includes/setup/settings.php');
    api_plugin_register_hook('gpsmap', 'config_form', 'gpsmap_config_form', 'setup.php');
    api_plugin_register_hook('gpsmap', 'poller_bottom', 'gpsmap_poller_bottom', 'includes/polling.php');
    api_plugin_register_realm('gpsmap', 'gpstemplates.php,gpstemplates_add.php', 'Configure GPSMap', 1);
    api_plugin_register_realm('gpsmap', 'gpsmap.php', 'View GPSMap', 1);
    include_once $config['base_path'] . '/plugins/gpsmap/includes/setup/database.php';
    gpsmap_setup_database();
}
예제 #15
0
function plugin_hmib_install()
{
    # graph setup all arrays needed for automation
    api_plugin_register_hook('hmib', 'config_arrays', 'hmib_config_arrays', 'setup.php');
    api_plugin_register_hook('hmib', 'config_form', 'hmib_config_form', 'setup.php');
    api_plugin_register_hook('hmib', 'config_settings', 'hmib_config_settings', 'setup.php');
    api_plugin_register_hook('hmib', 'draw_navigation_text', 'hmib_draw_navigation_text', 'setup.php');
    api_plugin_register_hook('hmib', 'poller_bottom', 'hmib_poller_bottom', 'setup.php');
    api_plugin_register_hook('hmib', 'top_header_tabs', 'hmib_show_tab', 'setup.php');
    api_plugin_register_hook('hmib', 'top_graph_header_tabs', 'hmib_show_tab', 'setup.php');
    api_plugin_register_hook('hmib', 'hmib_get_cpu', 'hmib_get_cpu', 'setup.php');
    api_plugin_register_hook('hmib', 'hmib_get_disk', 'hmib_get_disk', 'setup.php');
    api_plugin_register_realm('hmib', 'hmib.php', 'Plugin -> Host MIB Viewer', 1);
    api_plugin_register_realm('hmib', 'hmib_types.php', 'Plugin -> Host MIB Admin', 1);
    hmib_setup_table();
}
예제 #16
0
function plugin_predict_install()
{
    global $database_type;
    $rrd_ver = read_config_option("rrdtool_version");
    if ($rrd_ver < "rrd-1.4") {
        die("<br/>rrdtool must be at least 1.4 to use predict. Your version is {$rrd_ver}<br />Please go back to cacti within your browser<br/>");
    } else {
        api_plugin_register_hook('predict', 'top_header_tabs', 'predict_show_tab', 'setup.php');
        api_plugin_register_hook('predict', 'top_graph_header_tabs', 'predict_show_tab', 'setup.php');
        api_plugin_register_hook('predict', 'draw_navigation_text', 'predict_draw_navigation_text', 'setup.php');
        api_plugin_register_hook('predict', 'config_settings', 'predict_config_settings', 'setup.php');
        api_plugin_register_realm('predict', 'predict.php', 'Plugin -> Predict', 1);
        $sql = "INSERT INTO settings VALUES ( 'predict_def_tspan', 2 ), ( 'predict_def_units', 3 ), ( 'predict_def_window', 300 ), ( 'predict_def_typeds', 0 ), ( 'predict_def_typepred', 2 ), ( 'predict_def_colds', 7 ), ( 'predict_def_colpred', 9 ), ( 'predict_def_width', 700 ), ( 'predict_def_height', 300 )";
        if ($database_type === "mysql") {
            $result = mysql_query($sql) or die(mysql_error());
        } else {
            $result = pg_query($sql) or die(pg_last_error());
        }
    }
}
예제 #17
0
function plugin_mactrack_install() {
	api_plugin_register_hook('mactrack', 'top_header_tabs',       'mactrack_show_tab',             "setup.php");
	api_plugin_register_hook('mactrack', 'top_graph_header_tabs', 'mactrack_show_tab',             "setup.php");
	api_plugin_register_hook('mactrack', 'config_arrays',         'mactrack_config_arrays',        "setup.php");
	api_plugin_register_hook('mactrack', 'draw_navigation_text',  'mactrack_draw_navigation_text', "setup.php");
	api_plugin_register_hook('mactrack', 'config_form',           'mactrack_config_form',          "setup.php");
	api_plugin_register_hook('mactrack', 'config_settings',       'mactrack_config_settings',      "setup.php");
	api_plugin_register_hook('mactrack', 'poller_bottom',         'mactrack_poller_bottom',        "setup.php");
	api_plugin_register_hook('mactrack', 'page_head',             'mactrack_page_head',            "setup.php");

	# device hook: intercept on device save
	api_plugin_register_hook('mactrack', 'api_device_save', 'sync_cacti_to_mactrack', 'mactrack_actions.php');
	# device hook: Add a new dropdown Action for Device Management
	api_plugin_register_hook('mactrack', 'device_action_array', 'mactrack_device_action_array', 'mactrack_actions.php');
	# device hook: Device Management Action dropdown selected: prepare the list of devices for a confirmation request
	api_plugin_register_hook('mactrack', 'device_action_prepare', 'mactrack_device_action_prepare', 'mactrack_actions.php');
	# device hook: Device Management Action dropdown selected: execute list of device
	api_plugin_register_hook('mactrack', 'device_action_execute', 'mactrack_device_action_execute', 'mactrack_actions.php');

	mactrack_setup_table_new ();
}
예제 #18
0
function plugin_mactrack_install()
{
    api_plugin_register_hook('mactrack', 'top_header_tabs', 'mactrack_show_tab', 'setup.php');
    api_plugin_register_hook('mactrack', 'top_graph_header_tabs', 'mactrack_show_tab', 'setup.php');
    api_plugin_register_hook('mactrack', 'config_arrays', 'mactrack_config_arrays', 'setup.php');
    api_plugin_register_hook('mactrack', 'draw_navigation_text', 'mactrack_draw_navigation_text', 'setup.php');
    api_plugin_register_hook('mactrack', 'config_form', 'mactrack_config_form', 'setup.php');
    api_plugin_register_hook('mactrack', 'config_settings', 'mactrack_config_settings', 'setup.php');
    api_plugin_register_hook('mactrack', 'poller_bottom', 'mactrack_poller_bottom', 'setup.php');
    api_plugin_register_hook('mactrack', 'page_head', 'mactrack_page_head', 'setup.php');
    # device hook: intercept on device save
    api_plugin_register_hook('mactrack', 'api_device_save', 'sync_cacti_to_mactrack', 'mactrack_actions.php');
    # device hook: Add a new dropdown Action for Device Management
    api_plugin_register_hook('mactrack', 'device_action_array', 'mactrack_device_action_array', 'mactrack_actions.php');
    # device hook: Device Management Action dropdown selected: prepare the list of devices for a confirmation request
    api_plugin_register_hook('mactrack', 'device_action_prepare', 'mactrack_device_action_prepare', 'mactrack_actions.php');
    # device hook: Device Management Action dropdown selected: execute list of device
    api_plugin_register_hook('mactrack', 'device_action_execute', 'mactrack_device_action_execute', 'mactrack_actions.php');
    # Register our realms
    api_plugin_register_realm('mactrack', 'mactrack_view_ips.php,mactrack_view_arp.php,mactrack_view_macs.php,mactrack_view_sites.php,mactrack_view_devices.php,mactrack_view_interfaces.php,mactrack_view_graphs.php,mactrack_ajax.php', 'MacTrack Viewer', 1);
    api_plugin_register_realm('mactrack', 'mactrack_ajax_admin.php,mactrack_devices.php,mactrack_snmp.php,mactrack_sites.php,mactrack_device_types.php,mactrack_utilities.php,mactrack_macwatch.php,mactrack_macauth.php,mactrack_vendormacs.php', 'Plugin -> MacTrack Administrator', 1);
    mactrack_setup_table_new();
}
예제 #19
0
function plugin_nfsen_install() {
   api_plugin_register_hook('nfsen', 'top_header_tabs',       'nfsen_show_tab',             "setup.php");
   api_plugin_register_hook('nfsen', 'top_graph_header_tabs', 'nfsen_show_tab',             "setup.php");
   //api_plugin_register_hook('nfsen', 'config_arrays',         'nfsen_config_arrays',        "setup.php");
   //api_plugin_register_hook('nfsen', 'draw_navigation_text',  'nfsen_draw_navigation_text', "setup.php");
   api_plugin_register_hook('nfsen', 'config_form',           'nfsen_config_form',          "setup.php");
   api_plugin_register_hook('nfsen', 'config_settings',       'nfsen_config_settings',      "setup.php");
   //api_plugin_register_hook('nfsen', 'api_graph_save',        'nfsen_api_graph_save',       "setup.php");
   //api_plugin_register_hook('nfsen', 'body_style', 'nfsen_api_plugin_hook_function_body_style', "setup.php");
   /* uncomment if you need more hooks */
   //api_plugin_register_hook('nfsen', 'top_graph_refresh',     'nfsen_top_graph_refresh',    "setup.php");
//   api_plugin_register_hook('nfsen', 'device_action_array',   'nfsen_device_action_array',  "setup.php");
//   api_plugin_register_hook('nfsen', 'device_action_execute', 'nfsen_device_action_execute',"setup.php");
//   api_plugin_register_hook('nfsen', 'device_action_prepare', 'nfsen_device_action_prepare',"setup.php");
//   api_plugin_register_hook('nfsen', 'poller_output', 'nfsen_poller_output', 'poller_nfsen.php');
//   api_plugin_register_hook('nfsen', 'poller_bottom', 'nfsen_poller_bottom', 'poller_nfsen.php');

   // register the realm for each php file
   api_plugin_register_realm('nfsen', 'nfsen.php', 'View nfsen', 1);
   //other example api_plugin_register_realm('nfsen', 'nfsen.php,nfsen2.php', 'View nfsen', 1);

   nfsen_setup_table_new ();
}
예제 #20
0
function thold_setup_database()
{
    $data = array();
    $data['columns'][] = array('name' => 'id', 'type' => 'int(11)', 'NULL' => false, 'auto_increment' => true);
    $data['columns'][] = array('name' => 'name', 'type' => 'varchar(100)', 'NULL' => true);
    $data['columns'][] = array('name' => 'local_data_id', 'type' => 'int(11)', 'NULL' => false, 'default' => '0');
    $data['columns'][] = array('name' => 'data_template_rrd_id', 'type' => 'int(11)', 'NULL' => false, 'default' => '0');
    $data['columns'][] = array('name' => 'local_graph_id', 'type' => 'int(11)', 'NULL' => false, 'default' => '0');
    $data['columns'][] = array('name' => 'graph_template_id', 'type' => 'int(11)', 'NULL' => false, 'default' => '0');
    $data['columns'][] = array('name' => 'data_template_id', 'type' => 'int(11)', 'NULL' => false, 'default' => '0');
    $data['columns'][] = array('name' => 'thold_hi', 'type' => 'varchar(100)', 'NULL' => true);
    $data['columns'][] = array('name' => 'thold_low', 'type' => 'varchar(100)', 'NULL' => true);
    $data['columns'][] = array('name' => 'thold_fail_trigger', 'type' => 'int(10)', 'NULL' => true, 'unsigned' => true);
    $data['columns'][] = array('name' => 'thold_fail_count', 'type' => 'int(11)', 'NULL' => false, 'default' => '0');
    $data['columns'][] = array('name' => 'time_hi', 'type' => 'varchar(100)', 'NULL' => true);
    $data['columns'][] = array('name' => 'time_low', 'type' => 'varchar(100)', 'NULL' => true);
    $data['columns'][] = array('name' => 'time_fail_trigger', 'type' => 'int (12)', 'NULL' => false, 'default' => 1);
    $data['columns'][] = array('name' => 'time_fail_length', 'type' => 'int (12)', 'NULL' => false, 'default' => 1);
    $data['columns'][] = array('name' => 'thold_warning_hi', 'type' => 'varchar(100)', 'NULL' => true);
    $data['columns'][] = array('name' => 'thold_warning_low', 'type' => 'varchar(100)', 'NULL' => true);
    $data['columns'][] = array('name' => 'thold_warning_fail_trigger', 'type' => 'int(10)', 'NULL' => true, 'unsigned' => true);
    $data['columns'][] = array('name' => 'thold_warning_fail_count', 'type' => 'int(11)', 'NULL' => false, 'default' => '0');
    $data['columns'][] = array('name' => 'time_warning_hi', 'type' => 'varchar(100)', 'NULL' => true);
    $data['columns'][] = array('name' => 'time_warning_low', 'type' => 'varchar(100)', 'NULL' => true);
    $data['columns'][] = array('name' => 'time_warning_fail_trigger', 'type' => 'int (12)', 'NULL' => false, 'default' => 1);
    $data['columns'][] = array('name' => 'time_warning_fail_length', 'type' => 'int (12)', 'NULL' => false, 'default' => 1);
    $data['columns'][] = array('name' => 'thold_alert', 'type' => 'int(1)', 'NULL' => false, 'default' => '0');
    $data['columns'][] = array('name' => 'thold_enabled', 'type' => "enum('on','off')", 'NULL' => false, 'default' => 'on');
    $data['columns'][] = array('name' => 'thold_type', 'type' => 'int (3)', 'NULL' => false, 'default' => 0);
    $data['columns'][] = array('name' => 'bl_ref_time_range', 'type' => 'int(10)', 'NULL' => true, 'unsigned' => true);
    $data['columns'][] = array('name' => 'bl_pct_down', 'type' => 'varchar(100)', 'NULL' => true);
    $data['columns'][] = array('name' => 'bl_pct_up', 'type' => 'varchar(100)', 'NULL' => true);
    $data['columns'][] = array('name' => 'bl_fail_trigger', 'type' => 'int(10)', 'NULL' => true, 'unsigned' => true);
    $data['columns'][] = array('name' => 'bl_fail_count', 'type' => 'int(11)', 'NULL' => true, 'unsigned' => true);
    $data['columns'][] = array('name' => 'bl_alert', 'type' => 'int(2)', 'NULL' => false, 'default' => '0');
    $data['columns'][] = array('name' => 'lastread', 'type' => 'varchar(100)', 'NULL' => true);
    $data['columns'][] = array('name' => 'lasttime', 'type' => 'timestamp', 'NULL' => false, 'default' => '0000-00-00 00:00:00');
    $data['columns'][] = array('name' => 'oldvalue', 'type' => 'varchar(100)', 'NULL' => true);
    $data['columns'][] = array('name' => 'repeat_alert', 'type' => 'int(10)', 'NULL' => true, 'unsigned' => true);
    $data['columns'][] = array('name' => 'notify_default', 'type' => "enum('on','off')", 'NULL' => true);
    $data['columns'][] = array('name' => 'notify_extra', 'type' => 'varchar(512)', 'NULL' => true);
    $data['columns'][] = array('name' => 'notify_warning_extra', 'type' => 'varchar(512)', 'NULL' => true);
    $data['columns'][] = array('name' => 'notify_warning', 'type' => 'int(10)', 'NULL' => true, 'unsigned' => true);
    $data['columns'][] = array('name' => 'notify_alert', 'type' => 'int(10)', 'NULL' => true, 'unsigned' => true);
    $data['columns'][] = array('name' => 'host_id', 'type' => 'int(10)', 'NULL' => true);
    $data['columns'][] = array('name' => 'syslog_priority', 'type' => 'int(2)', 'NULL' => false, 'default' => '3');
    $data['columns'][] = array('name' => 'data_type', 'type' => 'int(12)', 'NULL' => false, 'default' => '0');
    $data['columns'][] = array('name' => 'cdef', 'type' => 'int(11)', 'NULL' => false, 'default' => '0');
    $data['columns'][] = array('name' => 'percent_ds', 'type' => 'varchar(64)', 'NULL' => false, 'default' => '');
    $data['columns'][] = array('name' => 'expression', 'type' => 'varchar(70)', 'NULL' => false, 'default' => '');
    $data['columns'][] = array('name' => 'thold_template_id', 'type' => 'int(11)', 'NULL' => false, 'default' => '0');
    $data['columns'][] = array('name' => 'template_enabled', 'type' => 'char(3)', 'NULL' => false, 'default' => '');
    $data['columns'][] = array('name' => 'tcheck', 'type' => 'int(1)', 'NULL' => false, 'default' => '0');
    $data['columns'][] = array('name' => 'exempt', 'type' => 'char(3)', 'NULL' => false, 'default' => '');
    $data['columns'][] = array('name' => 'restored_alert', 'type' => 'char(3)', 'NULL' => false, 'default' => '');
    $data['columns'][] = array('name' => 'bl_thold_valid', 'type' => 'int(10)', 'NULL' => false, 'default' => '0', 'unsigned' => true);
    $data['columns'][] = array('name' => 'snmp_event_category', 'type' => 'varchar(255)', 'NULL' => true);
    $data['columns'][] = array('name' => 'snmp_event_severity', 'type' => 'tinyint(1)', 'NULL' => false, 'default' => '3');
    $data['columns'][] = array('name' => 'snmp_event_warning_severity', 'type' => 'tinyint(1)', 'NULL' => false, 'default' => '2');
    $data['columns'][] = array('name' => 'thold_daemon_pid', 'type' => 'varchar(25)', 'NULL' => false, 'default' => '');
    $data['primary'] = 'id';
    $data['keys'][] = array('name' => 'host_id', 'columns' => 'host_id');
    $data['keys'][] = array('name' => 'local_data_id', 'columns' => 'local_data_id');
    $data['keys'][] = array('name' => 'data_template_rrd_id', 'columns' => 'data_template_rrd_id');
    $data['keys'][] = array('name' => 'local_graph_id', 'columns' => 'local_graph_id');
    $data['keys'][] = array('name' => 'thold_template_id', 'columns' => 'thold_template_id');
    $data['keys'][] = array('name' => 'thold_enabled', 'columns' => 'thold_enabled');
    $data['keys'][] = array('name' => 'template_enabled', 'columns' => 'template_enabled');
    $data['keys'][] = array('name' => 'tcheck', 'columns' => 'tcheck');
    $data['type'] = 'InnoDB';
    $data['comment'] = 'Threshold data';
    api_plugin_db_table_create('thold', 'thold_data', $data);
    $data = array();
    $data['columns'][] = array('name' => 'id', 'type' => 'int(11)', 'NULL' => false, 'auto_increment' => true);
    $data['columns'][] = array('name' => 'hash', 'type' => 'varchar(32)', 'NULL' => false);
    $data['columns'][] = array('name' => 'name', 'type' => 'varchar(100)', 'NULL' => false, 'default' => '');
    $data['columns'][] = array('name' => 'data_template_id', 'type' => 'int(10)', 'NULL' => false, 'default' => '0');
    $data['columns'][] = array('name' => 'data_template_name', 'type' => 'varchar(100)', 'NULL' => false, 'default' => '');
    $data['columns'][] = array('name' => 'data_source_id', 'type' => 'int(10)', 'NULL' => false, 'default' => '0');
    $data['columns'][] = array('name' => 'data_source_name', 'type' => 'varchar(100)', 'NULL' => false, 'default' => '');
    $data['columns'][] = array('name' => 'data_source_friendly', 'type' => 'varchar(100)', 'NULL' => false, 'default' => '');
    $data['columns'][] = array('name' => 'thold_hi', 'type' => 'varchar(100)', 'NULL' => true);
    $data['columns'][] = array('name' => 'thold_low', 'type' => 'varchar(100)', 'NULL' => true);
    $data['columns'][] = array('name' => 'thold_fail_trigger', 'type' => 'int(10)', 'NULL' => true, 'unsigned' => true);
    $data['columns'][] = array('name' => 'time_hi', 'type' => 'varchar(100)', 'NULL' => true);
    $data['columns'][] = array('name' => 'time_low', 'type' => 'varchar(100)', 'NULL' => true);
    $data['columns'][] = array('name' => 'time_fail_trigger', 'type' => 'int (12)', 'NULL' => false, 'default' => 1);
    $data['columns'][] = array('name' => 'time_fail_length', 'type' => 'int (12)', 'NULL' => false, 'default' => 1);
    $data['columns'][] = array('name' => 'thold_warning_hi', 'type' => 'varchar(100)', 'NULL' => true);
    $data['columns'][] = array('name' => 'thold_warning_low', 'type' => 'varchar(100)', 'NULL' => true);
    $data['columns'][] = array('name' => 'thold_warning_fail_trigger', 'type' => 'int(10)', 'NULL' => true, 'unsigned' => true);
    $data['columns'][] = array('name' => 'thold_warning_fail_count', 'type' => 'int(11)', 'NULL' => false, 'default' => '0');
    $data['columns'][] = array('name' => 'time_warning_hi', 'type' => 'varchar(100)', 'NULL' => true);
    $data['columns'][] = array('name' => 'time_warning_low', 'type' => 'varchar(100)', 'NULL' => true);
    $data['columns'][] = array('name' => 'time_warning_fail_trigger', 'type' => 'int (12)', 'NULL' => false, 'default' => 1);
    $data['columns'][] = array('name' => 'time_warning_fail_length', 'type' => 'int (12)', 'NULL' => false, 'default' => 1);
    $data['columns'][] = array('name' => 'thold_enabled', 'type' => "enum('on','off')", 'NULL' => false, 'default' => 'on');
    $data['columns'][] = array('name' => 'thold_type', 'type' => 'int (3)', 'NULL' => false, 'default' => 0);
    $data['columns'][] = array('name' => 'bl_ref_time_range', 'type' => 'int(10)', 'NULL' => true, 'unsigned' => true);
    $data['columns'][] = array('name' => 'bl_pct_down', 'type' => 'varchar(100)', 'NULL' => true);
    $data['columns'][] = array('name' => 'bl_pct_up', 'type' => 'varchar(100)', 'NULL' => true);
    $data['columns'][] = array('name' => 'bl_fail_trigger', 'type' => 'int(10)', 'NULL' => true, 'unsigned' => true);
    $data['columns'][] = array('name' => 'bl_fail_count', 'type' => 'int(11)', 'NULL' => true, 'unsigned' => true);
    $data['columns'][] = array('name' => 'bl_alert', 'type' => 'int(2)', 'NULL' => false, 'default' => '0');
    $data['columns'][] = array('name' => 'repeat_alert', 'type' => 'int(10)', 'NULL' => true, 'unsigned' => true);
    $data['columns'][] = array('name' => 'notify_default', 'type' => "enum('on','off')", 'NULL' => true);
    $data['columns'][] = array('name' => 'notify_extra', 'type' => 'varchar(512)', 'NULL' => true);
    $data['columns'][] = array('name' => 'notify_warning_extra', 'type' => 'varchar(512)', 'NULL' => true);
    $data['columns'][] = array('name' => 'notify_warning', 'type' => 'int(10)', 'NULL' => true, 'unsigned' => true);
    $data['columns'][] = array('name' => 'notify_alert', 'type' => 'int(10)', 'NULL' => true, 'unsigned' => true);
    $data['columns'][] = array('name' => 'data_type', 'type' => 'int(12)', 'NULL' => false, 'default' => '0');
    $data['columns'][] = array('name' => 'cdef', 'type' => 'int(11)', 'NULL' => false, 'default' => '0');
    $data['columns'][] = array('name' => 'percent_ds', 'type' => 'varchar(64)', 'NULL' => false, 'default' => '');
    $data['columns'][] = array('name' => 'expression', 'type' => 'varchar(70)', 'NULL' => false, 'default' => '');
    $data['columns'][] = array('name' => 'exempt', 'type' => 'char(3)', 'NULL' => false, 'default' => '');
    $data['columns'][] = array('name' => 'restored_alert', 'type' => 'char(3)', 'NULL' => false, 'default' => '');
    $data['columns'][] = array('name' => 'snmp_event_category', 'type' => 'varchar(255)', 'NULL' => true);
    $data['columns'][] = array('name' => 'snmp_event_severity', 'type' => 'tinyint(1)', 'NULL' => false, 'default' => '3');
    $data['columns'][] = array('name' => 'snmp_event_warning_severity', 'type' => 'tinyint(1)', 'NULL' => false, 'default' => '2');
    $data['primary'] = 'id';
    $data['keys'][] = array('name' => 'id', 'columns' => 'id');
    $data['keys'][] = array('name' => 'data_source_id', 'columns' => 'data_source_id');
    $data['keys'][] = array('name' => 'data_template_id', 'columns' => 'data_template_id');
    $data['type'] = 'InnoDB';
    $data['comment'] = 'Table of thresholds defaults for graphs';
    api_plugin_db_table_create('thold', 'thold_template', $data);
    $data = array();
    $data['columns'][] = array('name' => 'id', 'type' => 'int(12)', 'NULL' => false, 'auto_increment' => true);
    $data['columns'][] = array('name' => 'user_id', 'type' => 'int(12)', 'NULL' => false);
    $data['columns'][] = array('name' => 'type', 'type' => 'varchar(32)', 'NULL' => false);
    $data['columns'][] = array('name' => 'data', 'type' => 'text', 'NULL' => false);
    $data['primary'] = 'id';
    $data['keys'][] = array('name' => 'type', 'columns' => 'type');
    $data['keys'][] = array('name' => 'user_id', 'columns' => 'user_id');
    $data['unique_keys'][] = array('name' => 'user_id_type', 'columns' => 'user_id`, `type');
    $data['type'] = 'InnoDB';
    $data['comment'] = 'Table of threshold contacts';
    api_plugin_db_table_create('thold', 'plugin_thold_contacts', $data);
    $data = array();
    $data['columns'][] = array('name' => 'template_id', 'type' => 'int(12)', 'NULL' => false);
    $data['columns'][] = array('name' => 'contact_id', 'type' => 'int(12)', 'NULL' => false);
    $data['keys'][] = array('name' => 'template_id', 'columns' => 'template_id');
    $data['keys'][] = array('name' => 'contact_id', 'columns' => 'contact_id');
    $data['type'] = 'InnoDB';
    $data['comment'] = 'Table of Tholds Template Contacts';
    api_plugin_db_table_create('thold', 'plugin_thold_template_contact', $data);
    $data = array();
    $data['columns'][] = array('name' => 'thold_id', 'type' => 'int(12)', 'NULL' => false);
    $data['columns'][] = array('name' => 'contact_id', 'type' => 'int(12)', 'NULL' => false);
    $data['keys'][] = array('name' => 'thold_id', 'columns' => 'thold_id');
    $data['keys'][] = array('name' => 'contact_id', 'columns' => 'contact_id');
    $data['type'] = 'InnoDB';
    $data['comment'] = 'Table of Tholds Threshold Contacts';
    api_plugin_db_table_create('thold', 'plugin_thold_threshold_contact', $data);
    $data = array();
    $data['columns'][] = array('name' => 'id', 'type' => 'int(12)', 'NULL' => false, 'auto_increment' => true);
    $data['columns'][] = array('name' => 'time', 'type' => 'int(24)', 'NULL' => false);
    $data['columns'][] = array('name' => 'host_id', 'type' => 'int(10)', 'NULL' => false);
    $data['columns'][] = array('name' => 'local_graph_id', 'type' => 'int(10)', 'NULL' => false);
    $data['columns'][] = array('name' => 'threshold_id', 'type' => 'int(10)', 'NULL' => false);
    $data['columns'][] = array('name' => 'threshold_value', 'type' => 'varchar(64)', 'NULL' => false);
    $data['columns'][] = array('name' => 'current', 'type' => 'varchar(64)', 'NULL' => false);
    $data['columns'][] = array('name' => 'status', 'type' => 'int(5)', 'NULL' => false);
    $data['columns'][] = array('name' => 'type', 'type' => 'int(5)', 'NULL' => false);
    $data['columns'][] = array('name' => 'description', 'type' => 'varchar(255)', 'NULL' => false);
    $data['primary'] = 'id';
    $data['keys'][] = array('name' => 'time', 'columns' => 'time');
    $data['keys'][] = array('name' => 'host_id', 'columns' => 'host_id');
    $data['keys'][] = array('name' => 'local_graph_id', 'columns' => 'local_graph_id');
    $data['keys'][] = array('name' => 'threshold_id', 'columns' => 'threshold_id');
    $data['keys'][] = array('name' => 'status', 'columns' => 'status');
    $data['keys'][] = array('name' => 'type', 'columns' => 'type');
    $data['type'] = 'InnoDB';
    $data['comment'] = 'Table of All Threshold Breaches';
    api_plugin_db_table_create('thold', 'plugin_thold_log', $data);
    $data = array();
    $data['columns'][] = array('name' => 'id', 'type' => 'int(12)', 'NULL' => false, 'auto_increment' => true);
    $data['columns'][] = array('name' => 'name', 'type' => 'varchar(128)', 'NULL' => false);
    $data['columns'][] = array('name' => 'description', 'type' => 'varchar(512)', 'NULL' => false);
    $data['columns'][] = array('name' => 'emails', 'type' => 'varchar(512)', 'NULL' => false);
    $data['primary'] = 'id';
    $data['type'] = 'InnoDB';
    $data['comment'] = 'Table of Notification Lists';
    api_plugin_db_table_create('thold', 'plugin_notification_lists', $data);
    api_plugin_register_hook('thold', 'host_edit_bottom', 'thold_host_edit_bottom', 'setup.php');
    api_plugin_db_add_column('thold', 'host', array('name' => 'thold_send_email', 'type' => 'int(10)', 'NULL' => false, 'default' => '1', 'after' => 'disabled'));
    api_plugin_db_add_column('thold', 'host', array('name' => 'thold_host_email', 'type' => 'int(10)', 'NULL' => false, 'after' => 'thold_send_email'));
    $data = array();
    $data['columns'][] = array('name' => 'id', 'type' => 'int(12)', 'NULL' => false, 'unsigned' => true, 'auto_increment' => true);
    $data['columns'][] = array('name' => 'host_id', 'type' => 'int(12)', 'unsigned' => true, 'NULL' => false);
    $data['primary'] = 'id';
    $data['type'] = 'InnoDB';
    $data['comment'] = 'Table of Devices in a Down State';
    api_plugin_db_table_create('thold', 'plugin_thold_host_failed', $data);
    $data = array();
    $data['columns'][] = array('name' => 'id', 'type' => 'int(11)', 'NULL' => false);
    $data['columns'][] = array('name' => 'pid', 'type' => 'varchar(25)', 'NULL' => false);
    $data['columns'][] = array('name' => 'rrd_reindexed', 'type' => 'varchar(600)', 'NULL' => false);
    $data['columns'][] = array('name' => 'rrd_time_reindexed', 'type' => 'int(10)', 'unsigned' => true, 'NULL' => false);
    $data['keys'][] = array('name' => 'id', 'columns' => 'id`, `pid');
    $data['type'] = 'InnoDB';
    $data['comment'] = 'Table of Poller Outdata needed for queued daemon processes';
    api_plugin_db_table_create('thold', 'plugin_thold_daemon_data', $data);
    $data = array();
    $data['columns'][] = array('name' => 'pid', 'type' => 'varchar(25)', 'NULL' => false);
    $data['columns'][] = array('name' => 'start', 'type' => 'int(10)', 'unsigned' => true, 'NULL' => false, 'default' => '0');
    $data['columns'][] = array('name' => 'end', 'type' => 'int(10)', 'unsigned' => true, 'NULL' => false, 'default' => '0');
    $data['columns'][] = array('name' => 'processed_items', 'type' => 'mediumint(8)', 'NULL' => false, 'default' => '0');
    $data['primary'] = 'pid';
    $data['type'] = 'InnoDB';
    $data['comment'] = 'Table of Thold Daemon Processes being queued';
    api_plugin_db_table_create('thold', 'plugin_thold_daemon_processes', $data);
    $data = array();
    $data['columns'][] = array('name' => 'id', 'type' => 'int(11)', 'unsigned' => true, 'NULL' => false, 'auto_increment' => true);
    $data['columns'][] = array('name' => 'host_template_id', 'type' => 'int(11)', 'unsigned' => true, 'NULL' => false, 'default' => '0');
    $data['columns'][] = array('name' => 'thold_template_id', 'type' => 'int(11)', 'unsigned' => true, 'NULL' => false, 'default' => '0');
    $data['primary'] = 'id';
    $data['type'] = 'InnoDB';
    $data['comment'] = 'Table of Device Template Threshold Templates';
    api_plugin_db_table_create('thold', 'plugin_thold_host_template', $data);
    $indexes = array_rekey(db_fetch_assoc('SHOW INDEX FROM data_local'), 'Key_name', 'Key_name');
    if (!array_key_exists('data_template_id', $indexes)) {
        db_execute('ALTER TABLE data_local ADD INDEX data_template_id(data_template_id)');
    }
    if (!array_key_exists('snmp_query_id', $indexes)) {
        db_execute('ALTER TABLE data_local ADD INDEX snmp_query_id(snmp_query_id)');
    }
    $indexes = array_rekey(db_fetch_assoc('SHOW INDEX FROM host_snmp_cache'), 'Key_name', 'Key_name');
    if (!array_key_exists('snmp_query_id', $indexes)) {
        db_execute('ALTER TABLE host_snmp_cache ADD INDEX snmp_query_id(snmp_query_id)');
    }
    /* increase the size of the settings table */
    db_execute("ALTER TABLE settings MODIFY column `value` varchar(4096) not null default ''");
}
예제 #21
0
function boost_recreate_output_table_indexes()
{
    $query_sched = "ALTER TABLE poller_output_boost ";
    $indexes = db_fetch_assoc("SHOW INDEXES FROM poller_output_boost");
    $old_indexes = array();
    if (sizeof($indexes)) {
        foreach ($indexes as $index) {
            $old_indexes[] = $index["Key_name"];
        }
    } elseif ($old < 4.3) {
        api_plugin_register_hook('boost', 'rrdtool_function_fetch_cache_check', 'boost_fetch_cache_check', "setup.php");
        db_execute("UPDATE plugin_hooks SET status=1 WHERE name='boost'");
    }
    $old_indexes = array_unique($old_indexes);
    foreach (array_unique($old_indexes) as $index) {
        if ($index == "PRIMARY") {
            $query_sched .= "DROP PRIMARY KEY, ";
        } else {
            $query_sched .= "DROP KEY {$index}, ";
        }
    }
    $query_sched .= "ADD PRIMARY KEY USING BTREE (`local_data_id`,`time`,`rrd_name`)";
    db_execute($query_sched);
}
예제 #22
0
파일: setup.php 프로젝트: n00badmin/mirage
function plugin_mirage_install()
{
    global $config;
    api_plugin_register_hook('mirage', 'poller_output', 'mirage_poller_output', 'includes/polling.php');
    api_plugin_register_hook('mirage', 'config_settings', 'mirage_config_settings', 'includes/settings.php');
}
예제 #23
0
function plugin_errorimage_install()
{
    api_plugin_register_hook('errorimage', 'graph_image', 'errorimage_check_graphs', 'setup.php');
}
예제 #24
0
파일: setup.php 프로젝트: teddywen/cacti
function plugin_settings_install()
{
    api_plugin_register_hook('settings', 'config_settings', 'settings_config_settings', 'setup.php');
    api_plugin_register_realm('settings', 'email-test.php', 'Send Test Email', 1);
}