Changeset 74
- Timestamp:
- 03/07/08 00:50:11 (5 years ago)
- Location:
- trunk
- Files:
-
- 5 modified
- 1 moved
-
controllers/layout.php (modified) (2 diffs)
-
js/dashboard/eventlog-portlet.js (modified) (3 diffs)
-
js/dashboard/servicegroup-service-status.js (moved) (moved from trunk/js/dashboard/servicegroup-overview-portlet.js) (6 diffs)
-
js/npc.js (modified) (7 diffs)
-
js/serviceGroupOverview.js (modified) (6 diffs)
-
setup.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/controllers/layout.php
r73 r74 56 56 <script type="text/javascript" src="<?php echo $config["url_path"]; ?>plugins/npc/js/serviceDetail.js"></script> 57 57 <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> 58 59 59 60 <script type="text/javascript"> … … 86 87 <script type="text/javascript" src="<?php echo $config["url_path"]; ?>plugins/npc/js/dashboard/service-problems-portlet.js"></script> 87 88 <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> 89 90 90 91 <script type="text/javascript"> -
trunk/js/dashboard/eventlog-portlet.js
r71 r74 14 14 15 15 // Default # of events to display 16 var pageSize = parseInt(npc.app.params.npc_portlet_rows);16 var pageSize = 5; 17 17 18 18 function renderIcon(val){ … … 87 87 }), 88 88 bbar: new Ext.PagingToolbar({ 89 pageSize: 10,89 pageSize: pageSize, 90 90 store: store, 91 91 displayInfo: true, … … 107 107 108 108 // 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}}); 111 110 112 111 // Start auto refresh of the grid -
trunk/js/dashboard/servicegroup-service-status.js
r73 r74 21 21 switch(val) { 22 22 case 0: 23 state = 'U p';23 state = 'UP'; 24 24 bg = '33FF00'; 25 25 break; 26 26 case 1: 27 state = 'D own';27 state = 'DOWN'; 28 28 bg = 'F83838'; 29 29 break; 30 30 case 2: 31 state = 'U nreachable';31 state = 'UNREACHABLE'; 32 32 bg = 'F83838'; 33 33 break; 34 34 case -1: 35 state = 'P ending';35 state = 'PENDING'; 36 36 bg = '0099FF'; 37 37 break; … … 77 77 dataIndex:'host_state', 78 78 align:'center', 79 width: 40,79 width:50, 80 80 renderer:renderHostStatus 81 81 },{ … … 91 91 dataIndex:'warning', 92 92 align:'center', 93 width:4 5,93 width:40, 94 94 renderer: npc.app.renderStatusBg 95 95 },{ … … 98 98 dataIndex:'unknown', 99 99 align:'center', 100 width:4 5,100 width:40, 101 101 renderer: npc.app.renderStatusBg 102 102 },{ … … 105 105 dataIndex:'ok', 106 106 align:'center', 107 width:2 5,107 width:20, 108 108 renderer: npc.app.renderStatusBg 109 109 },{ … … 112 112 dataIndex:'pending', 113 113 align:'center', 114 width:4 5,114 width:40, 115 115 renderer: npc.app.renderStatusBg 116 116 }]); -
trunk/js/npc.js
r73 r74 494 494 text:'Servicegroup Overview', 495 495 iconCls:'tleaf', 496 leaf:true 496 leaf:true, 497 listeners: { 498 click: function() { 499 npc.app.serviceGroupOverview(); 500 } 501 } 497 502 },{ 498 503 text:'Servicegroup Summary', … … 611 616 handler: function() { 612 617 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(); 627 635 628 636 var form = new Ext.form.FormPanel({ … … 636 644 hideLabel: true, 637 645 xtype:'checkbox', 638 checked: e vetLogChecked,646 checked: eLC, 639 647 listeners: { 640 648 check: function(cb, checked) { 641 649 if (checked) { 642 e ventLog.show();650 eL.show(); 643 651 } else { 644 e ventLog.hide();652 eL.hide(); 645 653 } 646 654 } … … 650 658 hideLabel: true, 651 659 xtype:'checkbox', 652 checked: h ostSummaryChecked,660 checked: hSC, 653 661 listeners: { 654 662 check: function(cb, checked) { 655 663 if (checked) { 656 h ostSummary.show();664 hS.show(); 657 665 } else { 658 h ostSummary.hide();666 hS.hide(); 659 667 } 660 668 } … … 664 672 hideLabel: true, 665 673 xtype:'checkbox', 666 checked: s erviceSummaryChecked,674 checked: sSC, 667 675 listeners: { 668 676 check: function(cb, checked) { 669 677 if (checked) { 670 s erviceSummary.show();678 sS.show(); 671 679 } else { 672 s erviceSummary.hide();680 sS.hide(); 673 681 } 674 682 } … … 678 686 hideLabel: true, 679 687 xtype:'checkbox', 680 checked: s erviceProblemsChecked,688 checked: sPC, 681 689 listeners: { 682 690 check: function(cb, checked) { 683 691 if (checked) { 684 s erviceProblems.show();692 sP.show(); 685 693 } else { 686 s erviceProblems.hide();694 sP.hide(); 687 695 } 688 696 } … … 692 700 hideLabel: true, 693 701 xtype:'checkbox', 694 checked: m onitoringPerfChecked,702 checked: mPC, 695 703 listeners: { 696 704 check: function(cb, checked) { 697 705 if (checked) { 698 m onitoringPerf.show();706 mP.show(); 699 707 } 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(); 701 723 } 702 724 } -
trunk/js/serviceGroupOverview.js
r53 r74 2 2 3 3 // Panel title 4 var title = 'Service Group Overview';4 var title = 'Servicegroup Overview'; 5 5 6 6 // Panel ID 7 7 var id = 'serviceGroupOverview-tab'; 8 8 9 // GridURL9 // Portlet URL 10 10 var url = 'npc.php?module=servicegroups&action=getOverview'; 11 11 … … 29 29 return; 30 30 } 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); 39 39 } 40 40 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); 43 65 } 44 66 … … 46 68 url:url, 47 69 autoload:true, 48 sortInfo:{field: ' service_description', direction: "ASC"},70 sortInfo:{field: 'host_name', direction: "ASC"}, 49 71 reader: new Ext.data.JsonReader({ 50 72 totalProperty:'totalCount', 51 root:'data' ,73 root:'data' 52 74 }, [ 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'}, 57 77 'alias', 58 'instance_name',59 'servicegroup_name',60 'servicestatus_id',61 'current_state',62 'service_object_id',63 78 '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'} 65 85 ]), 66 86 groupField:'alias' … … 68 88 69 89 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', 72 96 sortable:true, 73 97 width:100 74 98 },{ 75 99 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 108 139 }]); 109 140 141 110 142 var grid = new Ext.grid.GridPanel({ 111 id: id + '-grid',143 id: 'servicegroup-overview-portlet-grid', 112 144 autoHeight:true, 113 autoExpandColumn: ' service_description',145 autoExpandColumn: 'host_name', 114 146 store:store, 115 147 cm:cm, … … 122 154 enableGroupingMenu: false, 123 155 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 125 158 }), 126 159 bbar: new Ext.PagingToolbar({ 127 160 pageSize: pageSize, 128 161 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 }) 135 165 }); 136 166 … … 163 193 tab.addListener(listeners); 164 194 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 } 167 203 }; -
trunk/setup.php
r73 r74 82 82 "serviceSummary" => 'o%3Acollapsed%3Db%253A0%5Ecolumn%3Ds%253Adashcol1%5Ehidden%3Db%253A0%5Eindex%3Ds%253A2%5Erefresh%3Dn%253A60%5Erows%3Dn%253A10', 83 83 "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%253A 0%5Eindex%3Ds%253A1%5Erefresh%3Dn%253A60%5Erows%3Dn%253A10',85 "servicegroup Overview" => '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' 86 86 ); 87 87