Table of Contents
1.- Introducción
En el siguiente aparatado se apartado describe el procedimiento para agregar campos al nodo personalizados a los nodo administarado por la Maquina virtual y se vean podran ver reflejados en NMIS9, opCharts 4 y opReportsopReports4 dependinetdo las necesidadesd el administrado.
Como fines prácticos para esta pagina consideraremos como ejemplo que el administrador desea agregar los siguiente campos En esta muestra el cliente requiere ver los campos “Client_Entry” y “Comments_Entry”
Procedimiento
. A continuación, se muestran os los archivos que se modifican con sus respectivos directorios y parámetros.
Nota: Antes de realizar cualquier cambio en los archivos se debe realizar hacer un bk respaldo para reestablecerlos restablecerlos si es necesario.
...
2.- Procedimiento para agregar los campos en NMIS9
1.- En el archivo Table-Nodes.nmis se agregan los campos “Client_Entry” y “Comments_Entry”
Directorio:
Code Block |
---|
#El archivo Table-Nodes.nmis se encuentra en la carpeta /conf-default y de sebera transferir a la carpeta /conf para que los cambios sean operativos. cp /usr/local/nmis9/conf-default/Table-Nodes.nmis /usr/local/nmis9/conf/Table-Nodes.nmis #Se abre el archivo para editar vi /usr/local/nmis9/conf/Table-Nodes.nmis |
Código de ejemplo.
Code Block |
---|
{ community => { mandatory => 'true', header => 'SNMP Community',display => 'text',value => ["$C->{default_communityRO}"] }},
#Campos Customizados
{ country => { mandatory => 'true', header => 'Country',display => 'popup', value => ["Panama"]}},
{ latitude => {header => 'Latitude',display => 'header,text',value => [""],}},
{ longitude => {header => 'Longitude',display => 'header,text',value => [""],}},
{ address => {header => 'Address',display => 'header,text',value => [""], }},
{ bandwith => {header => 'Bandwith_Mbps',display => 'header,text',value => [""], }},
{ circuit => {header => 'Circuit_ID',display => 'header,text',value => [""], }},
{ city => {header => 'City',display => 'header,text',value => [""], }},
{ client => {header => 'Client',display => 'header,text',value => [""], }},
{ comments => {header => 'Comments',display => 'header,text',value => [""], }},
{ customer => {header => 'customer',display => 'header,text',value => [""], }},
{ media=> {header => 'Media',display => 'header,text',value => [""], }},
{ anillo=> {header => 'Anillo',display => 'header,text',value => [""], }},
{ wmi => { special=>'separator', header => "WMI Options", } },
{ wmiusername => { header => "WMI Username", display => 'text', value => [''] }},
|
2.- En el archivo Config.nmis se agregan los campos nuevos que deseamos visualizar.
Directorio:
Code Block |
---|
cd /usr/local/nmis9/conf vi Config.nmis |
Parámetro
Buscar el siguiente parámetro, si utiliza el editor "vi" puede utilizar la expresión Esc + / para encontrarlo de manera más ágil, enseguida agrega los campos como se muestra en el ejemplo.
Code Block |
---|
'node_summary_field_list' |
Código de ejemplo
Code Block |
---|
'node_summary_field_list' => 'host,uuid,customer,businessService,serviceStatus,snmpdown,wmidown,country,latitude,longitude,address,bandwith,circuit,city,client,comments,customern,media,anillo', |
Parámetro:
Buscar el siguiente parámetro, enseguida agregar los campos como se muestra en el ejemplo.
Code Block |
---|
'network_viewNode_field_list' |
Código de ejemplo
Code Block |
---|
'network_viewNode_field_list' => 'nodestatus,outage,sysName,host_addr,host_addr_backup,group,latitude,longitude,address,bandwith,circuit,city,client,comments,country,customer,media,location,businessService,serviceStatus,notes,nodeType,nodeModel,polling_policy,sysUpTime,sysLocation,sysContact,sysDescr,ifNumber,last_ping,last_collect,last_update,nodeVendor,sysObjectName,roleType,netType', |
...
3.- Procedimiento para agregar los campos en opCharts
3.- En el archivo opCommon.json se agregan los campos nuevos que deseamos visualizar, para que se pueda ver reflejado en el modulo de opCharts.
Directorio:
Code Block |
---|
cd /usr/local/omk/conf |
Parámetro
vi opCommon.json |
Buscar el siguiente parámetro, si utiliza el "vi" puede utilizar la expresión /opcharts_node_list_exporttocsv para encontrarlo de manera más ágil.
Code Block |
---|
"opcharts_node_list_exporttocsv" |
Código de ejemplo
Code Block |
---|
|
Code Block |
"opcharts_node_list_exporttocsv" : [ "catchall.data.name", "catchall.node_uuid", "catchall.data.active", "catchall.data.cbqos", "catchall.data.collect", "catchall.data.customer", "catchall.data.group", "catchall.data.host", "catchall.data.intfCollect", "catchall.data.ifNumber", "catchall.data.location", "catchall.data.model", "catchall.data.nodeModel", "catchall.data.nodeType", "catchall.data.nodestatus", "catchall.data.nodeVendor", "catchall.data.customern", "catchall.data.media", "catchall.data.anillo" ], "opcharts_node_selector_show_more_at" : 6, |
Parámetro
En el mismo archivo opCommon.json se busca el Parámetro:
Code Block |
---|
"opcharts_metric_summarise_by" |
Código de ejemplo
Code Block |
---|
"opcharts_metric_summarise_by" : [ { "key" : "group", "name" : "Group" }, { "name" : "Locations", "key" : "location" }, { "name" : "Node Role", "key" : "roleType" }, { "key" : "country", "name" : "Country" }, { "key" : "latitude", "name" : "Latitude" }, { "key" : "longitude", "name" : "Longitude" }, { "name" : "Address", "key" : "address" }, { "name" : "Bandwith_Mbps", "key" : "bandwith" }, { "key" : "circuit", "name" : "circuit" }, { "name" : "City", "key" : "city" }, { "name" : "Client_Entry", "key" : "client" }, { "name" : "Comments_Entry", "key" : "comments" }, { "name" : "Customer_name", "key" : "customern" }, { "name" : "Media", "key" : "media" }, { "name" : "Anillo", "key" : "anillo" } ], "opcharts_gui_business_service_show_pagesize" : 0, |
4.- En el archivo opCharts_node-summary-table.json se agregan los campos “Client_Entry” y “Comments_Entry”
DirectorioAcceder al directorio /table_schemas y editar el siguiente archivo:
Code Block |
---|
cd /usr/local/omk/lib/json/opCharts/table_schemas/ vi opCharts_node-summary-table.json |
Código de ejemplo
Code Block |
---|
[
"group",
"host",
"host_addr",
"location",
"nodeVendor",
"nodeModel",
"country",
"latitude",
"longitude",
"address",
"bandwith",
"circuit",
"city",
"client",
"comments",
"customern",
"media",
"anillo",
{ "name" : "sysDescr", "label": "sysDescr", "cell": "Tooltip", "formatter": "ShortenedString", "maxLength" : 48}, |
5.- En el archivo opCharts_node-list.json se agregan los campos “Client_Entry” y “Comments_Entry”
Directorio:Acceder al directorio /table_schemas y editar el siguiente archivo:
Code Block |
---|
cd /usr/local/omk/lib/json/opCharts/table_schemas vi opCharts_node-list.json |
...
6.- En el archivo opCharts_business-services-nodes.json se agregan los campos nuevos para que aparezcan en la sección de Servicio de Negocios.
Acceder al directorio /table_schemas y editar el siguiente archivo:
Code Block |
---|
cd /usr/local/omk/lib/json/opCharts/table_schemas/
vi opCharts_business-services-nodes.json |
Se los nuevos campos requeridos por el cliente.
Code Block |
---|
{ "name": "catchall.data.nodestatus",
"label": "Node Status",
"cell": "NodeStatus",
"editable" : false
},
{ "name": "nodes.configuration.country",
"label": "Country",
"cell": "String",
"search" : "regex",
"editable" : false
},
{ "name": "nodes.configuration.latitude",
"label": "Latitude",
"cell": "String",
"search" : false,
"editable" : false
},
{ "name": "nodes.configuration.longitude",
"label": "Longitude",
"cell": "String",
"search" : false,
"editable" : false
},
{ "name": "nodes.configuration.address",
"label": "Address",
"cell": "String",
"search" : "regex",
"editable" : false
},
{ "name": "nodes.configuration.bandwith",
"label": "Bandwith_Mbps",
"cell": "String",
"search" : "regex",
"editable" : false
},
{ "name": "nodes.configuration.circuit",
"label": "Circuit_ID",
"cell": "String",
"search" : "regex",
"editable" : false
},
|
7.- En el archivo opCharts_node_selector_sections.json se agregan los campos nuevos para que aparezcan en la sección de Node Filter.
Acceder al directorio /table_schemas y editar el siguiente archivo:
Code Block |
---|
cd /usr/local/omk/lib/json/opCharts/table_schemas/
vi opCharts_node_selector_sections.json |
Code Block |
---|
...
{
"name" : "catchall.data.nodeVendor",
"label" : "Node Vendor 2"
},
{
"name" : "catchall.data.country",
"label" : "Country"
},
{
"name" : "configuration.property",
"label" : "Property"
}
... |
Se mostrarán los nuevos campos requeridos por el cliente en el área de filtrado.
4.-Procedimiento para agregar los campos en opReports4
6.- En el archivo report_node.html.ep se agregan los campos nuevos que deseamos visualizar, para que se pueda ver reflejado en el módulo de opReports
Directorio:Acceder al directorio /reports y editar el siguiente archivo:
Code Block |
---|
cd /usr/local/omk/templates/reports/reports vi report_node.html.ep |
Código de ejemplo
Code Block |
---|
% for my $item ('name','nodestatus','sysName','host_addr','nodeType','nodeModel','sysUpTime','ifNumber','sysLocation', 'sysContact','sysDescr','last_update','nodeVendor','sysObjectName','group','roleType','netType',Country,'Latitude','Longitude','Address','Bandwith_Mbps','Circuit_ID','City','Client_Entry','Comments_Entry','Customer_Name','Media','Anillo') {
<tr>
<td class="report_primhead">
|
Resultados
Visualización en NMIS9
Visualización en opCharts4
Visualización en opReports 4
NOTA: Antes de realizar una actualización a cualquier módulo de OMK, recomendamos mover todos los archivos de table_schemas modificados a la carpeta /usr/local/omk/conf/form_schemas, esto para evitar que sean reemplazados con las nuevas versiones y se puedan mantener todos los campos personalizados agregados.