Changeset 74

Show
Ignore:
Timestamp:
03/07/08 00:50:11 (5 years ago)
Author:
divagater
Message:

Getting rid of servicegroup overview portlet. Replacing with sevicegroup service status portlet

Location:
trunk
Files:
5 modified
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/controllers/layout.php

    r73 r74  
    5656          <script type="text/javascript" src="<?php echo $config["url_path"]; ?>plugins/npc/js/serviceDetail.js"></script> 
    5757          <script type="text/javascript" src="<?php echo $config["url_path"]; ?>plugins/npc/js/serviceGroupGrid.js"></script> 
     58          <script type="text/javascript" src="<?php echo $config["url_path"]; ?>plugins/npc/js/serviceGroupOverview.js"></script> 
    5859           
    5960          <script type="text/javascript"> 
     
    8687          <script type="text/javascript" src="<?php echo $config["url_path"]; ?>plugins/npc/js/dashboard/service-problems-portlet.js"></script> 
    8788          <script type="text/javascript" src="<?php echo $config["url_path"]; ?>plugins/npc/js/dashboard/monitoring-performance-portlet.js"></script> 
    88           <script type="text/javascript" src="<?php echo $config["url_path"]; ?>plugins/npc/js/dashboard/servicegroup-overview-portlet.js"></script> 
     89          <script type="text/javascript" src="<?php echo $config["url_path"]; ?>plugins/npc/js/dashboard/servicegroup-service-status.js"></script> 
    8990 
    9091          <script type="text/javascript"> 
  • trunk/js/dashboard/eventlog-portlet.js

    r71 r74  
    1414 
    1515    // Default # of events to display 
    16     var pageSize = parseInt(npc.app.params.npc_portlet_rows); 
     16    var pageSize = 5; 
    1717 
    1818    function renderIcon(val){ 
     
    8787        }), 
    8888        bbar: new Ext.PagingToolbar({ 
    89             pageSize: 10, 
     89            pageSize: pageSize, 
    9090            store: store, 
    9191            displayInfo: true, 
     
    107107 
    108108    // Load the data store 
    109     //grid.store.load({params:{start:0, limit:pageSize}}); 
    110     store.load({params:{start:0, limit:10}}); 
     109    store.load({params:{start:0, limit:pageSize}}); 
    111110 
    112111    // Start auto refresh of the grid 
  • trunk/js/dashboard/servicegroup-service-status.js

    r73 r74  
    2121        switch(val) { 
    2222            case 0: 
    23                 state = 'Up'; 
     23                state = 'UP'; 
    2424                bg = '33FF00'; 
    2525                break; 
    2626            case 1: 
    27                 state = 'Down'; 
     27                state = 'DOWN'; 
    2828                bg = 'F83838'; 
    2929                break; 
    3030            case 2: 
    31                 state = 'Unreachable'; 
     31                state = 'UNREACHABLE'; 
    3232                bg = 'F83838'; 
    3333                break; 
    3434            case -1: 
    35                 state = 'Pending'; 
     35                state = 'PENDING'; 
    3636                bg = '0099FF'; 
    3737                break; 
     
    7777        dataIndex:'host_state', 
    7878        align:'center', 
    79         width:40, 
     79        width:50, 
    8080        renderer:renderHostStatus 
    8181    },{ 
     
    9191        dataIndex:'warning', 
    9292        align:'center', 
    93         width:45, 
     93        width:40, 
    9494        renderer: npc.app.renderStatusBg 
    9595    },{ 
     
    9898        dataIndex:'unknown', 
    9999        align:'center', 
    100         width:45, 
     100        width:40, 
    101101        renderer: npc.app.renderStatusBg 
    102102    },{ 
     
    105105        dataIndex:'ok', 
    106106        align:'center', 
    107         width:25, 
     107        width:20, 
    108108        renderer: npc.app.renderStatusBg 
    109109    },{ 
     
    112112        dataIndex:'pending', 
    113113        align:'center', 
    114         width:45, 
     114        width:40, 
    115115        renderer: npc.app.renderStatusBg 
    116116    }]); 
  • trunk/js/npc.js

    r73 r74  
    494494                                                text:'Servicegroup Overview', 
    495495                                                iconCls:'tleaf', 
    496                                                 leaf:true 
     496                                                leaf:true, 
     497                                                listeners: { 
     498                                                    click: function() { 
     499                                                        npc.app.serviceGroupOverview(); 
     500                                                    } 
     501                                                } 
    497502                                            },{ 
    498503                                                text:'Servicegroup Summary', 
     
    611616                handler: function() { 
    612617 
    613                     var eventLog = Ext.getCmp('eventLog'); 
    614                     var evetLogChecked = eventLog.isVisible(); 
    615  
    616                     var hostSummary = Ext.getCmp('hostSummary') 
    617                     var hostSummaryChecked = hostSummary.isVisible(); 
    618  
    619                     var serviceSummary = Ext.getCmp('serviceSummary'); 
    620                     var serviceSummaryChecked = serviceSummary.isVisible(); 
    621  
    622                     var serviceProblems = Ext.getCmp('serviceProblems'); 
    623                     var serviceProblemsChecked = serviceProblems.isVisible(); 
    624  
    625                     var monitoringPerf = Ext.getCmp('monitoringPerf'); 
    626                     var monitoringPerf = monitoringPerf.isVisible(); 
     618                    var eL = Ext.getCmp('eventLog'); 
     619                    var eLC = eL.isVisible(); 
     620 
     621                    var hS = Ext.getCmp('hostSummary') 
     622                    var hSC = hS.isVisible(); 
     623 
     624                    var sS = Ext.getCmp('serviceSummary'); 
     625                    var sSC = sS.isVisible(); 
     626 
     627                    var sP = Ext.getCmp('serviceProblems'); 
     628                    var sPC = sP.isVisible(); 
     629 
     630                    var mP = Ext.getCmp('monitoringPerf'); 
     631                    var mPC = mP.isVisible(); 
     632 
     633                    var sgSS = Ext.getCmp('servicegroupServiceStatus'); 
     634                    var sgSSC = sgSS.isVisible(); 
    627635 
    628636                    var form = new Ext.form.FormPanel({ 
     
    636644                            hideLabel: true, 
    637645                            xtype:'checkbox', 
    638                             checked: evetLogChecked, 
     646                            checked: eLC, 
    639647                            listeners: { 
    640648                                check: function(cb, checked) { 
    641649                                    if (checked) { 
    642                                         eventLog.show(); 
     650                                        eL.show(); 
    643651                                    } else { 
    644                                         eventLog.hide(); 
     652                                        eL.hide(); 
    645653                                    } 
    646654                                } 
     
    650658                            hideLabel: true, 
    651659                            xtype:'checkbox', 
    652                             checked: hostSummaryChecked, 
     660                            checked: hSC, 
    653661                            listeners: { 
    654662                                check: function(cb, checked) { 
    655663                                    if (checked) { 
    656                                         hostSummary.show(); 
     664                                        hS.show(); 
    657665                                    } else { 
    658                                         hostSummary.hide(); 
     666                                        hS.hide(); 
    659667                                    } 
    660668                                } 
     
    664672                            hideLabel: true, 
    665673                            xtype:'checkbox', 
    666                             checked: serviceSummaryChecked, 
     674                            checked: sSC, 
    667675                            listeners: { 
    668676                                check: function(cb, checked) { 
    669677                                    if (checked) { 
    670                                         serviceSummary.show(); 
     678                                        sS.show(); 
    671679                                    } else { 
    672                                         serviceSummary.hide(); 
     680                                        sS.hide(); 
    673681                                    } 
    674682                                } 
     
    678686                            hideLabel: true, 
    679687                            xtype:'checkbox', 
    680                             checked: serviceProblemsChecked, 
     688                            checked: sPC, 
    681689                            listeners: { 
    682690                                check: function(cb, checked) { 
    683691                                    if (checked) { 
    684                                         serviceProblems.show(); 
     692                                        sP.show(); 
    685693                                    } else { 
    686                                         serviceProblems.hide(); 
     694                                        sP.hide(); 
    687695                                    } 
    688696                                } 
     
    692700                            hideLabel: true, 
    693701                            xtype:'checkbox', 
    694                             checked: monitoringPerfChecked, 
     702                            checked: mPC, 
    695703                            listeners: { 
    696704                                check: function(cb, checked) { 
    697705                                    if (checked) { 
    698                                         monitoringPerf.show(); 
     706                                        mP.show(); 
    699707                                    } else { 
    700                                         monitoringPerf.hide(); 
     708                                        mP.hide(); 
     709                                    } 
     710                                } 
     711                            } 
     712                        },{ 
     713                            boxLabel: 'Servicegroup Service Status', 
     714                            hideLabel: true, 
     715                            xtype:'checkbox', 
     716                            checked: sgSSC, 
     717                            listeners: { 
     718                                check: function(cb, checked) { 
     719                                    if (checked) { 
     720                                        sgSS.show(); 
     721                                    } else { 
     722                                        sgSS.hide(); 
    701723                                    } 
    702724                                } 
  • trunk/js/serviceGroupOverview.js

    r53 r74  
    22 
    33    // Panel title 
    4     var title = 'Service Group Overview'; 
     4    var title = 'Servicegroup Overview'; 
    55 
    66    // Panel ID 
    77    var id = 'serviceGroupOverview-tab'; 
    88 
    9     // Grid URL 
     9    // Portlet URL 
    1010    var url = 'npc.php?module=servicegroups&action=getOverview'; 
    1111 
     
    2929        return; 
    3030    } else { 
    31         innerTabPanel.add({  
    32             id: id,  
    33             title: title,  
    34             closable: true,  
    35             items: [{}]  
    36         }).show();  
    37         innerTabPanel.setActiveTab(tab);  
    38         tab = Ext.getCmp(id);  
     31        innerTabPanel.add({ 
     32            id: id, 
     33            title: title, 
     34            closable: true, 
     35            items: [{}] 
     36        }).show(); 
     37        innerTabPanel.setActiveTab(tab); 
     38        tab = Ext.getCmp(id); 
    3939    } 
    4040 
    41     function renderAttempt(val, p, record){ 
    42         return String.format('{0}/{1}', val, record.data.max_check_attempts); 
     41    function renderHostStatus(val, meta){ 
     42        var state; 
     43        var bg; 
     44        switch(val) { 
     45            case 0: 
     46                state = 'Up'; 
     47                bg = '33FF00'; 
     48                break; 
     49            case 1: 
     50                state = 'Down'; 
     51                bg = 'F83838'; 
     52                break; 
     53            case 2: 
     54                state = 'Unreachable'; 
     55                bg = 'F83838'; 
     56                break; 
     57            case -1: 
     58                state = 'Pending'; 
     59                bg = '0099FF'; 
     60                break; 
     61        } 
     62 
     63        meta.attr = 'style="background-color: #' + bg + ';"'; 
     64        return String.format('<b>{0}</b>', state); 
    4365    } 
    4466 
     
    4668        url:url, 
    4769        autoload:true, 
    48         sortInfo:{field: 'service_description', direction: "ASC"}, 
     70        sortInfo:{field: 'host_name', direction: "ASC"}, 
    4971        reader: new Ext.data.JsonReader({ 
    5072            totalProperty:'totalCount', 
    51             root:'data', 
     73            root:'data' 
    5274        }, [ 
    53             'servicegroup_id', 
    54             'instance_id', 
    55             'config_type', 
    56             'servicegroup_object_id', 
     75            {name: 'instance_id', type: 'int'}, 
     76            {name: 'servicegroup_object_id', type: 'int'}, 
    5777            'alias', 
    58             'instance_name', 
    59             'servicegroup_name', 
    60             'servicestatus_id', 
    61             'current_state', 
    62             'service_object_id', 
    6378            'host_name', 
    64             'service_description' 
     79            {name: 'host_state', type: 'int'}, 
     80            {name: 'critical', type: 'int'}, 
     81            {name: 'warning', type: 'int'}, 
     82            {name: 'unknown', type: 'int'}, 
     83            {name: 'ok', type: 'int'}, 
     84            {name: 'pending', type: 'int'} 
    6585        ]), 
    6686        groupField:'alias' 
     
    6888 
    6989    var cm = new Ext.grid.ColumnModel([{ 
    70         header:"Service", 
    71         dataIndex:'service_description', 
     90        header:"Servicegroup", 
     91        dataIndex:'alias', 
     92        hidden:true 
     93    },{ 
     94        header:"Host", 
     95        dataIndex:'host_name', 
    7296        sortable:true, 
    7397        width:100 
    7498    },{ 
    7599        header:"Status", 
    76         dataIndex:'current_state', 
    77         renderer:npc.app.renderStatusImage, 
    78         width:45 
    79     },{ 
    80         header:"Last Check", 
    81         dataIndex:'last_check', 
    82         renderer: npc.app.formatDate, 
    83         width:110 
    84     },{ 
    85         header:"Next Check", 
    86         dataIndex:'next_check', 
    87         renderer: npc.app.formatDate, 
    88         width:110 
    89     },{ 
    90         header:"Duration", 
    91         dataIndex:'last_state_change', 
    92         renderer: npc.app.getDuration, 
    93         width:110 
    94     },{ 
    95         header:"Attempt", 
    96         dataIndex:'current_check_attempt', 
    97         renderer: renderAttempt, 
    98         width:50 
    99     },{ 
    100         header:"Host", 
    101         dataIndex:'host_name', 
    102         hidden:true, 
    103         width:75 
    104     },{ 
    105         header:"Plugin Output", 
    106         dataIndex:'output', 
    107         width:400 
     100        dataIndex:'host_state', 
     101        align:'center', 
     102        width:40, 
     103        renderer:renderHostStatus 
     104    },{ 
     105        id: 'sgHostTotalsCRITICAL', 
     106        header:"Critical", 
     107        dataIndex:'critical', 
     108        align:'center', 
     109        width:40, 
     110        renderer: npc.app.renderStatusBg 
     111    },{ 
     112        id: 'sgHostTotalsWARNING', 
     113        header:"Warning", 
     114        dataIndex:'warning', 
     115        align:'center', 
     116        width:45, 
     117        renderer: npc.app.renderStatusBg 
     118    },{ 
     119        id: 'sgHostTotalsUNKNOWN', 
     120        header:"Unknown", 
     121        dataIndex:'unknown', 
     122        align:'center', 
     123        width:45, 
     124        renderer: npc.app.renderStatusBg 
     125    },{ 
     126        id: 'sgHostTotalsOK', 
     127        header:"Ok", 
     128        dataIndex:'ok', 
     129        align:'center', 
     130        width:25, 
     131        renderer: npc.app.renderStatusBg 
     132    },{ 
     133        id: 'sgHostTotalsPENDING', 
     134        header:"Pending", 
     135        dataIndex:'pending', 
     136        align:'center', 
     137        width:45, 
     138        renderer: npc.app.renderStatusBg 
    108139    }]); 
    109140 
     141 
    110142    var grid = new Ext.grid.GridPanel({ 
    111         id: id + '-grid', 
     143        id: 'servicegroup-overview-portlet-grid', 
    112144        autoHeight:true, 
    113         autoExpandColumn: 'service_description', 
     145        autoExpandColumn: 'host_name', 
    114146        store:store, 
    115147        cm:cm, 
     
    122154            enableGroupingMenu: false, 
    123155            enableNoGroups: true, 
    124             groupTextTpl: '{text} ({[values.rs.length]} {[values.rs.length > 1 ? "Services" : "Service"]})'  
     156            groupTextTpl: '{text} ({[values.rs.length]} {[values.rs.length > 1 ? "Hosts" : "Host"]})', 
     157            scrollOffset:0 
    125158        }), 
    126159        bbar: new Ext.PagingToolbar({ 
    127160            pageSize: pageSize, 
    128161            store: store, 
    129             displayInfo: true 
    130         }), 
    131         plugins:[new Ext.ux.grid.Search({ 
    132             mode:'remote', 
    133             iconCls:false 
    134         })] 
     162            displayInfo: true, 
     163            displayMsg: '' 
     164        }) 
    135165    }); 
    136166 
     
    163193    tab.addListener(listeners); 
    164194 
    165     grid.on('rowclick', npc.app.serviceGridClick); 
    166  
     195    grid.on('rowclick', sgOverviewClick); 
     196 
     197    function sgOverviewClick(grid, rowIndex, e) { 
     198        //console.log(grid.getStore().getAt(rowIndex).json.servicegroup_object_id); 
     199        var soi = grid.getStore().getAt(rowIndex).json.servicegroup_object_id; 
     200        var name = grid.getStore().getAt(rowIndex).json.alias; 
     201        npc.app.serviceGroupGrid('serviceGroupGrid-'+soi, 'Servicegroup: '+name, soi); 
     202    } 
    167203}; 
  • trunk/setup.php

    r73 r74  
    8282        "serviceSummary" => 'o%3Acollapsed%3Db%253A0%5Ecolumn%3Ds%253Adashcol1%5Ehidden%3Db%253A0%5Eindex%3Ds%253A2%5Erefresh%3Dn%253A60%5Erows%3Dn%253A10', 
    8383        "monitoringPerf" => 'o%3Acollapsed%3Db%253A0%5Ecolumn%3Ds%253Adashcol2%5Ehidden%3Db%253A0%5Eindex%3Ds%253A0%5Erefresh%3Dn%253A60%5Erows%3Dn%253A10', 
    84         "eventLog" => 'o%3Acollapsed%3Db%253A0%5Ecolumn%3Ds%253Adashcol2%5Ehidden%3Db%253A0%5Eindex%3Ds%253A1%5Erefresh%3Dn%253A60%5Erows%3Dn%253A10', 
    85         "servicegroupOverview" => 'o%3Acollapsed%3Db%253A0%5Ecolumn%3Ds%253Adashcol2%5Ehidden%3Db%253A0%5Eindex%3Ds%253A2%5Erefresh%3Dn%253A60%5Erows%3Dn%253A10' 
     84        "eventLog" => 'o%3Acollapsed%3Db%253A0%5Ecolumn%3Ds%253Adashcol2%5Ehidden%3Db%253A1%5Eindex%3Ds%253A1%5Erefresh%3Dn%253A60%5Erows%3Dn%253A5', 
     85        "servicegroupServiceStatus" => 'o%3Acollapsed%3Db%253A0%5Ecolumn%3Ds%253Adashcol2%5Ehidden%3Db%253A0%5Eindex%3Ds%253A2%5Erefresh%3Dn%253A60%5Erows%3Dn%253A10' 
    8686    ); 
    8787