Parcourir la source

Se actualizan vendors y se modifican unas rutas.

Maxi Schvindt il y a 7 ans
Parent
commit
8f57e5b8d4

+ 6 - 6
composer.lock

@@ -1417,7 +1417,7 @@
             "source": {
                 "type": "git",
                 "url": "ssh://git@infra.flowdat.com:222/VendorSoftwareFlowdat3/BaseAdmin.git",
-                "reference": "329e1ae099e739ba2770f4c3029c02b139dece91"
+                "reference": "e14efccf1d5598768f78f454924fd5a5a71bdf0c"
             },
             "type": "library",
             "autoload": {
@@ -1432,7 +1432,7 @@
                 "bootstrap",
                 "sonata"
             ],
-            "time": "2018-06-26T14:21:26+00:00"
+            "time": "2018-07-03T16:29:14+00:00"
         },
         {
             "name": "ik/device-bundle",
@@ -1625,7 +1625,7 @@
             "source": {
                 "type": "git",
                 "url": "ssh://git@gogs.infra.flowdat.com:222/VendorSoftwareFlowdat3/CmtsBundle.git",
-                "reference": "fcdbde0a5c13967df0e34d4b5893a432c27e7466"
+                "reference": "0ad4d24824b5a67661be8f5a23ce5c7f781fde42"
             },
             "type": "library",
             "autoload": {
@@ -1638,7 +1638,7 @@
                 "CMTS",
                 "Flowdat 3"
             ],
-            "time": "2018-06-28T15:27:59+00:00"
+            "time": "2018-07-03T17:04:08+00:00"
         },
         {
             "name": "ik/stats/fiberhome-bundle",
@@ -1793,7 +1793,7 @@
             "source": {
                 "type": "git",
                 "url": "ssh://git@infra.flowdat.com:222/VendorSoftwareFlowdat3/Webservice.git",
-                "reference": "3f08376bf0b454e4aa25b8528a55d9540eb26a15"
+                "reference": "4fb907804f45b182cda4c48551adf5240386111a"
             },
             "require": {
                 "ext-curl": "*",
@@ -1806,7 +1806,7 @@
                 }
             },
             "description": "The Flowdat3 Webservice Rest",
-            "time": "2018-07-03T12:02:52+00:00"
+            "time": "2018-07-03T12:59:44+00:00"
         },
         {
             "name": "ik/workflow-bundle",

+ 1 - 1
src/StatsBundle/Controller/CmtsReportController.php

@@ -14,7 +14,7 @@ class CmtsReportController extends Controller
 {
 
     /**
-     * @Route("admin/stats/cmts/{cmtsServerId}/{cmtsDeviceId}/report", name="admin_stats_cmts_report")
+     * @Route("admin/stats/cmts/{cmtsServerId}/{cmtsDeviceId}/report_back", name="admin_stats_cmts_report_back")
      */
     public function cmtsReport($cmtsServerId, $cmtsDeviceId) {
 

+ 66 - 0
src/StatsBundle/Controller/StatsController.php

@@ -1070,4 +1070,70 @@ class StatsController extends Controller
 
     }
 
+    /**
+     * @Route("admin/stats/cmts/{cmtsServerId}/{cmtsDeviceId}/report", name="admin_stats_cmts_report")
+     */
+    public function showCmtsAction($serverId, $cmtsDeviceId, Request $request) 
+    {
+
+        $em = $this->get("doctrine.orm.entity_manager");
+        $endpoint = $this->get('endpoint.mongo');
+        $redis = $this->get('redis');
+        $prefix = "d_{$cmtsDeviceId}_s_{$serverId}";
+        
+        ($request->get('from'))? $from = $request->get('from') : $from = date("Y-m-d H:i:s",strtotime("-3 hour"));
+        ($request->get('to'))? $to = $request->get('to') : $to = date("Y-m-d H:i:s",strtotime("now"));
+        $range = array('from' => $from, 'to' => $to);
+
+        $errors = $series = $targets = array();
+        
+        $key_ifs_stats = "cmts_stats_ifs_{$prefix}";
+        $interfacesStats = $redis->get($key_ifs_stats);
+        $utilizations = array();
+        if(isset($interfacesStats[$index]['utilization'])) {
+            foreach($interfacesStats[$index]['utilization'] as $i => $value) {
+                $utilizations[] = $i;
+                $targets["utilization_{$index}.{$i}"] = array("target" => "{$prefix}_if_utilization_{$index}.{$i}");
+            }
+        }
+
+        $targets["in_bandwidth"] = array("target" => "{$prefix}_inbandwidth_cmts");
+        $targets["out_bandwidth"] = array("target" => "{$prefix}_outbandwidth_cmts");
+
+        $targets["in_consumption"] = array("target" => "{$prefix}_inconsumption_cmts");
+        $targets["out_consumption"] = array("target" => "{$prefix}_outconsumption_cmts");
+
+        $targets["command_cmts_octets"] = array("target" => "{$prefix}_snmp_cmtsOctets");
+        $targets["command_interface_scan"] = array("target" => "{$prefix}_snmp_cmtsIf");
+        $targets["command_cm_scan"] = array("target" => "{$prefix}_snmp_cmMac");
+        
+        //$targets["cer"] = array("target" => "{$prefix}_if_cer_{$index}");
+        
+        $search = array('targets' => $targets, 'maxDataPoints' => 500000, 'range' => $range);
+        $start = microtime(true);
+        $this->getSeries($series, $errors, $targets, $search, "interface: {$index}");
+        $end = microtime(true);
+
+        print_r("<pre>");
+        print_r($series);
+        die;
+
+
+
+        $adminPool = $this->get('sonata.admin.pool');
+
+        $em = $this->get('doctrine')->getManager();
+        $filter = array('deviceId' => $cmtsDeviceId, 'deviceServer' => $cmtsServerId, 'deviceType' => 'CablemodemBundle\Entity\CMTS');
+        $cmts = $em->getRepository('StatsBundle:Device')->findOneBy($filter);
+        $data = $cmts->jsonExtraData();
+
+        return $this->render('StatsBundle:Stats:show_cmts.html.twig', array(
+            'base_template' => $adminPool->getTemplate('layout'),
+            'admin_pool' => $adminPool,
+            'admin' => $adminPool->getAdminByAdminCode("sonata.admin.stats.olt"),
+            'device' => $cmts,
+            'data' => $data
+        ));
+    }
+
 }

+ 1 - 0
src/StatsBundle/Resources/translations/StatsBundle.es.yml

@@ -8,6 +8,7 @@ breadcrumb:
     link_pon_port_list: Listado de PonPorts
     link_cmts_interface_list: Listado de Interfaces
     link_cablemodem_list: Listado de Cablemodems
+    link_cmts_list: Listado de CMTS
 
 filter:
     label_name: Nombre

+ 134 - 0
src/StatsBundle/Resources/views/Stats/show_cmts.html.twig

@@ -0,0 +1,134 @@
+{% extends "@BaseAdminBundle/Resources/views/standard_layout.html.twig" %}
+
+{% block stylesheets %}
+{{ parent() }}
+<link rel="stylesheet" href="{{ asset('bundles/stats/datatables/jquery.dataTables.min.css') }}">
+<style>
+
+.cpu_card {
+    border: 1px solid rgba(0,0,0,0.2);
+    float: left;
+    margin: 2px;
+    padding: 2px;
+}
+</style>
+{% endblock %}
+
+{% block javascripts %}
+{{ parent() }}
+<script src="{{ asset('bundles/baseadmin/report/hinclude.js') }}"></script>
+<script src="{{ asset('bundles/baseadmin/report/randomColor.js') }}"></script>
+<script src="{{ asset('bundles/baseadmin/report/chart.min.js') }}"></script>
+<script src="{{ asset('bundles/stats/datatables/jquery.dataTables.min.js') }}"></script>
+{% endblock %}
+
+{% block sonata_page_content %}
+<section class="content-header">
+    <div class="sticky-wrapper" style="">
+        <nav class="navbar navbar-default" role="navigation" style="width: auto;">
+            <div class="container-fluid">
+                <div class="hidden-xs">
+                    <ol class="nav navbar-top-links breadcrumb">
+                        <li><a href="/app_dev.php/admin/dashboard"><i class="fa fa-home"></i></a></li>
+                        <li><a href="{{url('admin_stats_cmts_list')}}">{{"breadcrumb.link_cmts_list"|trans({}, 'StatsBundle')}}</a></li>
+                        <li class="active"><span>{{data['name']}}</span></li>
+                    </ol>
+                </div>
+                <div class="navbar-collapse"></div>
+            </div>
+        </nav>
+    </div>
+</section>
+
+{% set mark = data.mark %}
+<section class="content">
+    <div class="box box-primary">
+        <br />
+        <div class="box-body">
+            <div class="col-sm-12">
+                <div class="nav-tabs-custom">
+                    <ul class="nav nav-tabs">
+                        <li class="active">
+                            <a href="#tab_1" data-toggle="tab">Description</a>
+                        </li>
+                        <li>
+                            <a href="#tab_2" data-toggle="tab">Cablemodems <span class="no_defined nas_data_origen"></span></a>
+                        </li>
+                        <li>
+                            <a href="#tab_3" data-toggle="tab">Utilization <span class="no_defined nas_data_origen">( %)</span></a>
+                        </li>
+                        <li>
+                            <a href="#tab_4" data-toggle="tab">CER <span class="no_defined nas_data_origen">( %)</span></a>
+                        </li>
+                    </ul>
+                    <div class="tab-content clearfix">
+                        {# TAB Description #}
+                        <div class="tab-pane active" id="tab_1">
+                            <div>
+                                <div class="col-sm-3">
+                                    {{ render_hinclude(controller("StatsBundle:CmtsReport:cmtsInformation", {'cmtsServerId': device.getDeviceServer.getId(), 'cmtsDeviceId': device.getDeviceId()}),
+                                        {'default':  include("@Stats/Device/Report/default.html.twig")})
+                                    }}
+                                </div>
+                                <div class="col-sm-3">
+                                    {{ render_hinclude(controller("StatsBundle:CmtsReport:cmStateCount", {'cmtsServerId': device.getDeviceServer.getId(), 'cmtsDeviceId': device.getDeviceId()}),
+                                        {'default':  include("@Stats/Device/Report/default.html.twig")})
+                                    }}
+                                </div>
+                                <div class="col-sm-6">
+                                    {{ render_hinclude(controller("StatsBundle:CmtsReport:cmtsConsumption", {'cmtsServerId': device.getDeviceServer.getId(), 'cmtsDeviceId': device.getDeviceId()}),
+                                        {'default':  include("@Stats/Device/Report/default.html.twig")})
+                                    }}
+                                </div>
+                            </div>
+
+                            <div>
+                                <div class="col-sm-6">
+                                    {{ render_hinclude(controller("StatsBundle:CmtsReport:cmtsBandwidth", {'cmtsServerId': device.getDeviceServer.getId(), 'cmtsDeviceId': device.getDeviceId()}),
+                                        {'default':  include("@Stats/Device/Report/default.html.twig")})
+                                    }}
+                                </div>
+                                <div class="col-sm-6">
+                                    {{ render_hinclude(controller("StatsBundle:CmtsReport:cmSignal", {'cmtsServerId': device.getDeviceServer.getId(), 'cmtsDeviceId': device.getDeviceId()}),
+                                        {'default':  include("@Stats/Device/Report/default.html.twig")})
+                                    }}
+                                </div>
+                            </div>
+
+                            <div>
+                                <div class="col-sm-6">
+                                    {# {{ render_hinclude(controller("StatsBundle:CmtsReport:cmtsCommands", {'cmtsServerId': device.getDeviceServer.getId(), 'cmtsDeviceId': device.getDeviceId(), 'mark': mark}),
+                                        {'default':  include("@Stats/Device/Report/default.html.twig")})
+                                    }} #}
+                                </div>
+                                <div class="col-sm-6">
+                                    {# {{ render_hinclude(controller("StatsBundle:CmtsReport:cmtsReport", {'cmtsServerId': device.getDeviceServer.getId(), 'cmtsDeviceId': device.getDeviceId()}),
+                                        {'default':  include("@Stats/Device/Report/default.html.twig")})
+                                    }} #}
+                                </div>
+                            </div>
+                        </div>
+
+                        <div class="tab-pane" id="tab_2">
+                        {# {% include '@Stats/Stats/Template/interface_cms.html.twig' %} #}
+                        </div>
+                        
+                        <div class="tab-pane" id="tab_3">
+                        {# {% include '@Stats/Stats/Template/interface_cms.html.twig' %} #}
+                        </div>
+                        
+                        <div class="tab-pane" id="tab_4">
+                        {# {% include '@Stats/Stats/Template/interface_cms.html.twig' %} #}
+                        </div>
+
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</section>
+
+{{dump(device)}}
+{{dump(data)}}
+
+{% endblock %}