mirror of
https://github.com/stylersnico/librenms.git
synced 2026-07-30 16:14:21 +02:00
Merge branch 'master' of https://github.com/librenms/librenms
Conflicts: includes/services/check_dhcp.inc.php
This commit is contained in:
@@ -96,6 +96,8 @@ LibreNMS contributors:
|
|||||||
- Jared Newell <jared.newell@gmail.com> (Jaredn)
|
- Jared Newell <jared.newell@gmail.com> (Jaredn)
|
||||||
- Karsten Nerdinger <karsten-git-librenms@nerdinger.net> (piratonym)
|
- Karsten Nerdinger <karsten-git-librenms@nerdinger.net> (piratonym)
|
||||||
- Michael Nguyen <mnguyen1289@gmail.com> (mnguyen1289)
|
- Michael Nguyen <mnguyen1289@gmail.com> (mnguyen1289)
|
||||||
|
- Casey Schoonover <casey.schoonover@llcc.edu> (cschoonover91)
|
||||||
|
- Chris A. Evans <thecityofguanyu@outlook.com> (thecityofguanyu)
|
||||||
|
|
||||||
[1]: http://observium.org/ "Observium web site"
|
[1]: http://observium.org/ "Observium web site"
|
||||||
Observium was written by:
|
Observium was written by:
|
||||||
|
|||||||
@@ -30,6 +30,7 @@
|
|||||||
- [`get_devices_by_group`](#api-route-get_devices_by_group)
|
- [`get_devices_by_group`](#api-route-get_devices_by_group)
|
||||||
- [`routing`](#api-routing)
|
- [`routing`](#api-routing)
|
||||||
- [`list_bgp`](#api-route-1)
|
- [`list_bgp`](#api-route-1)
|
||||||
|
- [`list_ipsec`](#list_ipsec)
|
||||||
- [`switching`](#api-switching)
|
- [`switching`](#api-switching)
|
||||||
- [`get_vlans`](#api-route-4)
|
- [`get_vlans`](#api-route-4)
|
||||||
- [`alerts`](#api-alerts)
|
- [`alerts`](#api-alerts)
|
||||||
@@ -866,6 +867,43 @@ Output:
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### <a name="list_ipsec">Function: `list_ipsec`</a> [`top`](#top)
|
||||||
|
|
||||||
|
List the current IPSec tunnels which are active.
|
||||||
|
|
||||||
|
Route: /api/v0/routing/ipsec/data/:hostname
|
||||||
|
|
||||||
|
- hostname can be either the device hostname or id
|
||||||
|
|
||||||
|
Input:
|
||||||
|
|
||||||
|
-
|
||||||
|
|
||||||
|
Example:
|
||||||
|
```curl
|
||||||
|
curl -H 'X-Auth-Token: YOURAPITOKENHERE' https://librenms.org/api/v0/routing/ipsec/data/localhost
|
||||||
|
```
|
||||||
|
|
||||||
|
Output:
|
||||||
|
```text
|
||||||
|
{
|
||||||
|
"status": "ok",
|
||||||
|
"err-msg": "",
|
||||||
|
"count": 0,
|
||||||
|
"ipsec": [
|
||||||
|
"tunnel_id": "1",
|
||||||
|
"device_id": "1",
|
||||||
|
"peer_port": "0",
|
||||||
|
"peer_addr": "127.0.0.1",
|
||||||
|
"local_addr": "127.0.0.2",
|
||||||
|
"local_port": "0",
|
||||||
|
"tunnel_name": "",
|
||||||
|
"tunnel_status": "active"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
> Please note, this will only show active VPN sessions not all configured.
|
||||||
|
|
||||||
## <a name="api-switching">`Switching`</a> [`top`](#top)
|
## <a name="api-switching">`Switching`</a> [`top`](#top)
|
||||||
|
|
||||||
### <a name="api-route-4">Function: `get_vlans`</a> [`top`](#top)
|
### <a name="api-route-4">Function: `get_vlans`</a> [`top`](#top)
|
||||||
|
|||||||
@@ -15,7 +15,15 @@ On each of the hosts you would like to use the agent on then you need to do the
|
|||||||
cd /opt/
|
cd /opt/
|
||||||
git clone https://github.com/librenms/librenms-agent.git
|
git clone https://github.com/librenms/librenms-agent.git
|
||||||
cd librenms-agent
|
cd librenms-agent
|
||||||
cp check_mk_agent /usr/bin/check_mk_agent
|
```
|
||||||
|
|
||||||
|
Now copy the relevant check_mk_agent:
|
||||||
|
|
||||||
|
| linux | freebsd |
|
||||||
|
| --- | --- |
|
||||||
|
| `cp check_mk_agent /usr/bin/check_mk_agent` | `cp check_mk_agent_freebsd /usr/bin/check_mk_agent` |
|
||||||
|
|
||||||
|
```shell
|
||||||
chmod +x /usr/bin/check_mk_agent
|
chmod +x /usr/bin/check_mk_agent
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -128,7 +128,7 @@ Next, add the following to `/etc/apache2/sites-available/librenms.conf`:
|
|||||||
</VirtualHost>
|
</VirtualHost>
|
||||||
```
|
```
|
||||||
|
|
||||||
If you are running Apache 2.2.18 or higher then change AllowEncodedSlashes to NoDecode
|
If you are running Apache 2.2.18 or higher then change `AllowEncodedSlashes On` to `AllowEncodedSlashes NoDecode`
|
||||||
|
|
||||||
If you have Apache 2.3 or newer then please add the following line before `AllowOverride All`:
|
If you have Apache 2.3 or newer then please add the following line before `AllowOverride All`:
|
||||||
|
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ You need to configure snmpd appropriately if you have not already done so. An a
|
|||||||
|
|
||||||
Adding the above line to `/etc/snmp/snmpd.conf` and running `service snmpd restart` will activate this config.
|
Adding the above line to `/etc/snmp/snmpd.conf` and running `service snmpd restart` will activate this config.
|
||||||
|
|
||||||
In `/etc/php5/apache2/php.ini` and `/etc/php5/cli/php.ini`, ensure date.timezone is set to your preferred time zone. See http://php.net/manual/en/timezones.php for a list of supported timezones. Valid
|
In `/etc/php5/fpm/php.ini` and `/etc/php5/cli/php.ini`, ensure date.timezone is set to your preferred time zone. See http://php.net/manual/en/timezones.php for a list of supported timezones. Valid
|
||||||
examples are: "America/New York", "Australia/Brisbane", "Etc/UTC".
|
examples are: "America/New York", "Australia/Brisbane", "Etc/UTC".
|
||||||
Please also ensure that `allow_url_fopen` is enabled. Other functions needed for LibreNMS include `exec,passthru,shell_exec,escapeshellarg,escapeshellcmd,proc_close,proc_open,popen`.
|
Please also ensure that `allow_url_fopen` is enabled. Other functions needed for LibreNMS include `exec,passthru,shell_exec,escapeshellarg,escapeshellcmd,proc_close,proc_open,popen`.
|
||||||
|
|
||||||
@@ -101,7 +101,7 @@ Sometimes the initial clone can take quite a while (nearly 3 minutes on a 10 Mbp
|
|||||||
|
|
||||||
### Web Interface ###
|
### Web Interface ###
|
||||||
|
|
||||||
To prepare the web interface (and adding devices shortly), you'll need to create and chown a directory as well as create an Apache vhost.
|
To prepare the web interface (and adding devices shortly), you'll need to create and chown a directory as well as create a Nginx vhost.
|
||||||
|
|
||||||
First, create and chown the `rrd` directory and create the `logs` directory:
|
First, create and chown the `rrd` directory and create the `logs` directory:
|
||||||
|
|
||||||
@@ -127,7 +127,7 @@ server {
|
|||||||
}
|
}
|
||||||
location ~ \.php {
|
location ~ \.php {
|
||||||
fastcgi_param PATH_INFO $fastcgi_path_info;
|
fastcgi_param PATH_INFO $fastcgi_path_info;
|
||||||
include fastcgi.conf;
|
include fastcgi_params;
|
||||||
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
||||||
fastcgi_pass unix:/var/run/php5-fpm.sock;
|
fastcgi_pass unix:/var/run/php5-fpm.sock;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ if ($type == 'placeholder') {
|
|||||||
elseif (is_file('includes/common/'.$type.'.inc.php')) {
|
elseif (is_file('includes/common/'.$type.'.inc.php')) {
|
||||||
|
|
||||||
$results_limit = 10;
|
$results_limit = 10;
|
||||||
|
$typeahead_limit = $config['webui']['global_search_result_limit'];
|
||||||
$no_form = true;
|
$no_form = true;
|
||||||
$title = ucfirst($type);
|
$title = ucfirst($type);
|
||||||
$unique_id = str_replace(array("-","."),"_",uniqid($type,true));
|
$unique_id = str_replace(array("-","."),"_",uniqid($type,true));
|
||||||
|
|||||||
@@ -128,6 +128,19 @@ $app->group(
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
// End Inventory
|
// End Inventory
|
||||||
|
// Routing section
|
||||||
|
$app->group(
|
||||||
|
'/routing',
|
||||||
|
function () use ($app) {
|
||||||
|
$app->group(
|
||||||
|
'/ipsec',
|
||||||
|
function () use ($app) {
|
||||||
|
$app->get('/data/:hostname', 'authToken', 'list_ipsec')->name('list_ipsec');
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
// End Routing
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
$app->get('/v0', 'authToken', 'show_endpoints');
|
$app->get('/v0', 'authToken', 'show_endpoints');
|
||||||
|
|||||||
@@ -1288,3 +1288,33 @@ function get_devices_by_group() {
|
|||||||
echo _json_encode($output);
|
echo _json_encode($output);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function list_ipsec() {
|
||||||
|
$app = \Slim\Slim::getInstance();
|
||||||
|
$router = $app->router()->getCurrentRoute()->getParams();
|
||||||
|
$status = 'error';
|
||||||
|
$code = 404;
|
||||||
|
$message = '';
|
||||||
|
$hostname = $router['hostname'];
|
||||||
|
// use hostname as device_id if it's all digits
|
||||||
|
$device_id = ctype_digit($hostname) ? $hostname : getidbyname($hostname);
|
||||||
|
if (!is_numeric($device_id)) {
|
||||||
|
$message = "No valid hostname or device ID provided";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$ipsec = dbFetchRows("SELECT `D`.`hostname`, `I`.* FROM `ipsec_tunnels` AS `I`, `devices` AS `D` WHERE `I`.`device_id`=? AND `D`.`device_id` = `I`.`device_id`", array($device_id));
|
||||||
|
$total = count($ipsec);
|
||||||
|
$status = 'ok';
|
||||||
|
$code = 200;
|
||||||
|
}
|
||||||
|
|
||||||
|
$output = array(
|
||||||
|
'status' => $status,
|
||||||
|
'err-msg' => $message,
|
||||||
|
'count' => $total,
|
||||||
|
'ipsec' => $ipsec,
|
||||||
|
);
|
||||||
|
$app->response->setStatus($code);
|
||||||
|
$app->response->headers->set('Content-Type', 'application/json');
|
||||||
|
echo _json_encode($output);
|
||||||
|
}
|
||||||
|
|||||||
@@ -204,6 +204,7 @@ function '.$unique_id.'() {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
source: '.$unique_id.'_device.ttAdapter(),
|
source: '.$unique_id.'_device.ttAdapter(),
|
||||||
|
limit: '.$typeahead_limit.',
|
||||||
async: false,
|
async: false,
|
||||||
templates: {
|
templates: {
|
||||||
header: "<h5><strong> Devices</strong></h5>",
|
header: "<h5><strong> Devices</strong></h5>",
|
||||||
@@ -240,6 +241,7 @@ function '.$unique_id.'() {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
source: '.$unique_id.'_port.ttAdapter(),
|
source: '.$unique_id.'_port.ttAdapter(),
|
||||||
|
limit: '.$typeahead_limit.',
|
||||||
async: false,
|
async: false,
|
||||||
templates: {
|
templates: {
|
||||||
header: "<h5><strong> Ports</strong></h5>",
|
header: "<h5><strong> Ports</strong></h5>",
|
||||||
@@ -275,6 +277,7 @@ function '.$unique_id.'() {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
source: '.$unique_id.'_application.ttAdapter(),
|
source: '.$unique_id.'_application.ttAdapter(),
|
||||||
|
limit: '.$typeahead_limit.',
|
||||||
async: false,
|
async: false,
|
||||||
templates: {
|
templates: {
|
||||||
header: "<h5><strong> Applications</strong></h5>",
|
header: "<h5><strong> Applications</strong></h5>",
|
||||||
@@ -312,6 +315,7 @@ function '.$unique_id.'() {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
source: '.$unique_id.'_munin.ttAdapter(),
|
source: '.$unique_id.'_munin.ttAdapter(),
|
||||||
|
limit: '.$typeahead_limit.',
|
||||||
async: false,
|
async: false,
|
||||||
templates: {
|
templates: {
|
||||||
header: "<h5><strong> Munin</strong></h5>",
|
header: "<h5><strong> Munin</strong></h5>",
|
||||||
@@ -346,6 +350,7 @@ function '.$unique_id.'() {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
source: '.$unique_id.'_bill.ttAdapter(),
|
source: '.$unique_id.'_bill.ttAdapter(),
|
||||||
|
limit: '.$typeahead_limit.',
|
||||||
async: false,
|
async: false,
|
||||||
templates: {
|
templates: {
|
||||||
header: "<h5><strong><i class=\'fa fa-money\'></i> Bill</strong></h5>",
|
header: "<h5><strong><i class=\'fa fa-money\'></i> Bill</strong></h5>",
|
||||||
@@ -432,3 +437,4 @@ else {
|
|||||||
$common_output[] = '<a href="graphs/'.$param.'/type='.$widget_settings['graph_type'].'/from='.$config['time'][$widget_settings['graph_range']].'"><img class="minigraph-image" width="'.$widget_dimensions['x'].'" height="'.$widget_dimensions['y'].'" src="graph.php?'.$param.'&from='.$config['time'][$widget_settings['graph_range']].'&to='.$config['time']['now'].'&width='.$widget_dimensions['x'].'&height='.$widget_dimensions['y'].'&type='.$widget_settings['graph_type'].'&legend='.($widget_settings['graph_legend'] == 1 ? 'yes' : 'no').'&absolute=1"/></a>';
|
$common_output[] = '<a href="graphs/'.$param.'/type='.$widget_settings['graph_type'].'/from='.$config['time'][$widget_settings['graph_range']].'"><img class="minigraph-image" width="'.$widget_dimensions['x'].'" height="'.$widget_dimensions['y'].'" src="graph.php?'.$param.'&from='.$config['time'][$widget_settings['graph_range']].'&to='.$config['time']['now'].'&width='.$widget_dimensions['x'].'&height='.$widget_dimensions['y'].'&type='.$widget_settings['graph_type'].'&legend='.($widget_settings['graph_legend'] == 1 ? 'yes' : 'no').'&absolute=1"/></a>';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ $group_id = $_POST['group_id'];
|
|||||||
|
|
||||||
if (is_numeric($group_id) && $group_id > 0) {
|
if (is_numeric($group_id) && $group_id > 0) {
|
||||||
$group = dbFetchRow('SELECT * FROM `device_groups` WHERE `id` = ? LIMIT 1', array($group_id));
|
$group = dbFetchRow('SELECT * FROM `device_groups` WHERE `id` = ? LIMIT 1', array($group_id));
|
||||||
$group_split = preg_split('/([a-zA-Z0-9_\-\.\=\%\<\>\ \"\'\!\~\(\)\*\/\@\[\]]+[&&\|\|]+)/', $group['pattern'], -1, (PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY));
|
$group_split = preg_split('/([a-zA-Z0-9_\-\.\=\%\<\>\ \"\'\!\~\(\)\*\/\@\[\]\^\$]+[&&\|\|]+)/', $group['pattern'], -1, (PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY));
|
||||||
$count = (count($group_split) - 1);
|
$count = (count($group_split) - 1);
|
||||||
if (preg_match('/\&\&$/', $group_split[$count]) == 1 || preg_match('/\|\|$/', $group_split[$count]) == 1) {
|
if (preg_match('/\&\&$/', $group_split[$count]) == 1 || preg_match('/\|\|$/', $group_split[$count]) == 1) {
|
||||||
$group_split[$count] = $group_split[$count];
|
$group_split[$count] = $group_split[$count];
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ $i = 0;
|
|||||||
if ($handle = opendir($rrddir)) {
|
if ($handle = opendir($rrddir)) {
|
||||||
while (false !== ($file = readdir($handle))) {
|
while (false !== ($file = readdir($handle))) {
|
||||||
if ($file != '.' && $file != '..') {
|
if ($file != '.' && $file != '..') {
|
||||||
if (eregi('app-shoutcast-'.$app['app_id'], $file)) {
|
if (stripos($file, 'app-shoutcast-'.$app['app_id']) != false) {
|
||||||
array_push($files, $file);
|
array_push($files, $file);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -35,8 +35,8 @@ if ($handle = opendir($rrddir)) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
foreach ($files as $id => $file) {
|
foreach ($files as $id => $file) {
|
||||||
$hostname = eregi_replace('app-shoutcast-'.$app['app_id'].'-', '', $file);
|
$hostname = str_ireplace('app-shoutcast-'.$app['app_id'].'-', '', $file);
|
||||||
$hostname = eregi_replace('.rrd', '', $hostname);
|
$hostname = str_ireplace('.rrd', '', $hostname);
|
||||||
list($host, $port) = explode('_', $hostname, 2);
|
list($host, $port) = explode('_', $hostname, 2);
|
||||||
$rrd_filenames[] = $rrddir.'/'.$file;
|
$rrd_filenames[] = $rrddir.'/'.$file;
|
||||||
$rrd_list[$i]['filename'] = $rrddir.'/'.$file;
|
$rrd_list[$i]['filename'] = $rrddir.'/'.$file;
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ $x = 0;
|
|||||||
if ($handle = opendir($rrddir)) {
|
if ($handle = opendir($rrddir)) {
|
||||||
while (false !== ($file = readdir($handle))) {
|
while (false !== ($file = readdir($handle))) {
|
||||||
if ($file != '.' && $file != '..') {
|
if ($file != '.' && $file != '..') {
|
||||||
if (eregi('app-shoutcast-'.$app['app_id'], $file)) {
|
if (stripos($file, 'app-shoutcast-'.$app['app_id']) !== false) {
|
||||||
array_push($files, $file);
|
array_push($files, $file);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -23,8 +23,8 @@ if ($handle = opendir($rrddir)) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
foreach ($files as $id => $file) {
|
foreach ($files as $id => $file) {
|
||||||
$hostname = eregi_replace('app-shoutcast-'.$app['app_id'].'-', '', $file);
|
$hostname = str_ireplace('app-shoutcast-'.$app['app_id'].'-', '', $file);
|
||||||
$hostname = eregi_replace('.rrd', '', $hostname);
|
$hostname = str_ireplace('.rrd', '', $hostname);
|
||||||
list($host, $port) = explode('_', $hostname, 2);
|
list($host, $port) = explode('_', $hostname, 2);
|
||||||
$rrd_filenames[] = $rrddir.'/'.$file;
|
$rrd_filenames[] = $rrddir.'/'.$file;
|
||||||
$rrd_list[$i]['filename'] = $rrddir.'/'.$file;
|
$rrd_list[$i]['filename'] = $rrddir.'/'.$file;
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* LibreNMS
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License as published by the
|
||||||
|
* Free Software Foundation, either version 3 of the License, or (at your
|
||||||
|
* option) any later version. Please see LICENSE.txt at the top level of
|
||||||
|
* the source code distribution for details.
|
||||||
|
*/
|
||||||
|
|
||||||
|
require 'includes/graphs/common.inc.php';
|
||||||
|
$rrdfilename = $config['rrd_dir'].'/'.$device['hostname'].'/cisco-wwan-mnc.rrd';
|
||||||
|
if (file_exists($rrdfilename)) {
|
||||||
|
$rrd_options .= ' DEF:mnc='.$rrdfilename.':mnc:LAST ';
|
||||||
|
$rrd_options .= ' --lower-limit 0 ';
|
||||||
|
$rrd_options .= " --vertical-label='MNC'";
|
||||||
|
$rrd_options .= " LINE2:mnc#750F7DFF:'MNC Mobile Netwok Code'";
|
||||||
|
$rrd_options .= ' GPRINT:mnc:LAST:%0.2lf%s\\\l ';
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* LibreNMS
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License as published by the
|
||||||
|
* Free Software Foundation, either version 3 of the License, or (at your
|
||||||
|
* option) any later version. Please see LICENSE.txt at the top level of
|
||||||
|
* the source code distribution for details.
|
||||||
|
*/
|
||||||
|
|
||||||
|
require 'includes/graphs/common.inc.php';
|
||||||
|
$rrdfilename = $config['rrd_dir'].'/'.$device['hostname'].'/cisco-wwan-rssi.rrd';
|
||||||
|
if (file_exists($rrdfilename)) {
|
||||||
|
$rrd_options .= " COMMENT:'dBm Now Ave Max \\n'";
|
||||||
|
$rrd_options .= ' DEF:rssi='.$rrdfilename.':rssi:AVERAGE ';
|
||||||
|
$rrd_options .= ' --alt-autoscale';
|
||||||
|
$rrd_options .= ' --lower-limit=-110 ';
|
||||||
|
$rrd_options .= " --vertical-label='dBm'";
|
||||||
|
$rrd_options .= " LINE2:rssi#FF0000:'RSSI ' ";
|
||||||
|
$rrd_options .= ' GPRINT:rssi:LAST:%0.2lf%s ';
|
||||||
|
$rrd_options .= ' GPRINT:rssi:MIN:%0.2lf%s ';
|
||||||
|
$rrd_options .= ' GPRINT:rssi:MAX:%0.2lf%s\\\l ';
|
||||||
|
}
|
||||||
@@ -11,17 +11,20 @@
|
|||||||
* the source code distribution for details.
|
* the source code distribution for details.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if(is_admin() !== false) {
|
if (is_admin() !== false) {
|
||||||
|
|
||||||
// Build the types list.
|
// Build the types list.
|
||||||
if ($handle = opendir($config['nagios_plugins'])) {
|
$dir = $config['nagios_plugins'];
|
||||||
while (false !== ($file = readdir($handle))) {
|
if (file_exists($dir) && is_dir($dir)) {
|
||||||
if ($file != '.' && $file != '..' && !strstr($file, '.') && strstr($file, 'check_')) {
|
$files = scandir($dir);
|
||||||
list(,$check_name) = explode('_',$file,2);
|
$dir .= DIRECTORY_SEPARATOR;
|
||||||
|
d_print_r($files);
|
||||||
|
foreach ($files as $file) {
|
||||||
|
if (is_executable($dir.$file) && is_file($dir.$file) && strstr($file, 'check_')) {
|
||||||
|
list(,$check_name) = explode('_', $file, 2);
|
||||||
$stype .= "<option value='$check_name'>$check_name</option>";
|
$stype .= "<option value='$check_name'>$check_name</option>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
closedir($handle);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
@@ -142,4 +145,4 @@ $('#service-submit').click('', function(e) {
|
|||||||
|
|
||||||
</script>
|
</script>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,8 +3,9 @@ require $config['install_dir'].'/includes/object-cache.inc.php';
|
|||||||
|
|
||||||
// FIXME - this could do with some performance improvements, i think. possible rearranging some tables and setting flags at poller time (nothing changes outside of then anyways)
|
// FIXME - this could do with some performance improvements, i think. possible rearranging some tables and setting flags at poller time (nothing changes outside of then anyways)
|
||||||
|
|
||||||
$service_status = get_service_status();
|
$service_status = get_service_status();
|
||||||
$if_alerts = dbFetchCell("SELECT COUNT(port_id) FROM `ports` WHERE `ifOperStatus` = 'down' AND `ifAdminStatus` = 'up' AND `ignore` = '0'");
|
$typeahead_limit = $config['webui']['global_search_result_limit'];
|
||||||
|
$if_alerts = dbFetchCell("SELECT COUNT(port_id) FROM `ports` WHERE `ifOperStatus` = 'down' AND `ifAdminStatus` = 'up' AND `ignore` = '0'");
|
||||||
|
|
||||||
if ($_SESSION['userlevel'] >= 5) {
|
if ($_SESSION['userlevel'] >= 5) {
|
||||||
$links['count'] = dbFetchCell("SELECT COUNT(*) FROM `links`");
|
$links['count'] = dbFetchCell("SELECT COUNT(*) FROM `links`");
|
||||||
@@ -717,6 +718,7 @@ $('#gsearch').typeahead({
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
source: devices.ttAdapter(),
|
source: devices.ttAdapter(),
|
||||||
|
limit: '<?php echo($typeahead_limit); ?>',
|
||||||
async: true,
|
async: true,
|
||||||
display: 'name',
|
display: 'name',
|
||||||
valueKey: 'name',
|
valueKey: 'name',
|
||||||
@@ -727,6 +729,7 @@ $('#gsearch').typeahead({
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
source: ports.ttAdapter(),
|
source: ports.ttAdapter(),
|
||||||
|
limit: '<?php echo($typeahead_limit); ?>',
|
||||||
async: true,
|
async: true,
|
||||||
display: 'name',
|
display: 'name',
|
||||||
valueKey: 'name',
|
valueKey: 'name',
|
||||||
@@ -737,6 +740,7 @@ $('#gsearch').typeahead({
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
source: bgp.ttAdapter(),
|
source: bgp.ttAdapter(),
|
||||||
|
limit: '<?php echo($typeahead_limit); ?>',
|
||||||
async: true,
|
async: true,
|
||||||
display: 'name',
|
display: 'name',
|
||||||
valueKey: 'name',
|
valueKey: 'name',
|
||||||
@@ -749,3 +753,4 @@ $('#gsearch').bind('typeahead:open', function(ev, suggestion) {
|
|||||||
$('#gsearch').addClass('search-box');
|
$('#gsearch').addClass('search-box');
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ $files = array();
|
|||||||
if ($handle = opendir($rrddir)) {
|
if ($handle = opendir($rrddir)) {
|
||||||
while (false !== ($file = readdir($handle))) {
|
while (false !== ($file = readdir($handle))) {
|
||||||
if ($file != '.' && $file != '..') {
|
if ($file != '.' && $file != '..') {
|
||||||
if (eregi('app-shoutcast-'.$app['app_id'], $file)) {
|
if (stripos($file, 'app-shoutcast-'.$app['app_id']) !== false) {
|
||||||
array_push($files, $file);
|
array_push($files, $file);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -45,8 +45,8 @@ if (isset($total) && $total === true) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
foreach ($files as $id => $file) {
|
foreach ($files as $id => $file) {
|
||||||
$hostname = eregi_replace('app-shoutcast-'.$app['app_id'].'-', '', $file);
|
$hostname = str_ireplace('app-shoutcast-'.$app['app_id'].'-', '', $file);
|
||||||
$hostname = eregi_replace('.rrd', '', $hostname);
|
$hostname = str_ireplace('.rrd', '', $hostname);
|
||||||
list($host, $port) = explode('_', $hostname, 2);
|
list($host, $port) = explode('_', $hostname, 2);
|
||||||
$graphs = array(
|
$graphs = array(
|
||||||
'shoutcast_bits' => 'Traffic Statistics - '.$host.' (Port: '.$port.')',
|
'shoutcast_bits' => 'Traffic Statistics - '.$host.' (Port: '.$port.')',
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
$sensors = dbFetchRows('SELECT * FROM `sensors` WHERE `sensor_class` = ? AND device_id = ? ORDER BY `poller_type`, `sensor_oid`, `sensor_index`', array($sensor_class, $device['device_id']));
|
|
||||||
|
|
||||||
if ($sensor_class == 'state') {
|
if ($sensor_class == 'state') {
|
||||||
$sensors = dbFetchRows('SELECT * FROM `sensors` LEFT JOIN `sensors_to_state_indexes` ON sensors_to_state_indexes.sensor_id = sensors.sensor_id LEFT JOIN state_indexes ON state_indexes.state_index_id = sensors_to_state_indexes.state_index_id WHERE `sensor_class` = ? AND device_id = ? ORDER BY `poller_type`, `sensor_oid`, `sensor_index`', array($sensor_class, $device['device_id']));
|
$sensors = dbFetchRows('SELECT * FROM `sensors` LEFT JOIN `sensors_to_state_indexes` ON sensors_to_state_indexes.sensor_id = sensors.sensor_id LEFT JOIN state_indexes ON state_indexes.state_index_id = sensors_to_state_indexes.state_index_id WHERE `sensor_class` = ? AND device_id = ? ORDER BY `poller_type`, `sensor_index`+0, `sensor_oid`', array($sensor_class, $device['device_id']));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$sensors = dbFetchRows('SELECT * FROM `sensors` WHERE `sensor_class` = ? AND device_id = ? ORDER BY `poller_type`, `sensor_oid`, `sensor_index`', array($sensor_class, $device['device_id']));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (count($sensors)) {
|
if (count($sensors)) {
|
||||||
|
|||||||
@@ -157,7 +157,7 @@ echo ' </div>
|
|||||||
//From default.php - This code is not part of above license.
|
//From default.php - This code is not part of above license.
|
||||||
if ($config['enable_syslog']) {
|
if ($config['enable_syslog']) {
|
||||||
$sql = "SELECT *, DATE_FORMAT(timestamp, '".$config['dateformat']['mysql']['compact']."') AS date from syslog ORDER BY seq DESC LIMIT 20";
|
$sql = "SELECT *, DATE_FORMAT(timestamp, '".$config['dateformat']['mysql']['compact']."') AS date from syslog ORDER BY seq DESC LIMIT 20";
|
||||||
$query = mysql_query($sql);
|
|
||||||
echo('<div class="container-fluid">
|
echo('<div class="container-fluid">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
@@ -196,8 +196,6 @@ echo('<div class="container-fluid">
|
|||||||
P.device_id AND P.user_id = " . $_SESSION['user_id'] . " ORDER BY `datetime` DESC LIMIT 0,15";
|
P.device_id AND P.user_id = " . $_SESSION['user_id'] . " ORDER BY `datetime` DESC LIMIT 0,15";
|
||||||
}
|
}
|
||||||
|
|
||||||
$data = mysql_query($query);
|
|
||||||
|
|
||||||
echo('<div class="container-fluid">
|
echo('<div class="container-fluid">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
|
|||||||
+2
-2
@@ -699,8 +699,8 @@ function get_smokeping_files($device) {
|
|||||||
if ($handle = opendir($smokeping_dir)) {
|
if ($handle = opendir($smokeping_dir)) {
|
||||||
while (false !== ($file = readdir($handle))) {
|
while (false !== ($file = readdir($handle))) {
|
||||||
if ($file != '.' && $file != '..') {
|
if ($file != '.' && $file != '..') {
|
||||||
if (eregi('.rrd', $file)) {
|
if (stripos($file, '.rrd') !== false) {
|
||||||
if (eregi('~', $file)) {
|
if (strpos($file, '~') !== false) {
|
||||||
list($target,$slave) = explode('~', str_replace('.rrd', '', $file));
|
list($target,$slave) = explode('~', str_replace('.rrd', '', $file));
|
||||||
$target = str_replace('_', '.', $target);
|
$target = str_replace('_', '.', $target);
|
||||||
$smokeping_files['in'][$target][$slave] = $file;
|
$smokeping_files['in'][$target][$slave] = $file;
|
||||||
|
|||||||
@@ -870,4 +870,4 @@ $config['ignore_unmapable_port'] = False;
|
|||||||
|
|
||||||
// InfluxDB default configuration
|
// InfluxDB default configuration
|
||||||
$config['influxdb']['timeout'] = 0;
|
$config['influxdb']['timeout'] = 0;
|
||||||
$config['influxdb']['verifySSL'] = false;
|
$config['influxdb']['verifySSL'] = false;
|
||||||
|
|||||||
@@ -2048,6 +2048,14 @@ $config['graph_types']['device']['cisco-iosxcode']['descr'] = 'Transcoder Uti
|
|||||||
$config['graph_descr']['device_smokeping_in_all'] = 'This is an aggregate graph of the incoming smokeping tests to this host. The line corresponds to the average RTT. The shaded area around each line denotes the standard deviation.';
|
$config['graph_descr']['device_smokeping_in_all'] = 'This is an aggregate graph of the incoming smokeping tests to this host. The line corresponds to the average RTT. The shaded area around each line denotes the standard deviation.';
|
||||||
$config['graph_descr']['device_processor'] = 'This is an aggregate graph of all processors in the system.';
|
$config['graph_descr']['device_processor'] = 'This is an aggregate graph of all processors in the system.';
|
||||||
|
|
||||||
|
$config['graph_types']['device']['cisco_wwan_rssi']['section'] = 'wireless';
|
||||||
|
$config['graph_types']['device']['cisco_wwan_rssi']['order'] = '0';
|
||||||
|
$config['graph_types']['device']['cisco_wwan_rssi']['descr'] = 'Signal Rssi';
|
||||||
|
$config['graph_types']['device']['cisco_wwan_mnc']['section'] = 'wireless';
|
||||||
|
$config['graph_types']['device']['cisco_wwan_mnc']['order'] = '1';
|
||||||
|
$config['graph_types']['device']['cisco_wwan_mnc']['descr'] = 'MNC';
|
||||||
|
|
||||||
|
|
||||||
// Device Types
|
// Device Types
|
||||||
$i = 0;
|
$i = 0;
|
||||||
$config['device_types'][$i]['text'] = 'Servers';
|
$config['device_types'][$i]['text'] = 'Servers';
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
// Code borrowed and modified from 'powerconnect-cpu.inc.php'
|
||||||
|
|
||||||
|
if ($device['os'] == 'dnos') {
|
||||||
|
echo 'DNOS-MEMORY-POOL: ';
|
||||||
|
|
||||||
|
$free = snmp_get($device, '.1.3.6.1.4.1.674.10895.5000.2.6132.1.1.1.1.4.1.0', '-OvQ');
|
||||||
|
|
||||||
|
if (is_numeric($free)) {
|
||||||
|
discover_mempool($valid_mempool, $device, 0, 'dnos-mem', 'Memory Utilization', '1', null, null);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,11 +1,45 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
if ($device['os'] == 'ironware' || $device['os_type'] == 'ironware') {
|
if ($device['os'] == 'ironware' || $device['os_type'] == 'ironware') {
|
||||||
echo 'Ironware Dynamic: ';
|
|
||||||
|
|
||||||
$percent = snmp_get($device, 'snAgGblDynMemUtil.0', '-OvQ', 'FOUNDRY-SN-AGENT-MIB');
|
$is_netiron = snmp_get($device, 'sysObjectID.0', '-OvQ', 'FOUNDRY-SN-AGENT-MIB');
|
||||||
|
|
||||||
|
if (strpos($is_netiron, 'NI') === false && strpos($is_netiron, 'MLX') === false && strpos($is_netiron, 'Cer') === false) {
|
||||||
|
|
||||||
|
echo 'Ironware Dynamic: ';
|
||||||
|
|
||||||
|
$percent = snmp_get($device, 'snAgGblDynMemUtil.0', '-OvQ', 'FOUNDRY-SN-AGENT-MIB');
|
||||||
|
|
||||||
|
if (is_numeric($percent)) {
|
||||||
|
discover_mempool($valid_mempool, $device, 0, 'ironware-dyn', 'Dynamic Memory', '1', null, null);
|
||||||
|
} //end_if
|
||||||
|
} //end_if
|
||||||
|
else {
|
||||||
|
|
||||||
|
echo 'NetIron: ';
|
||||||
|
|
||||||
|
d_echo('caching');
|
||||||
|
$ni_mempools_array = snmpwalk_cache_multi_oid($device, 'snAgentBrdMainBrdDescription', $ni_mempools_array, 'FOUNDRY-SN-AGENT-MIB', $config['install_dir'].'/mibs');
|
||||||
|
$ni_mempools_array = snmpwalk_cache_multi_oid($device, 'snAgentBrdMemoryUtil100thPercent', $ni_mempools_array, 'FOUNDRY-SN-AGENT-MIB', $config['install_dir'].'/mibs');
|
||||||
|
$ni_mempools_array = snmpwalk_cache_multi_oid($device, 'snAgentBrdMemoryAvailable', $ni_mempools_array, 'FOUNDRY-SN-AGENT-MIB', $config['install_dir'].'/mibs');
|
||||||
|
$ni_mempools_array = snmpwalk_cache_multi_oid($device, 'snAgentBrdMemoryTotal', $ni_mempools_array, 'FOUNDRY-SN-AGENT-MIB', $config['install_dir'].'/mibs');
|
||||||
|
d_echo($ni_mempool_array);
|
||||||
|
|
||||||
|
if (is_array($ni_mempools_array)) {
|
||||||
|
foreach ($ni_mempools_array as $index => $entry) {
|
||||||
|
|
||||||
|
d_echo($index.' '.$entry['snAgentBrdMainBrdDescription'].' -> '.$entry['snAgentBrdMemoryUtil100thPercent']."\n");
|
||||||
|
|
||||||
|
$usage_oid = '.1.3.6.1.4.1.1991.1.1.2.2.1.1.28.'.$index;
|
||||||
|
$descr = $entry['snAgentBrdMainBrdDescription'];
|
||||||
|
$usage = ($entry['snAgentBrdMemoryUtil100thPercent'] / 100);
|
||||||
|
if (!strstr($descr, 'No') && !strstr($usage, 'No') && $descr != '') {
|
||||||
|
discover_mempool($valid_mempool, $device, $index, 'ironware-dyn', $descr, '1', null, null);
|
||||||
|
} //end_if
|
||||||
|
} //end_foreach
|
||||||
|
} //end_if
|
||||||
|
} //end_else
|
||||||
|
} //end_if
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (is_numeric($percent)) {
|
|
||||||
discover_mempool($valid_mempool, $device, 0, 'ironware-dyn', 'Dynamic Memory', '1', null, null);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -4,16 +4,16 @@ echo 'OS: ';
|
|||||||
|
|
||||||
$os = getHostOS($device);
|
$os = getHostOS($device);
|
||||||
if ($os != $device['os']) {
|
if ($os != $device['os']) {
|
||||||
|
log_event('Device OS changed '.$device['os']." => $os", $device, 'system');
|
||||||
$device['os'] = $os;
|
$device['os'] = $os;
|
||||||
$sql = dbUpdate(array('os' => $os), 'devices', 'device_id=?', array($device['device_id']));
|
$sql = dbUpdate(array('os' => $os), 'devices', 'device_id=?', array($device['device_id']));
|
||||||
echo "Changed OS! : $os\n";
|
echo "Changed OS! : $os\n";
|
||||||
log_event('Device OS changed '.$device['os']." => $os", $device, 'system');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$icon = getImageName($device, false);
|
$icon = getImageName($device, false);
|
||||||
if ($icon != $device['icon']) {
|
if ($icon != $device['icon']) {
|
||||||
|
log_event('Device Icon changed '.$device['icon']." => $icon", $device, 'system');
|
||||||
$device['icon'] = $icon;
|
$device['icon'] = $icon;
|
||||||
$sql = dbUpdate(array('icon' => $icon), 'devices', 'device_id=?', array($device['device_id']));
|
$sql = dbUpdate(array('icon' => $icon), 'devices', 'device_id=?', array($device['device_id']));
|
||||||
echo "Changed Icon! : $icon\n";
|
echo "Changed Icon! : $icon\n";
|
||||||
log_event('Device Icon changed '.$device['icon']." => $icon", $device, 'system');
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,4 +13,17 @@ if (!$os) {
|
|||||||
if (strstr($sysObjectId, '.1.3.6.1.4.1.674.10895.3054')) {
|
if (strstr($sysObjectId, '.1.3.6.1.4.1.674.10895.3054')) {
|
||||||
$os = 'dnos';
|
$os = 'dnos';
|
||||||
}
|
}
|
||||||
|
if (strstr($sysObjectId, '.1.3.6.1.4.1.674.10895.3055')) {
|
||||||
|
//Dell N2024P
|
||||||
|
$os = 'dnos';
|
||||||
|
}
|
||||||
|
if (strstr($sysObjectId, '.1.3.6.1.4.1.674.10895.3056')) {
|
||||||
|
//Dell N2048P
|
||||||
|
$os = 'dnos';
|
||||||
|
}
|
||||||
|
if (strstr($sysObjectId, '.1.3.6.1.4.1.674.10895.3046')) {
|
||||||
|
//Dell N4064F
|
||||||
|
$os = 'dnos';
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
if (!$os) {
|
if (!$os) {
|
||||||
if (preg_match('/^POWERALERT/', $sysDescr)) {
|
if (preg_match('/^POWERALERT/i', $sysDescr)) {
|
||||||
$os = 'poweralert';
|
$os = 'poweralert';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
<?php
|
||||||
|
if ($device['os'] == 'dnos') {
|
||||||
|
echo 'DNOS CPU: ';
|
||||||
|
|
||||||
|
$descr = 'CPU';
|
||||||
|
preg_match('/(\d*\.\d*)/', snmp_get($device, '.1.3.6.1.4.1.674.10895.5000.2.6132.1.1.1.1.4.9.0', '-OvQ'), $matches);
|
||||||
|
$usage = $matches[0];
|
||||||
|
|
||||||
|
discover_processor($valid['processor'], $device, '.1.3.6.1.4.1.674.10895.5000.2.6132.1.1.1.1.4.9.0', '0', 'dnos-cpu', $descr, '1', $usage, null, null);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
echo(" EXTREME-BASE-MIB ");
|
|
||||||
|
|
||||||
if ($device['os'] == 'xos') {
|
if ($device['os'] == 'xos') {
|
||||||
|
echo(" EXTREME-BASE-MIB ");
|
||||||
// Power Usage
|
// Power Usage
|
||||||
$descr = "Power Usage";
|
$descr = "Power Usage";
|
||||||
$oid = "1.3.6.1.4.1.1916.1.1.1.40.1.0"; // extremeSystemPowerUsage
|
$oid = "1.3.6.1.4.1.1916.1.1.1.40.1.0"; // extremeSystemPowerUsage
|
||||||
|
|||||||
@@ -0,0 +1,59 @@
|
|||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* LibreNMS
|
||||||
|
*
|
||||||
|
* Copyright (c) 2016 Tony Murray <murrayton@gmail.com>
|
||||||
|
* This program is free software: you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License as published by the
|
||||||
|
* Free Software Foundation, either version 3 of the License, or (at your
|
||||||
|
* option) any later version. Please see LICENSE.txt at the top level of
|
||||||
|
* the source code distribution for details.
|
||||||
|
*/
|
||||||
|
|
||||||
|
if ($device['os'] == 'netonix') {
|
||||||
|
|
||||||
|
$temp = snmpwalk_cache_multi_oid($device, '.1.3.6.1.4.1.46242.5.1.2', array());
|
||||||
|
$cur_oid = '.1.3.6.1.4.1.';
|
||||||
|
|
||||||
|
if (is_array($temp)) {
|
||||||
|
//Create State Index
|
||||||
|
$state_name = 'netonixPoeStatus';
|
||||||
|
$state_index_id = create_state_index($state_name);
|
||||||
|
|
||||||
|
$states_ids = array(
|
||||||
|
'Off' => 1,
|
||||||
|
'24V' => 2,
|
||||||
|
'48V' => 3
|
||||||
|
);
|
||||||
|
|
||||||
|
//Create State Translation
|
||||||
|
if ($state_index_id !== null) {
|
||||||
|
$states = array(
|
||||||
|
array($state_index_id,'Off',0,1,-1) ,
|
||||||
|
array($state_index_id,'24V',0,2,0) ,
|
||||||
|
array($state_index_id,'48V',0,3,1) ,
|
||||||
|
);
|
||||||
|
foreach($states as $value){
|
||||||
|
$insert = array(
|
||||||
|
'state_index_id' => $value[0],
|
||||||
|
'state_descr' => $value[1],
|
||||||
|
'state_draw_graph' => $value[2],
|
||||||
|
'state_value' => $value[3],
|
||||||
|
'state_generic_value' => $value[4]
|
||||||
|
);
|
||||||
|
dbInsert($insert, 'state_translations');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($temp as $index => $entry) {
|
||||||
|
$id = substr($index, strrpos($index, '.')+1);
|
||||||
|
$descr = 'Port ' . $id . ' PoE';
|
||||||
|
$current = $states_ids[$entry['enterprises']];
|
||||||
|
//Discover Sensors
|
||||||
|
discover_sensor($valid['sensor'], 'state', $device, $cur_oid.$index, $id, $state_name, $descr, '1', '1', null, null, null, null, $current);
|
||||||
|
|
||||||
|
//Create Sensor To State Index
|
||||||
|
create_sensor_to_state_index($device, $state_name, $id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if ($device['os'] == 'dnos'){
|
||||||
|
$temps = snmp_walk($device, '.1.3.6.1.4.1.674.10895.5000.2.6132.1.1.43.1.8.1.5', '-Osqn');
|
||||||
|
//This will return at least 4 OIDs (multiplied by the number of switches if stacked) and associated values for various temperatures
|
||||||
|
|
||||||
|
$counter = 0;
|
||||||
|
|
||||||
|
|
||||||
|
foreach (explode("\n", $temps) as $i => $t) {
|
||||||
|
$t = explode(' ',$t);
|
||||||
|
$oid = $t[0];
|
||||||
|
$val = $t[1];
|
||||||
|
|
||||||
|
if (substr($oid, -1) == '1') {
|
||||||
|
// This code will only pull CPU temp for each stack member, but there is no reason why the additional values couldn't be graphed
|
||||||
|
$counter = $counter + 1;
|
||||||
|
discover_sensor($valid['sensor'], 'temperature', $device, $oid, $counter, 'dnos',
|
||||||
|
'Unit '.$counter.' CPU temperature', '1', '1', null, null, null, null, $val);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+23
-3
@@ -1252,10 +1252,30 @@ function function_check($function) {
|
|||||||
return function_exists($function);
|
return function_exists($function);
|
||||||
}
|
}
|
||||||
|
|
||||||
function force_influx_data($type,$data) {
|
function force_influx_data($data) {
|
||||||
if ($type == 'f' || $type == 'float') {
|
/*
|
||||||
return(sprintf("%.1f",$data));
|
* It is not trivial to detect if something is a float or an integer, and
|
||||||
|
* therefore may cause breakages on inserts.
|
||||||
|
* Just setting every number to a float gets around this, but may introduce
|
||||||
|
* inefficiencies.
|
||||||
|
* I've left the detection statement in there for a possible change in future,
|
||||||
|
* but currently everything just gets set to a float.
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (is_numeric($data)) {
|
||||||
|
// If it is an Integer
|
||||||
|
if (ctype_digit($data)) {
|
||||||
|
return floatval($data);
|
||||||
|
// Else it is a float
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return floatval($data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return $data;
|
||||||
}
|
}
|
||||||
|
|
||||||
}// end force_influx_data
|
}// end force_influx_data
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -58,7 +58,10 @@ function influx_update($device,$measurement,$tags=array(),$fields) {
|
|||||||
$tmp_tags[$k] = $v;
|
$tmp_tags[$k] = $v;
|
||||||
}
|
}
|
||||||
foreach ($fields as $k => $v) {
|
foreach ($fields as $k => $v) {
|
||||||
$tmp_fields[$k] = force_influx_data('f',$v);
|
$tmp_fields[$k] = force_influx_data($v);
|
||||||
|
if( $tmp_fields[$k] === null) {
|
||||||
|
unset($tmp_fields[$k]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
d_echo("\nInfluxDB data:\n");
|
d_echo("\nInfluxDB data:\n");
|
||||||
@@ -76,7 +79,12 @@ function influx_update($device,$measurement,$tags=array(),$fields) {
|
|||||||
$tmp_fields // optional additional fields
|
$tmp_fields // optional additional fields
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
$result = $influxdb->writePoints($points);
|
try {
|
||||||
|
$result = $influxdb->writePoints($points);
|
||||||
|
} catch (Exception $e) {
|
||||||
|
d_echo("Caught exception: ", $e->getMessage(), "\n");
|
||||||
|
d_echo($e->getTrace());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
print $console_color->convert('[%gInfluxDB Disabled%n] ', false);
|
print $console_color->convert('[%gInfluxDB Disabled%n] ', false);
|
||||||
|
|||||||
@@ -44,6 +44,13 @@ function poll_sensor($device, $class, $unit) {
|
|||||||
}
|
}
|
||||||
else if ($class == 'state') {
|
else if ($class == 'state') {
|
||||||
$sensor_value = trim(str_replace('"', '', snmp_walk($device, $sensor['sensor_oid'], '-Oevq', 'SNMPv2-MIB')));
|
$sensor_value = trim(str_replace('"', '', snmp_walk($device, $sensor['sensor_oid'], '-Oevq', 'SNMPv2-MIB')));
|
||||||
|
if (!is_numeric($sensor_value)) {
|
||||||
|
$state_value = dbFetchCell('SELECT `state_value` FROM `state_translations` LEFT JOIN `sensors_to_state_indexes` ON `state_translations`.`state_index_id` = `sensors_to_state_indexes`.`state_index_id` WHERE `sensors_to_state_indexes`.`sensor_id` = ? AND `state_translations`.`state_descr` LIKE ?', array($sensor['sensor_id'], $sensor_value));
|
||||||
|
d_echo('State value of ' . $sensor_value . ' is ' . $state_value . "\n");
|
||||||
|
if (is_numeric($state_value)) {
|
||||||
|
$sensor_value = $state_value;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if ($class == 'signal') {
|
else if ($class == 'signal') {
|
||||||
$currentOS = $device['os'];
|
$currentOS = $device['os'];
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
// Code below was borrowed from 'powerconnect-cpu.inc.php'
|
||||||
|
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------//
|
||||||
|
// Dell-Vendor-MIB::dellLanExtension.6132.1.1.1.1.4.1.0 = INTEGER: 23127
|
||||||
|
// Dell-Vendor-MIB::dellLanExtension.6132.1.1.1.1.4.2.0 = INTEGER: 262144
|
||||||
|
// Simple hard-coded poller for Dell Powerconnect (tested on 6248P)
|
||||||
|
// Yes, it really can be this simple.
|
||||||
|
// Pity there's no matching MIB to be found.
|
||||||
|
$mempool['total'] = snmp_get($device, '.1.3.6.1.4.1.674.10895.5000.2.6132.1.1.1.1.4.2.0', '-OvQ');
|
||||||
|
$mempool['free'] = snmp_get($device, '.1.3.6.1.4.1.674.10895.5000.2.6132.1.1.1.1.4.1.0', '-OvQ');
|
||||||
|
$mempool['used'] = ($mempool['total'] - $mempool['free']);
|
||||||
@@ -1,7 +1,36 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
// Simple hard-coded poller for Brocade Ironware Dynamic Memory (old style)
|
$oid = $mempool['mempool_index'];
|
||||||
// Yes, it really can be this simple.
|
|
||||||
$mempool['total'] = snmp_get($device, 'snAgGblDynMemTotal.0', '-OvQ', 'FOUNDRY-SN-AGENT-MIB');
|
d_echo('Ironware Mempool'."\n");
|
||||||
$mempool['free'] = snmp_get($device, 'snAgGblDynMemFree.0', '-OvQ', 'FOUNDRY-SN-AGENT-MIB');
|
|
||||||
$mempool['used'] = ($mempool['total'] - $mempool['free']);
|
$is_netiron = snmp_get($device, 'sysObjectID.0', '-OvQ', 'FOUNDRY-SN-AGENT-MIB');
|
||||||
|
|
||||||
|
if (strpos($is_netiron, 'NI') === false && strpos($is_netiron, 'MLX') === false && strpos($is_netiron, 'Cer') === false) {
|
||||||
|
|
||||||
|
$mempool['total'] = snmp_get($device, 'snAgGblDynMemTotal.0', '-OvQ', 'FOUNDRY-SN-AGENT-MIB');
|
||||||
|
$mempool['free'] = snmp_get($device, 'snAgGblDynMemFree.0', '-OvQ', 'FOUNDRY-SN-AGENT-MIB');
|
||||||
|
$mempool['used'] = ($mempool['total'] - $mempool['free']);
|
||||||
|
|
||||||
|
} //end_if
|
||||||
|
|
||||||
|
else {
|
||||||
|
|
||||||
|
d_echo('caching');
|
||||||
|
$mempool_cache['ironware-dyn'] = array();
|
||||||
|
$mempool_cache['ironware-dyn'] = snmpwalk_cache_multi_oid($device, 'snAgentBrdMemoryUtil100thPercent', $mempool_cache['ironware-dyn'], 'FOUNDRY-SN-AGENT-MIB', $config['install_dir'].'/mibs');
|
||||||
|
$mempool_cache['ironware-dyn'] = snmpwalk_cache_multi_oid($device, 'snAgentBrdMemoryAvailable', $mempool_cache['ironware-dyn'], 'FOUNDRY-SN-AGENT-MIB', $config['install_dir'].'/mibs');
|
||||||
|
$mempool_cache['ironware-dyn'] = snmpwalk_cache_multi_oid($device, 'snAgentBrdMemoryTotal', $mempool_cache['ironware-dyn'], 'FOUNDRY-SN-AGENT-MIB', $config['install_dir'].'/mibs');
|
||||||
|
d_echo($mempool_cache);
|
||||||
|
|
||||||
|
$entry = $mempool_cache['ironware-dyn'][$mempool[mempool_index]];
|
||||||
|
|
||||||
|
$perc = $entry['snAgentBrdMemoryUtil100thPercent'];
|
||||||
|
|
||||||
|
$memory_available = $entry['snAgentBrdMemoryTotal'];
|
||||||
|
|
||||||
|
$mempool['total'] = $memory_available;
|
||||||
|
$mempool['used'] = $memory_available / 10000 * $perc;
|
||||||
|
$mempool['free'] = $memory_available - $mempool['used'];
|
||||||
|
|
||||||
|
} //end_else
|
||||||
|
|||||||
@@ -48,16 +48,7 @@ if ($device['os'] != 'Snom') {
|
|||||||
|
|
||||||
$data_array = snmpwalk_cache_oid($device, 'snmp', array(), 'SNMPv2-MIB');
|
$data_array = snmpwalk_cache_oid($device, 'snmp', array(), 'SNMPv2-MIB');
|
||||||
|
|
||||||
$fields = array();
|
$fields = $data_array[0];
|
||||||
foreach ($oids as $oid) {
|
|
||||||
if (is_numeric($data_array[0][$oid])) {
|
|
||||||
$value = $data_array[0][$oid];
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$value = 'U';
|
|
||||||
}
|
|
||||||
$fields[$oid] = $value;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset($data_array[0]['snmpInPkts']) && isset($data_array[0]['snmpOutPkts'])) {
|
if (isset($data_array[0]['snmpInPkts']) && isset($data_array[0]['snmpOutPkts'])) {
|
||||||
if (!file_exists($rrd_file)) {
|
if (!file_exists($rrd_file)) {
|
||||||
|
|||||||
@@ -41,3 +41,9 @@ if (empty($hardware)) {
|
|||||||
|
|
||||||
// if(isset($cisco_hardware_oids[$poll_device['sysObjectID']])) { $hardware = $cisco_hardware_oids[$poll_device['sysObjectID']]; }
|
// if(isset($cisco_hardware_oids[$poll_device['sysObjectID']])) { $hardware = $cisco_hardware_oids[$poll_device['sysObjectID']]; }
|
||||||
$serial = get_main_serial($device);
|
$serial = get_main_serial($device);
|
||||||
|
|
||||||
|
|
||||||
|
if (strstr($hardware, 'cisco819')) {
|
||||||
|
include 'includes/polling/wireless/cisco-wwan.inc.php';
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
<?php
|
||||||
|
echo 'DNOS CPU Usage';
|
||||||
|
|
||||||
|
if ($device['os'] == 'dnos') {
|
||||||
|
|
||||||
|
preg_match('/(\d*\.\d*)/', snmp_get($device, '.1.3.6.1.4.1.674.10895.5000.2.6132.1.1.1.1.4.9.0', '-OvQ'), $matches);
|
||||||
|
$proc = $matches[0];
|
||||||
|
}
|
||||||
@@ -97,7 +97,7 @@ if ($device['os_group'] == 'unix') {
|
|||||||
dbDelete('processes', 'device_id = ?', array($device['device_id']));
|
dbDelete('processes', 'device_id = ?', array($device['device_id']));
|
||||||
$data=array();
|
$data=array();
|
||||||
foreach (explode("\n", $agent_data['ps']) as $process) {
|
foreach (explode("\n", $agent_data['ps']) as $process) {
|
||||||
$process = preg_replace('/\((.*),([0-9]*),([0-9]*),([0-9\:]*),([0-9]*)\)\ (.*)/', '\\1|\\2|\\3|\\4|\\5|\\6', $process);
|
$process = preg_replace('/\((.*),([0-9]*),([0-9]*),([0-9\:\.]*),([0-9]*)\)\ (.*)/', '\\1|\\2|\\3|\\4|\\5|\\6', $process);
|
||||||
list($user, $vsz, $rss, $cputime, $pid, $command) = explode('|', $process, 6);
|
list($user, $vsz, $rss, $cputime, $pid, $command) = explode('|', $process, 6);
|
||||||
if (!empty($command)) {
|
if (!empty($command)) {
|
||||||
$data[]=array('device_id' => $device['device_id'], 'pid' => $pid, 'user' => $user, 'vsz' => $vsz, 'rss' => $rss, 'cputime' => $cputime, 'command' => $command);
|
$data[]=array('device_id' => $device['device_id'], 'pid' => $pid, 'user' => $user, 'vsz' => $vsz, 'rss' => $rss, 'cputime' => $cputime, 'command' => $command);
|
||||||
|
|||||||
@@ -0,0 +1,41 @@
|
|||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* LibreNMS
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License as published by the
|
||||||
|
* Free Software Foundation, either version 3 of the License, or (at your
|
||||||
|
* option) any later version. Please see LICENSE.txt at the top level of
|
||||||
|
* the source code distribution for details.
|
||||||
|
*/
|
||||||
|
|
||||||
|
$rrd_filename = $config['rrd_dir'] . "/" . $device['hostname'] . "/cisco-wwan-rssi.rrd";
|
||||||
|
$rssi = snmp_get($device, "CISCO-WAN-3G-MIB::c3gCurrentGsmRssi.13", "-Ovqn", "CISCO-WAN-3G-MIB");
|
||||||
|
|
||||||
|
if (is_numeric($rssi)) {
|
||||||
|
if (!is_file($rrd_filename)) {
|
||||||
|
rrdtool_create($rrd_filename, " --step 300 DS:rssi:GAUGE:600:-150:5000".$config['rrd_rra']);
|
||||||
|
}
|
||||||
|
$fields = array(
|
||||||
|
'rssi' => $rssi,
|
||||||
|
);
|
||||||
|
rrdtool_update($rrd_filename, $fields);
|
||||||
|
$graphs['cisco_wwan_rssi'] = TRUE;
|
||||||
|
unset($rrd_filename,$rssi);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$rrd_filename = $config['rrd_dir'] . "/" . $device['hostname'] . "/cisco-wwan-mnc.rrd";
|
||||||
|
$mnc = snmp_get($device, "CISCO-WAN-3G-MIB::c3gGsmMnc.13", "-Ovqn", "CISCO-WAN-3G-MIB");
|
||||||
|
if (is_numeric($mnc)) {
|
||||||
|
if (!is_file($rrd_filename)) {
|
||||||
|
rrdtool_create($rrd_filename, " --step 300 DS:mnc:GAUGE:600:0:U".$config['rrd_rra']);
|
||||||
|
}
|
||||||
|
$fields = array(
|
||||||
|
'mnc' => $mnc,
|
||||||
|
);
|
||||||
|
rrdtool_update($rrd_filename, $fields);
|
||||||
|
$graphs['cisco_wwan_mnc'] = TRUE;
|
||||||
|
unset($rrd_filename,$mnc);
|
||||||
|
}
|
||||||
|
|
||||||
@@ -1,6 +1,2 @@
|
|||||||
<?php
|
<?php
|
||||||
|
$check_cmd = $config['nagios_plugins'] . "/check_dhcp ".$service['service_param'];
|
||||||
// provide some sane default
|
|
||||||
if ($service['service_ip']) { $dhcp = $service['service_ip']; } else { $dhcp = $service['hostname']; }
|
|
||||||
|
|
||||||
$check_cmd = $config['nagios_plugins'] . "/check_dhcp -s ".$dhcp;
|
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
<?php
|
<?php
|
||||||
$check_cmd = shell_exec($config['nagios_plugins'] . "/check_smtp -H ".$service['hostname']);
|
$check_cmd = $config['nagios_plugins'] . "/check_smtp -H ".$service['hostname'];
|
||||||
|
|||||||
@@ -416,7 +416,7 @@ class ircbot {
|
|||||||
|
|
||||||
private function chkdb() {
|
private function chkdb() {
|
||||||
if (!is_resource($this->sql)) {
|
if (!is_resource($this->sql)) {
|
||||||
if (($this->sql = mysql_connect($this->config['db_host'], $this->config['db_user'], $this->config['db_pass'])) != false && mysql_select_db($this->config['db_name'])) {
|
if (($this->sql = mysqli_connect($this->config['db_host'], $this->config['db_user'], $this->config['db_pass'])) != false && mysqli_select_db($this->sql, $this->config['db_name'])) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|||||||
@@ -0,0 +1,60 @@
|
|||||||
|
-- *********************************************************************
|
||||||
|
-- BROCADE-IEEE8021-PAE-CAPABILITY-MIB.mib:
|
||||||
|
-- IEEE8021-PAE-MIB AGENT-CAPABILITIES
|
||||||
|
--
|
||||||
|
-- June 2012, Balachandar Mani
|
||||||
|
--
|
||||||
|
-- Copyright (c) 2012 by Brocade Communications Systems, Inc.
|
||||||
|
-- All rights reserved.
|
||||||
|
-- *********************************************************************
|
||||||
|
BROCADE-IEEE8021-PAE-CAPABILITY-MIB DEFINITIONS ::= BEGIN
|
||||||
|
IMPORTS
|
||||||
|
brocadeAgentCapability
|
||||||
|
FROM Brocade-REG-MIB
|
||||||
|
AGENT-CAPABILITIES
|
||||||
|
FROM SNMPv2-CONF
|
||||||
|
MODULE-IDENTITY
|
||||||
|
FROM SNMPv2-SMI;
|
||||||
|
|
||||||
|
brocadeIeee8021PaeCapability MODULE-IDENTITY
|
||||||
|
LAST-UPDATED "201206010000Z"
|
||||||
|
ORGANIZATION "Brocade Communications Systems, Inc.,"
|
||||||
|
CONTACT-INFO
|
||||||
|
"Customer Support Group
|
||||||
|
Brocade Communications Systems, Inc.
|
||||||
|
Postal: 130 Holger Way
|
||||||
|
San Jose, CA 95134
|
||||||
|
U.S.A
|
||||||
|
Tel: +1-408-333-8000
|
||||||
|
E-mail: support@Brocade.com
|
||||||
|
web: www.brocade.com."
|
||||||
|
|
||||||
|
DESCRIPTION
|
||||||
|
"Agent capabilities for IEEE8021-PAE-MIB implementation."
|
||||||
|
|
||||||
|
REVISION "201206010000Z"
|
||||||
|
DESCRIPTION
|
||||||
|
"The initial version of this MIB module."
|
||||||
|
::= { brocadeAgentCapability 1 }
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Agent capability for NOS 3.0.0 (VDX Platform)
|
||||||
|
--
|
||||||
|
brocadeIeee8021PaeVdx300R1 AGENT-CAPABILITIES
|
||||||
|
PRODUCT-RELEASE "NOS3.0.0"
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "IEEE8021-PAE-MIB capabilities."
|
||||||
|
|
||||||
|
SUPPORTS IEEE8021-PAE-MIB
|
||||||
|
INCLUDES {
|
||||||
|
dot1xPaeSystemGroup,
|
||||||
|
dot1xPaeAuthConfigGroup,
|
||||||
|
dot1xPaeAuthStatsGroup,
|
||||||
|
dot1xPaeAuthDiagGroup,
|
||||||
|
dot1xPaeAuthSessionStatsGroup,
|
||||||
|
dot1xPaeAuthConfigGroup2
|
||||||
|
}
|
||||||
|
|
||||||
|
::= { brocadeIeee8021PaeCapability 1 }
|
||||||
|
|
||||||
|
END
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
-- *********************************************************************
|
||||||
|
-- BROCADE-IEEE8023-LAG-CAPABILITY-MIB.mib:
|
||||||
|
-- IEEE8023-LAG-MIB AGENT-CAPABILITIES
|
||||||
|
--
|
||||||
|
-- June 2012, Balachandar Mani
|
||||||
|
--
|
||||||
|
-- Copyright (c) 2012 by Brocade Communications Systems, Inc.
|
||||||
|
-- All rights reserved.
|
||||||
|
-- *********************************************************************
|
||||||
|
BROCADE-IEEE8023-LAG-CAPABILITY-MIB DEFINITIONS ::= BEGIN
|
||||||
|
IMPORTS
|
||||||
|
brocadeAgentCapability
|
||||||
|
FROM Brocade-REG-MIB
|
||||||
|
AGENT-CAPABILITIES
|
||||||
|
FROM SNMPv2-CONF
|
||||||
|
MODULE-IDENTITY
|
||||||
|
FROM SNMPv2-SMI;
|
||||||
|
|
||||||
|
brocadeIeee8023LagCapability MODULE-IDENTITY
|
||||||
|
LAST-UPDATED "201206060000Z"
|
||||||
|
ORGANIZATION "Brocade Communications Systems, Inc.,"
|
||||||
|
CONTACT-INFO
|
||||||
|
"Customer Support Group
|
||||||
|
Brocade Communications Systems, Inc.
|
||||||
|
Postal: 130 Holger Way
|
||||||
|
San Jose, CA 95134
|
||||||
|
U.S.A
|
||||||
|
Tel: +1-408-333-8000
|
||||||
|
E-mail: support@Brocade.com
|
||||||
|
web: www.brocade.com."
|
||||||
|
|
||||||
|
DESCRIPTION
|
||||||
|
"Agent capabilities for IEEE8023-LAG-MIB implementation."
|
||||||
|
|
||||||
|
REVISION "201206060000Z"
|
||||||
|
DESCRIPTION
|
||||||
|
"The initial version of this MIB module."
|
||||||
|
::= { brocadeAgentCapability 3 }
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Agent capability for NOS 3.0.0 (VDX Platform)
|
||||||
|
--
|
||||||
|
brocadeIeee8023LagVdx300R1 AGENT-CAPABILITIES
|
||||||
|
PRODUCT-RELEASE "NOS3.0.0"
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "IEEE8023-LAG-MIB capabilities."
|
||||||
|
|
||||||
|
SUPPORTS IEEE8023-LAG-MIB
|
||||||
|
INCLUDES {
|
||||||
|
dot3adAggGroup,
|
||||||
|
dot3adAggPortListGroup,
|
||||||
|
dot3adAggPortGroup,
|
||||||
|
dot3adAggPortStatsGroup,
|
||||||
|
dot3adTablesLastChangedGroup
|
||||||
|
}
|
||||||
|
|
||||||
|
::= { brocadeIeee8023LagCapability 1 }
|
||||||
|
|
||||||
|
END
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
-- *********************************************************************
|
||||||
|
-- BROCADE-LLDP-CAPABILITY-MIB.mib: LLDP-MIB AGENT-CAPABILITIES
|
||||||
|
--
|
||||||
|
-- June 2012, Chakraborty Debojyoti
|
||||||
|
--
|
||||||
|
-- Copyright (c) 2012 by Brocade Communications Systems, Inc.
|
||||||
|
-- All rights reserved.
|
||||||
|
-- *********************************************************************
|
||||||
|
BROCADE-LLDP-CAPABILITY-MIB DEFINITIONS ::= BEGIN
|
||||||
|
IMPORTS
|
||||||
|
brocadeAgentCapability
|
||||||
|
FROM Brocade-REG-MIB
|
||||||
|
AGENT-CAPABILITIES
|
||||||
|
FROM SNMPv2-CONF
|
||||||
|
MODULE-IDENTITY
|
||||||
|
FROM SNMPv2-SMI;
|
||||||
|
|
||||||
|
brocadeLLDPCapability MODULE-IDENTITY
|
||||||
|
LAST-UPDATED "201206060000Z"
|
||||||
|
ORGANIZATION "Brocade Communications Systems, Inc.,"
|
||||||
|
CONTACT-INFO
|
||||||
|
"Customer Support Group
|
||||||
|
Brocade Communications Systems, Inc.
|
||||||
|
Postal: 130 Holger Way
|
||||||
|
San Jose, CA 95134
|
||||||
|
U.S.A
|
||||||
|
Tel: +1-408-333-8000
|
||||||
|
E-mail: support@Brocade.com
|
||||||
|
web: www.brocade.com."
|
||||||
|
|
||||||
|
DESCRIPTION
|
||||||
|
"Agent capabilities for LLDP-MIB implementation."
|
||||||
|
|
||||||
|
REVISION "201206060000Z"
|
||||||
|
DESCRIPTION
|
||||||
|
"The initial version of this MIB module."
|
||||||
|
::= { brocadeAgentCapability 1 }
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Agent capability for NOS 3.0.0 (VDX Platform)
|
||||||
|
--
|
||||||
|
brocadeLLDPVdx300R1 AGENT-CAPABILITIES
|
||||||
|
PRODUCT-RELEASE "NOS3.0.0"
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "LLDP-MIB capabilities."
|
||||||
|
|
||||||
|
SUPPORTS LLDP-MIB
|
||||||
|
INCLUDES {
|
||||||
|
lldpConfigGroup,
|
||||||
|
lldpConfigRxGroup,
|
||||||
|
lldpConfigTxGroup,
|
||||||
|
lldpStatsRxGroup,
|
||||||
|
lldpStatsTxGroup,
|
||||||
|
lldpLocSysGroup,
|
||||||
|
lldpRemSysGroup
|
||||||
|
}
|
||||||
|
|
||||||
|
VARIATION lldpConfigManAddrPortsTxEnable
|
||||||
|
ACCESS not-implemented
|
||||||
|
DESCRIPTION "Not Supported."
|
||||||
|
|
||||||
|
::= { brocadeLLDPCapability 1 }
|
||||||
|
|
||||||
|
END
|
||||||
@@ -0,0 +1,105 @@
|
|||||||
|
-- *********************************************************************
|
||||||
|
-- BROCADE-LLDP-EXT-DOT3-CAPABILITY-MIB.mib:
|
||||||
|
-- LLDP-EXT-DOT3-MIB AGENT-CAPABILITIES
|
||||||
|
--
|
||||||
|
-- June 2012, Chakraborty Debojyoti
|
||||||
|
--
|
||||||
|
-- Copyright (c) 2012 by Brocade Communications Systems, Inc.
|
||||||
|
-- All rights reserved.
|
||||||
|
-- *********************************************************************
|
||||||
|
BROCADE-LLDP-EXT-DOT3-CAPABILITY-MIB DEFINITIONS ::= BEGIN
|
||||||
|
IMPORTS
|
||||||
|
brocadeAgentCapability
|
||||||
|
FROM Brocade-REG-MIB
|
||||||
|
AGENT-CAPABILITIES
|
||||||
|
FROM SNMPv2-CONF
|
||||||
|
MODULE-IDENTITY
|
||||||
|
FROM SNMPv2-SMI;
|
||||||
|
|
||||||
|
brocadeLLDP-EXT-DOT3Capability MODULE-IDENTITY
|
||||||
|
LAST-UPDATED "201206060000Z"
|
||||||
|
ORGANIZATION "Brocade Communications Systems, Inc.,"
|
||||||
|
CONTACT-INFO
|
||||||
|
"Customer Support Group
|
||||||
|
Brocade Communications Systems, Inc.
|
||||||
|
Postal: 130 Holger Way
|
||||||
|
San Jose, CA 95134
|
||||||
|
U.S.A
|
||||||
|
Tel: +1-408-333-8000
|
||||||
|
E-mail: support@Brocade.com
|
||||||
|
web: www.brocade.com."
|
||||||
|
|
||||||
|
DESCRIPTION
|
||||||
|
"Agent capabilities for LLDP-EXT-DOT3-MIB implementation."
|
||||||
|
|
||||||
|
REVISION "201206060000Z"
|
||||||
|
DESCRIPTION
|
||||||
|
"The initial version of this MIB module."
|
||||||
|
::= { brocadeAgentCapability 2 }
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Agent capability for NOS 3.0.0 (VDX Platform)
|
||||||
|
--
|
||||||
|
brocadeLLDP-EXT-DOT3Vdx300R1 AGENT-CAPABILITIES
|
||||||
|
PRODUCT-RELEASE "NOS3.0.0"
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "LLDP-EXT-DOT3-MIB capabilities."
|
||||||
|
|
||||||
|
SUPPORTS LLDP-EXT-DOT3-MIB
|
||||||
|
INCLUDES {
|
||||||
|
lldpXdot3ConfigGroup,
|
||||||
|
lldpXdot3LocSysGroup,
|
||||||
|
lldpXdot3RemSysGroup
|
||||||
|
}
|
||||||
|
|
||||||
|
VARIATION lldpXdot3LocPowerPortClass
|
||||||
|
ACCESS not-implemented
|
||||||
|
DESCRIPTION "Not Supported."
|
||||||
|
|
||||||
|
VARIATION lldpXdot3LocPowerMDISupported
|
||||||
|
ACCESS not-implemented
|
||||||
|
DESCRIPTION "Not Supported."
|
||||||
|
|
||||||
|
VARIATION lldpXdot3LocPowerMDIEnabled
|
||||||
|
ACCESS not-implemented
|
||||||
|
DESCRIPTION "Not Supported."
|
||||||
|
|
||||||
|
VARIATION lldpXdot3LocPowerPairControlable
|
||||||
|
ACCESS not-implemented
|
||||||
|
DESCRIPTION "Not Supported."
|
||||||
|
|
||||||
|
VARIATION lldpXdot3LocPowerPairs
|
||||||
|
ACCESS not-implemented
|
||||||
|
DESCRIPTION "Not Supported."
|
||||||
|
|
||||||
|
VARIATION lldpXdot3LocPowerClass
|
||||||
|
ACCESS not-implemented
|
||||||
|
DESCRIPTION "Not Supported."
|
||||||
|
|
||||||
|
VARIATION lldpXdot3RemPowerPortClass
|
||||||
|
ACCESS not-implemented
|
||||||
|
DESCRIPTION "Not Supported."
|
||||||
|
|
||||||
|
VARIATION lldpXdot3RemPowerMDISupported
|
||||||
|
ACCESS not-implemented
|
||||||
|
DESCRIPTION "Not Supported."
|
||||||
|
|
||||||
|
VARIATION lldpXdot3RemPowerMDIEnabled
|
||||||
|
ACCESS not-implemented
|
||||||
|
DESCRIPTION "Not Supported."
|
||||||
|
|
||||||
|
VARIATION lldpXdot3RemPowerPairControlable
|
||||||
|
ACCESS not-implemented
|
||||||
|
DESCRIPTION "Not Supported."
|
||||||
|
|
||||||
|
VARIATION lldpXdot3RemPowerPairs
|
||||||
|
ACCESS not-implemented
|
||||||
|
DESCRIPTION "Not Supported."
|
||||||
|
|
||||||
|
VARIATION lldpXdot3RemPowerClass
|
||||||
|
ACCESS not-implemented
|
||||||
|
DESCRIPTION "Not Supported."
|
||||||
|
|
||||||
|
::= { brocadeLLDP-EXT-DOT3Capability 1 }
|
||||||
|
|
||||||
|
END
|
||||||
@@ -0,0 +1,242 @@
|
|||||||
|
-- *********************************************************************
|
||||||
|
-- BROCADE-PRODUCTS-MIB.mib: Brocade Products MIB.
|
||||||
|
--
|
||||||
|
-- Dec 2014, Prabhu Sundaram
|
||||||
|
--
|
||||||
|
-- Copyright (c) 2012 by Brocade Communications Systems, Inc.
|
||||||
|
-- All rights reserved.
|
||||||
|
--
|
||||||
|
-- *********************************************************************
|
||||||
|
|
||||||
|
BROCADE-MAPS-MIB DEFINITIONS ::= BEGIN
|
||||||
|
|
||||||
|
IMPORTS
|
||||||
|
Integer32, OBJECT-IDENTITY, OBJECT-TYPE,
|
||||||
|
MODULE-IDENTITY, NOTIFICATION-TYPE
|
||||||
|
FROM SNMPv2-SMI
|
||||||
|
|
||||||
|
bcsiModules
|
||||||
|
FROM Brocade-REG-MIB
|
||||||
|
|
||||||
|
swVfId
|
||||||
|
FROM SYSTEM-MIB;
|
||||||
|
|
||||||
|
maps MODULE-IDENTITY
|
||||||
|
LAST-UPDATED "201304221330Z" -- April 22, 2013 1:30pm
|
||||||
|
ORGANIZATION "Brocade Communications Systems, Inc.,"
|
||||||
|
CONTACT-INFO "Customer Support Group
|
||||||
|
Brocade Communications Systems,
|
||||||
|
120 Holger Way,
|
||||||
|
San Jose, CA 95134 U.S.A
|
||||||
|
Tel: +1-408-392-6061
|
||||||
|
Fax: +1-408-392-6656
|
||||||
|
Email: support@Brocade.COM
|
||||||
|
WEB: www.brocade.com"
|
||||||
|
|
||||||
|
DESCRIPTION "The MIB module is for Brocade's Monitoring and
|
||||||
|
Alerting Policy Suite[MAPS] feature."
|
||||||
|
REVISION "201303011400Z" -- March 01, 2013 02:00pm
|
||||||
|
DESCRIPTION "added db category"
|
||||||
|
REVISION "201304221330Z" -- April 22, 2013 01:30pm
|
||||||
|
DESCRIPTION "Updated mapsConfigObjectGroupType syntax values"
|
||||||
|
REVISION "201501131400Z" -- January 13, 2015 02:00pm
|
||||||
|
DESCRIPTION "modified SW-MIB from IMPORTS to SYSTEM-MIB"
|
||||||
|
REVISION "201501131400Z" -- June 10, 2015 02:00pm
|
||||||
|
DESCRIPTION "Updated mapsConfigObjectGroupType enum value"
|
||||||
|
::= { bcsiModules 4 }
|
||||||
|
|
||||||
|
mapsTraps OBJECT-IDENTITY
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "The OID represents the MAPS Trap."
|
||||||
|
::= { maps 0 }
|
||||||
|
|
||||||
|
mapsConfig OBJECT-IDENTITY
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "The OID represents the MAPS Config params."
|
||||||
|
::= { maps 1 }
|
||||||
|
|
||||||
|
mapsConfigRuleName OBJECT-TYPE
|
||||||
|
SYNTAX OCTET STRING (SIZE (64))
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "It indicates the rule name which associates a condition
|
||||||
|
with actions that need to be triggered
|
||||||
|
when the specified condition is evaluated to true."
|
||||||
|
::= { mapsConfig 1 }
|
||||||
|
|
||||||
|
mapsConfigCondition OBJECT-TYPE
|
||||||
|
SYNTAX OCTET STRING (SIZE (64))
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "It indicates the condition defined in the rule.
|
||||||
|
It includes the counter, time base and threshold
|
||||||
|
value with the logical operation (eg: >, <, >= etc) that
|
||||||
|
needs to be evaluated. Eg: (CRC/MIN > 10)"
|
||||||
|
::= { mapsConfig 2 }
|
||||||
|
|
||||||
|
mapsConfigNumOfMS OBJECT-TYPE
|
||||||
|
SYNTAX Integer32
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "It indicates the number of monitoring system entries
|
||||||
|
in the notifications"
|
||||||
|
::= { mapsConfig 3 }
|
||||||
|
|
||||||
|
mapsConfigMsName OBJECT-TYPE
|
||||||
|
SYNTAX OCTET STRING (SIZE (16))
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "This is monitoring system name like CRC, ITW, PS, FAN."
|
||||||
|
::= { mapsConfig 4 }
|
||||||
|
|
||||||
|
mapsConfigObjectGroupType OBJECT-TYPE
|
||||||
|
SYNTAX INTEGER {
|
||||||
|
unknown (1),
|
||||||
|
ps (2),
|
||||||
|
fan (3),
|
||||||
|
port (4),
|
||||||
|
ve-port-cir (5),
|
||||||
|
ts (6),
|
||||||
|
slot (7),
|
||||||
|
gbic (8),
|
||||||
|
flash (9),
|
||||||
|
rule (10),
|
||||||
|
switch (11),
|
||||||
|
chassis (12),
|
||||||
|
cpu (13),
|
||||||
|
wwn (14),
|
||||||
|
flow (15),
|
||||||
|
eth-port (16)
|
||||||
|
}
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "It indicates the object group type like circuit, PS, FAN."
|
||||||
|
::= { mapsConfig 5 }
|
||||||
|
|
||||||
|
mapsConfigObjectKeyType OBJECT-TYPE
|
||||||
|
SYNTAX INTEGER {
|
||||||
|
int32 (1),
|
||||||
|
uint32 (2),
|
||||||
|
float (3),
|
||||||
|
string (4)
|
||||||
|
}
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "It indicates the object key type. The main purpose of this
|
||||||
|
object to help NMS applications to interpret the data easily.
|
||||||
|
Eg: If the mapsConfigObjectGroupType is port then the key type
|
||||||
|
is an integer and key value is the port number."
|
||||||
|
::= { mapsConfig 6 }
|
||||||
|
|
||||||
|
mapsConfigObjectKeyValue OBJECT-TYPE
|
||||||
|
SYNTAX OCTET STRING (SIZE (64))
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "It indicates the object key value. Incase of integer this field
|
||||||
|
keeps as 1, 2, 3, 4, etc., and for string it keeps
|
||||||
|
flowname1, flowname2, etc., Eg: if Group type is port,
|
||||||
|
then the object key value is the port number."
|
||||||
|
::= { mapsConfig 7 }
|
||||||
|
|
||||||
|
mapsConfigValueType OBJECT-TYPE
|
||||||
|
SYNTAX INTEGER {
|
||||||
|
int32 (1),
|
||||||
|
uint32 (2),
|
||||||
|
float (3),
|
||||||
|
string (4)
|
||||||
|
}
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "It indicates the value type which could be integer, float
|
||||||
|
or string. The main purpose of this object to help
|
||||||
|
NMS applications to interpret the data easily."
|
||||||
|
::= { mapsConfig 8 }
|
||||||
|
|
||||||
|
mapsConfigCurrentValue OBJECT-TYPE
|
||||||
|
SYNTAX OCTET STRING (SIZE (64))
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "It indicates the actual value of the monitoring
|
||||||
|
system."
|
||||||
|
::= { mapsConfig 9 }
|
||||||
|
|
||||||
|
mapsConfigTimeBase OBJECT-TYPE
|
||||||
|
SYNTAX OCTET STRING (SIZE (16))
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "The time period across which the change
|
||||||
|
in a counter is to be monitored"
|
||||||
|
::= { mapsConfig 10 }
|
||||||
|
|
||||||
|
mapsConfigSeverityLevel OBJECT-TYPE
|
||||||
|
SYNTAX INTEGER {
|
||||||
|
critical (1),
|
||||||
|
error (2),
|
||||||
|
warning (3),
|
||||||
|
informational (4),
|
||||||
|
debug (5)
|
||||||
|
}
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "It indicates the severity level of the
|
||||||
|
condition triggered"
|
||||||
|
::= { mapsConfig 11 }
|
||||||
|
|
||||||
|
mapsConfigMsList OBJECT-TYPE
|
||||||
|
SYNTAX OCTET STRING (SIZE (128))
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "It indicates the list of the monitoring systems. The
|
||||||
|
format is <msname>,<value-type>,<current-value>,<time-base>
|
||||||
|
::<msName>,<value-type>,<current-value>,<time-base>::."
|
||||||
|
::= { mapsConfig 12 }
|
||||||
|
|
||||||
|
mapsConfigAction OBJECT-TYPE
|
||||||
|
SYNTAX Integer32
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "It indicates the actions(bitmask value) that need
|
||||||
|
to be triggered when the specified condition
|
||||||
|
evaluated to be true. Action bitmask value mapping are
|
||||||
|
none (0),
|
||||||
|
raslog (1),
|
||||||
|
snmp (2),
|
||||||
|
port-fence (8),
|
||||||
|
email (16),
|
||||||
|
switchstatus-down (64),
|
||||||
|
switchstatus-marginal (128),
|
||||||
|
switchstatus-healthy (256),
|
||||||
|
switchpolicy (512),
|
||||||
|
sfp-marginal (1024)
|
||||||
|
Ex: mapsConfigAction value 3 represents both raslog and snmp action"
|
||||||
|
::= { mapsConfig 13 }
|
||||||
|
|
||||||
|
|
||||||
|
mapsDbCategory OBJECT-TYPE
|
||||||
|
SYNTAX OCTET STRING (SIZE (24))
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "indicates db category name"
|
||||||
|
::= { mapsConfig 14 }
|
||||||
|
|
||||||
|
mapsTrapAM NOTIFICATION-TYPE
|
||||||
|
OBJECTS {
|
||||||
|
mapsConfigRuleName,
|
||||||
|
mapsConfigObjectGroupType,
|
||||||
|
mapsConfigObjectKeyType,
|
||||||
|
mapsConfigObjectKeyValue,
|
||||||
|
mapsConfigNumOfMS,
|
||||||
|
mapsConfigMsList,
|
||||||
|
mapsConfigSeverityLevel,
|
||||||
|
mapsConfigCondition,
|
||||||
|
mapsConfigAction,
|
||||||
|
swVfId,
|
||||||
|
mapsDbCategory
|
||||||
|
}
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "Trap to be send for MAPS threshold events."
|
||||||
|
::= { mapsTraps 1 }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
END
|
||||||
@@ -0,0 +1,69 @@
|
|||||||
|
-- ****************************************************************
|
||||||
|
-- BROCADE-PRODUCTS-MIB.my: Brocade Products MIB.
|
||||||
|
--
|
||||||
|
-- Feb 2012, Sanjeev C Joshi, Yasar Khan
|
||||||
|
--
|
||||||
|
-- Copyright (c) 2012 by Brocade Communications Systems, Inc.
|
||||||
|
-- All rights reserved.
|
||||||
|
--
|
||||||
|
-- ****************************************************************
|
||||||
|
BROCADE-PRODUCTS-MIB DEFINITIONS ::= BEGIN
|
||||||
|
IMPORTS
|
||||||
|
MODULE-IDENTITY
|
||||||
|
FROM SNMPv2-SMI
|
||||||
|
bcsiReg
|
||||||
|
FROM Brocade-REG-MIB;
|
||||||
|
|
||||||
|
brocadeProductsMIB MODULE-IDENTITY
|
||||||
|
LAST-UPDATED "201202030000Z"
|
||||||
|
ORGANIZATION "Brocade Communications Systems, Inc.,"
|
||||||
|
CONTACT-INFO
|
||||||
|
"Brocade Communications Systems, Inc.
|
||||||
|
Postal: 130 Holger Way
|
||||||
|
San Jose, CA 95134
|
||||||
|
U.S.A
|
||||||
|
Tel: +1-408-333-8000
|
||||||
|
E-mail: support@Brocade.com
|
||||||
|
web: www.brocade.com."
|
||||||
|
|
||||||
|
DESCRIPTION "This MIB module is for defining all the object
|
||||||
|
identifiers to identify various hardware
|
||||||
|
platforms. These identifiers are used as value
|
||||||
|
for 'sysObjectID'."
|
||||||
|
|
||||||
|
REVISION "201202030000Z"
|
||||||
|
DESCRIPTION "Initial version of this MIB module."
|
||||||
|
REVISION "201311210000Z"
|
||||||
|
DESCRIPTION "Updated name for Blackbird as vdx2740"
|
||||||
|
REVISION "201309251300Z"
|
||||||
|
DESCRIPTION "Added new product name for Draco-T platform."
|
||||||
|
REVISION "201410071405Z"
|
||||||
|
DESCRIPTION "Added product name for RIGEL1U as vdx7770P36
|
||||||
|
and RIGEL2U as vdx7770P72."
|
||||||
|
REVISION "201508111305Z"
|
||||||
|
DESCRIPTION "Updated the product name for RIGEL1U as vdx6940Q36.
|
||||||
|
then added RIGELMOR product name as vdx6940S144 and Removed RIGEL2U platform"
|
||||||
|
|
||||||
|
::= { bcsiReg 3 }
|
||||||
|
|
||||||
|
brocadeProducts OBJECT IDENTIFIER ::= { brocadeProductsMIB 1 }
|
||||||
|
|
||||||
|
vdx6740 OBJECT IDENTIFIER ::= { brocadeProducts 131 }
|
||||||
|
|
||||||
|
vdx6740T OBJECT IDENTIFIER ::= { brocadeProducts 137 }
|
||||||
|
|
||||||
|
vdx2740 OBJECT IDENTIFIER ::= { brocadeProducts 138 }
|
||||||
|
|
||||||
|
vdx6740T1G OBJECT IDENTIFIER ::= { brocadeProducts 151 }
|
||||||
|
|
||||||
|
vdx6940Q36 OBJECT IDENTIFIER ::= { brocadeProducts 153 }
|
||||||
|
|
||||||
|
vdx6940S144 OBJECT IDENTIFIER ::= { brocadeProducts 164 }
|
||||||
|
|
||||||
|
vdx8770S4 OBJECT IDENTIFIER ::= { brocadeProducts 1000 }
|
||||||
|
|
||||||
|
vdx8770S8 OBJECT IDENTIFIER ::= { brocadeProducts 1001 }
|
||||||
|
|
||||||
|
vdx8770S16 OBJECT IDENTIFIER ::= { brocadeProducts 1002 }
|
||||||
|
|
||||||
|
END
|
||||||
@@ -0,0 +1,352 @@
|
|||||||
|
BROCADE-VCS-MIB DEFINITIONS ::= BEGIN
|
||||||
|
|
||||||
|
IMPORTS
|
||||||
|
MODULE-IDENTITY, OBJECT-TYPE,
|
||||||
|
Integer32, Gauge32,
|
||||||
|
Counter32, Unsigned32 FROM SNMPv2-SMI
|
||||||
|
MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
|
||||||
|
TruthValue, TEXTUAL-CONVENTION,
|
||||||
|
DisplayString FROM SNMPv2-TC
|
||||||
|
InetAddress, InetAddressType FROM INET-ADDRESS-MIB
|
||||||
|
FcWwn FROM Brocade-TC
|
||||||
|
bcsiModules FROM Brocade-REG-MIB;
|
||||||
|
|
||||||
|
brocadeVcsMIB MODULE-IDENTITY
|
||||||
|
LAST-UPDATED "201504080000Z"
|
||||||
|
ORGANIZATION
|
||||||
|
"Brocade Communications Systems Inc."
|
||||||
|
CONTACT-INFO
|
||||||
|
"130 Holger Way,
|
||||||
|
San Jose, CA
|
||||||
|
95134 USA.
|
||||||
|
|
||||||
|
Phone: +1-408-333-8000
|
||||||
|
Email: vivekk@brocade.com"
|
||||||
|
DESCRIPTION
|
||||||
|
"The MIB module for the monitoring of VCS fabrics. VCS
|
||||||
|
fabrics is a proprietary technology of Brocade.
|
||||||
|
|
||||||
|
A VCS fabric consists of a set of inter-connected
|
||||||
|
Brocade VDX switches. These set of switches together
|
||||||
|
behave like a single L2 switch to the outside world.
|
||||||
|
The cluster can operate in 2 modes: fabric mode and
|
||||||
|
Logical chassis mode.
|
||||||
|
In fabric mode, the switches together behave like a
|
||||||
|
single L2 switch - but configuration on each switch
|
||||||
|
is independent of the other.
|
||||||
|
In logical chassis mode, one switch in the fabric is
|
||||||
|
elected as the principal switch. All configurations
|
||||||
|
need to be done only from the principal switch.
|
||||||
|
This is synced across to all the switches in the fabric.
|
||||||
|
Thus the configuration information is the same on all
|
||||||
|
the switches."
|
||||||
|
|
||||||
|
REVISION "201504080000Z"
|
||||||
|
DESCRIPTION
|
||||||
|
"Initial version."
|
||||||
|
::= { bcsiModules 6 }
|
||||||
|
|
||||||
|
brocadeVcsMIBObjects OBJECT IDENTIFIER ::= { brocadeVcsMIB 1 }
|
||||||
|
brocadeVcsMIBConformance OBJECT IDENTIFIER ::= { brocadeVcsMIB 2 }
|
||||||
|
|
||||||
|
VcsConfigMode ::= TEXTUAL-CONVENTION
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"The configuration mode that is in effect in the VCS
|
||||||
|
fabric.
|
||||||
|
local(1) - configuration is local to the switch.
|
||||||
|
distributed(2) - configuration is to be done from the
|
||||||
|
principal switch and will be the same
|
||||||
|
across all the switches in the fabric."
|
||||||
|
SYNTAX INTEGER {
|
||||||
|
local(1),
|
||||||
|
distributed(2)
|
||||||
|
}
|
||||||
|
|
||||||
|
VcsOperationMode ::= TEXTUAL-CONVENTION
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"The operational mode of the fabric.
|
||||||
|
fabricCluster(1) - the entire set of switches in the
|
||||||
|
cluster behaves like a single L2
|
||||||
|
switch to the outer world. However,
|
||||||
|
configuration is local to each switch.
|
||||||
|
logicalChassis(2) - in this case the fabric behaves
|
||||||
|
like a single L2 switch and the
|
||||||
|
configuration is driven from the
|
||||||
|
principal switch and is the same
|
||||||
|
across all switches in the fabric."
|
||||||
|
SYNTAX INTEGER {
|
||||||
|
fabricCluster(1),
|
||||||
|
logicalChassis(2)
|
||||||
|
}
|
||||||
|
|
||||||
|
VcsIdentifier ::= TEXTUAL-CONVENTION
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"A number that uniquely identifies a fabric. Two different
|
||||||
|
fabrics would have different identifiers."
|
||||||
|
SYNTAX Unsigned32 (1 .. 8192)
|
||||||
|
|
||||||
|
VcsRbridgeId ::= TEXTUAL-CONVENTION
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"A number that uniquely identifies a switch within a fabric."
|
||||||
|
SYNTAX Unsigned32 (1 .. 239)
|
||||||
|
|
||||||
|
VcsClusterCondition ::= TEXTUAL-CONVENTION
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"The state of the fabric as a whole.
|
||||||
|
good(1) - indicates that all switches are in good
|
||||||
|
condition and cluster is fine.
|
||||||
|
degraded(2) - indicates that one or more switches are
|
||||||
|
offline and cluster has degraded.
|
||||||
|
error(3) - Internal error state."
|
||||||
|
SYNTAX INTEGER {
|
||||||
|
good(1),
|
||||||
|
degraded(2),
|
||||||
|
error(3)
|
||||||
|
}
|
||||||
|
|
||||||
|
vcsConfigMode OBJECT-TYPE
|
||||||
|
SYNTAX VcsConfigMode
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"The configuration mode of this cluster that is in effect."
|
||||||
|
::= { brocadeVcsMIBObjects 1 }
|
||||||
|
|
||||||
|
vcsModeOfOperation OBJECT-TYPE
|
||||||
|
SYNTAX VcsOperationMode
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"The operational mode of this cluster."
|
||||||
|
::= { brocadeVcsMIBObjects 2 }
|
||||||
|
|
||||||
|
vcsIdentifier OBJECT-TYPE
|
||||||
|
SYNTAX VcsIdentifier
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"The unique identifier of this cluster."
|
||||||
|
::= { brocadeVcsMIBObjects 3 }
|
||||||
|
|
||||||
|
vcsVirtualIpV4Address OBJECT-TYPE
|
||||||
|
SYNTAX InetAddress
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"The virtual IPv4 address of the cluster. Management
|
||||||
|
stations can use this address to send requests."
|
||||||
|
::= { brocadeVcsMIBObjects 4 }
|
||||||
|
|
||||||
|
vcsVirtualIpV6Address OBJECT-TYPE
|
||||||
|
SYNTAX InetAddress
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"The virtual IPv6 address of the cluster. Management
|
||||||
|
stations can use this address to send requests."
|
||||||
|
::= { brocadeVcsMIBObjects 5 }
|
||||||
|
|
||||||
|
vcsVirtualIpAssociatedRbridgeId OBJECT-TYPE
|
||||||
|
SYNTAX VcsRbridgeId
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"The rbridge-id of the switch that hosts the virtual IP
|
||||||
|
address."
|
||||||
|
::= { brocadeVcsMIBObjects 6 }
|
||||||
|
|
||||||
|
vcsVirtualIpInterfaceId OBJECT-TYPE
|
||||||
|
SYNTAX Unsigned32
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"The interface Id that is configured in the case of
|
||||||
|
inband configuration. If it is not inband configuration,
|
||||||
|
then this object will contain the value 0."
|
||||||
|
::= { brocadeVcsMIBObjects 7 }
|
||||||
|
|
||||||
|
vcsVirtualIpV4OperStatus OBJECT-TYPE
|
||||||
|
SYNTAX INTEGER {
|
||||||
|
up(1),
|
||||||
|
down(2)
|
||||||
|
}
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"The operational status of the virtual IPv4 address."
|
||||||
|
::= { brocadeVcsMIBObjects 8 }
|
||||||
|
|
||||||
|
vcsVirtualIpV6OperStatus OBJECT-TYPE
|
||||||
|
SYNTAX INTEGER {
|
||||||
|
up(1),
|
||||||
|
down(2)
|
||||||
|
}
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"The operational status of the virtual IPv6 address."
|
||||||
|
::= { brocadeVcsMIBObjects 9 }
|
||||||
|
|
||||||
|
vcsNumNodesInCluster OBJECT-TYPE
|
||||||
|
SYNTAX Unsigned32
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"The number of switches in the cluster that are currently
|
||||||
|
online."
|
||||||
|
::= { brocadeVcsMIBObjects 10 }
|
||||||
|
|
||||||
|
vcsClusterCondition OBJECT-TYPE
|
||||||
|
SYNTAX VcsClusterCondition
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"The condition of the cluster as a whole."
|
||||||
|
::= { brocadeVcsMIBObjects 11 }
|
||||||
|
|
||||||
|
vcsFabricIslTable OBJECT-TYPE
|
||||||
|
SYNTAX SEQUENCE OF VcsFabricIslEntry
|
||||||
|
MAX-ACCESS not-accessible
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"This table contains all the ISLs (Inter Switch Link) on
|
||||||
|
the local device."
|
||||||
|
|
||||||
|
::= { brocadeVcsMIBObjects 12 }
|
||||||
|
|
||||||
|
vcsFabricIslEntry OBJECT-TYPE
|
||||||
|
SYNTAX VcsFabricIslEntry
|
||||||
|
MAX-ACCESS not-accessible
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"Represents a single Inter Switch Link (ISL) on this
|
||||||
|
switch."
|
||||||
|
INDEX { vcsFabricIslIndex }
|
||||||
|
::= { vcsFabricIslTable 1 }
|
||||||
|
|
||||||
|
VcsFabricIslEntry ::= SEQUENCE {
|
||||||
|
vcsFabricIslIndex Unsigned32,
|
||||||
|
vcsFabricIslIntfName DisplayString,
|
||||||
|
vcsFabricIslNbrIntfName DisplayString,
|
||||||
|
vcsFabricIslNbrWWN FcWwn,
|
||||||
|
vcsFabricIslNbrName DisplayString,
|
||||||
|
vcsFabricIslBW Unsigned32,
|
||||||
|
vcsFabricIslIsTrunk TruthValue
|
||||||
|
}
|
||||||
|
|
||||||
|
vcsFabricIslIndex OBJECT-TYPE
|
||||||
|
SYNTAX Unsigned32
|
||||||
|
MAX-ACCESS not-accessible
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"A unique id to distinguish this ISL from others on the
|
||||||
|
local device."
|
||||||
|
::= { vcsFabricIslEntry 1 }
|
||||||
|
|
||||||
|
vcsFabricIslIntfName OBJECT-TYPE
|
||||||
|
SYNTAX DisplayString
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"The interface name (ifName) of the interface on which
|
||||||
|
the ISL is formed on this switch."
|
||||||
|
::= { vcsFabricIslEntry 2 }
|
||||||
|
|
||||||
|
vcsFabricIslNbrIntfName OBJECT-TYPE
|
||||||
|
SYNTAX DisplayString
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"The interface name (ifName) of the interface on the
|
||||||
|
neighboring switch for this ISL."
|
||||||
|
::= { vcsFabricIslEntry 3 }
|
||||||
|
|
||||||
|
vcsFabricIslNbrWWN OBJECT-TYPE
|
||||||
|
SYNTAX FcWwn
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"The World Wide Name (WWN) of the neighboring switch
|
||||||
|
for this ISL."
|
||||||
|
::= { vcsFabricIslEntry 4 }
|
||||||
|
|
||||||
|
vcsFabricIslNbrName OBJECT-TYPE
|
||||||
|
SYNTAX DisplayString
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"The name of the neighboring switch on which this ISL
|
||||||
|
is formed."
|
||||||
|
::= { vcsFabricIslEntry 5 }
|
||||||
|
|
||||||
|
vcsFabricIslBW OBJECT-TYPE
|
||||||
|
SYNTAX Unsigned32
|
||||||
|
UNITS "megabytes"
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"The band-width of this ISL."
|
||||||
|
::= { vcsFabricIslEntry 6 }
|
||||||
|
|
||||||
|
vcsFabricIslIsTrunk OBJECT-TYPE
|
||||||
|
SYNTAX TruthValue
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"An indication whether this ISL is a trunk interface.
|
||||||
|
A value of true(1) means it is a trunk.
|
||||||
|
A value of false(2) means it is not a trunk."
|
||||||
|
::= { vcsFabricIslEntry 7 }
|
||||||
|
|
||||||
|
-- Conformance information
|
||||||
|
|
||||||
|
brocadeVcsConformanceGroups
|
||||||
|
OBJECT IDENTIFIER ::= { brocadeVcsMIBConformance 1 }
|
||||||
|
|
||||||
|
brocadeVcsCompliances
|
||||||
|
OBJECT IDENTIFIER ::= { brocadeVcsMIBConformance 2 }
|
||||||
|
|
||||||
|
-- Compliance statements
|
||||||
|
|
||||||
|
brocadeVcsCompliance MODULE-COMPLIANCE
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"The compliance information for this MIB."
|
||||||
|
MODULE -- this module
|
||||||
|
MANDATORY-GROUPS { brocadeVcsObjectGroup }
|
||||||
|
|
||||||
|
::= { brocadeVcsCompliances 1 }
|
||||||
|
|
||||||
|
-- units of conformance
|
||||||
|
|
||||||
|
brocadeVcsObjectsGroup OBJECT-GROUP
|
||||||
|
OBJECTS { vcsConfigMode,
|
||||||
|
vcsModeOfOperation,
|
||||||
|
vcsIdentifier,
|
||||||
|
vcsVirtualIpV4Address,
|
||||||
|
vcsVirtualIpV6Address,
|
||||||
|
vcsVirtualIpAssociatedRbridgeId,
|
||||||
|
vcsVirtualIpInterfaceId,
|
||||||
|
vcsVirtualIpV4OperStatus,
|
||||||
|
vcsVirtualIpV6OperStatus,
|
||||||
|
vcsNumNodesInCluster,
|
||||||
|
vcsClusterCondition,
|
||||||
|
vcsFabricIslIndex,
|
||||||
|
vcsFabricIslIntfName,
|
||||||
|
vcsFabricIslNbrIntfName,
|
||||||
|
vcsFabricIslNbrWWN,
|
||||||
|
vcsFabricIslNbrName,
|
||||||
|
vcsFabricIslBW,
|
||||||
|
vcsFabricIslIsTrunk
|
||||||
|
}
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"The MIB objects related to VCS monitoring."
|
||||||
|
::= { brocadeVcsConformanceGroups 1 }
|
||||||
|
|
||||||
|
END
|
||||||
+80
-85
@@ -1,85 +1,80 @@
|
|||||||
--
|
-- *******************************************************************
|
||||||
-- Title: Brocade Registration MIB, Version v5.0
|
-- Brocade-REG-MIB.my: Brocade Products MIB.
|
||||||
--
|
--
|
||||||
-- This is specified based on SMIv2, mainly to ensure that the specification
|
-- Feb 2012, Sanjeev C Joshi, Yasar Khan
|
||||||
-- can be parsed easily by off-the-shelf network management product in
|
--
|
||||||
-- the market.
|
-- Copyright (c) 1996-2002, 2012 by Brocade Communications Systems, Inc.
|
||||||
--
|
-- All rights reserved.
|
||||||
-- The goal of this mib is to access all the Brocade Enterprise products.
|
--
|
||||||
-- This mib file contains the generic textual conventions of Brocade's product.
|
-- *******************************************************************
|
||||||
--
|
Brocade-REG-MIB DEFINITIONS ::= BEGIN
|
||||||
|
IMPORTS
|
||||||
Brocade-REG-MIB DEFINITIONS ::= BEGIN
|
MODULE-IDENTITY,
|
||||||
IMPORTS
|
OBJECT-IDENTITY,
|
||||||
enterprises
|
enterprises FROM SNMPv2-SMI;
|
||||||
FROM RFC1155-SMI;
|
|
||||||
|
bcsi MODULE-IDENTITY
|
||||||
-- bcsiGlobalRegModule MODULE-IDENTITY
|
LAST-UPDATED "201202030000Z"
|
||||||
-- LAST-UPDATED "0210030000Z"
|
ORGANIZATION " Brocade Communications Systems, Inc."
|
||||||
-- ORGANIZATION "Brocade Communications Systems, Inc.,"
|
CONTACT-INFO
|
||||||
-- CONTACT-INFO "Customer Support Group
|
"Brocade Communications Systems, Inc.
|
||||||
-- Brocade Communications Systems,
|
Postal: 130 Holger Way
|
||||||
-- 1745 Technology Drive,
|
San Jose, CA 95134
|
||||||
-- San Jose, CA 95110 U.S.A
|
U.S.A
|
||||||
-- Tel: +1-408-392-6061
|
Tel: +1-408-333-8000
|
||||||
-- Fax: +1-408-392-6656
|
E-mail: support@Brocade.com
|
||||||
-- Email: support@Brocade.COM
|
web: www.brocade.com."
|
||||||
-- WEB: www.brocade.com"
|
DESCRIPTION
|
||||||
--
|
"This MIB module defines Structure of Management
|
||||||
--
|
Information for the Brocade enterprise and serves as
|
||||||
-- DESCRIPTION "The MIB module is for Brocade's Central Repository of
|
central repository of all the OIDs under Brocade
|
||||||
-- all OIDs for an enterprise. Thus any group within Brocade
|
enterprise OID tree."
|
||||||
-- looking to add a new product specific MIB need only look
|
|
||||||
-- at Brocade tree for the new MIB module.
|
REVISION "201202030000Z"
|
||||||
-- Copyright (c) 1996-2002 Brocade Communications Systems, Inc.
|
DESCRIPTION
|
||||||
-- All rights reserved."
|
"Initial version of this MIB module."
|
||||||
-- REVISION "0301131430Z" Jan 13, 2003 2:30pm
|
::= { enterprises 1588 } -- assigned by IANA
|
||||||
-- DESCRIPTION "The initial version of this module."
|
|
||||||
-- ::= { bcsiModules 1 }
|
commDev OBJECT-IDENTITY
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
bcsi OBJECT IDENTIFIER ::= { enterprises 1588 }
|
"The root OID sub-tree for Communication devices of Brocade."
|
||||||
-- bcsi OBJECT-IDENTITY
|
::= { bcsi 2 }
|
||||||
-- STATUS current
|
|
||||||
-- DESCRIPTION "The Root of the OID sub-tree assigned to Brocade by
|
fibrechannel OBJECT-IDENTITY
|
||||||
-- the Internet Assigned Numbers Authority (IANA)."
|
STATUS current
|
||||||
-- ::= { enterprises 1588 }
|
DESCRIPTION
|
||||||
|
"The root OID sub-tree for Fibre Channel Devices of Brocade."
|
||||||
-- Product Lines or Generic Product information
|
::= { commDev 1 }
|
||||||
-- { bcsi 1 } is reserved
|
|
||||||
|
nos OBJECT-IDENTITY
|
||||||
commDev OBJECT IDENTIFIER ::= { bcsi 2 } -- communication devices
|
STATUS current
|
||||||
-- commDev OBJECT-IDENTITY
|
DESCRIPTION
|
||||||
-- STATUS current
|
"The root OID sub-tree for Brocade's NOS products."
|
||||||
-- DESCRIPTION "The root OID sub-tree for Communication
|
::= { commDev 2 }
|
||||||
-- Devices of Brocade."
|
|
||||||
-- ::= { bcsi 2 }
|
fcSwitch OBJECT-IDENTITY
|
||||||
|
STATUS current
|
||||||
fibrechannel OBJECT IDENTIFIER ::= { commDev 1 }
|
DESCRIPTION
|
||||||
-- fibrechannel OBJECT-IDENTITY
|
"The root OID sub-tree for Fibre Channel Switches of Brocade."
|
||||||
-- STATUS current
|
::= { fibrechannel 1 }
|
||||||
-- DESCRIPTION "The root OID sub-tree for Fibre Channel
|
|
||||||
-- Devices of Brocade."
|
bcsiReg OBJECT-IDENTITY
|
||||||
-- ::= { commDev 1 }
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
fcSwitch OBJECT IDENTIFIER ::= { fibrechannel 1 }
|
"The root OID sub-tree for Brocade Global Registry."
|
||||||
-- fcSwitch OBJECT-IDENTITY
|
::= { bcsi 3 }
|
||||||
-- STATUS current
|
|
||||||
-- DESCRIPTION "The root OID sub-tree for Fibre Channel
|
bcsiModules OBJECT-IDENTITY
|
||||||
-- Switches of Brocade."
|
STATUS current
|
||||||
-- ::= { fibrechannel 1 }
|
DESCRIPTION
|
||||||
|
"The root OID sub-tree for all the Brocade management MIBs."
|
||||||
|
::= { bcsiReg 1 }
|
||||||
bcsiReg OBJECT IDENTIFIER ::= { bcsi 3 }
|
|
||||||
-- bcsiReg OBJECT-IDENTITY
|
brocadeAgentCapability OBJECT-IDENTITY
|
||||||
-- STATUS current
|
STATUS current
|
||||||
-- DESCRIPTION "The root OID sub-tree for Brocade Global Registry."
|
DESCRIPTION
|
||||||
-- ::= { bcsi 3 }
|
"This provides a root object identifier from which
|
||||||
|
AGENT-CAPABILITIES values may be assigned."
|
||||||
bcsiModules OBJECT IDENTIFIER ::= { bcsiReg 1 }
|
::= { bcsiReg 2 }
|
||||||
-- bcsiModules OBJECT-IDENTITY
|
END
|
||||||
-- STATUS current
|
|
||||||
-- DESCRIPTION "The root OID sub-tree for Brocade Mib Modules."
|
|
||||||
-- ::= { bcsiReg 1 }
|
|
||||||
|
|
||||||
END
|
|
||||||
|
|||||||
@@ -0,0 +1,78 @@
|
|||||||
|
--
|
||||||
|
-- Title: Brocade Registration MIB, Version v5.0
|
||||||
|
--
|
||||||
|
-- This is specified based on SMIv2, mainly to ensure that the specification
|
||||||
|
-- can be parsed easily by off-the-shelf network management product in
|
||||||
|
-- the market.
|
||||||
|
--
|
||||||
|
-- The goal of this mib is to access all the Brocade Enterprise products.
|
||||||
|
-- This mib file contains the generic textual conventions of Brocade's product.
|
||||||
|
--
|
||||||
|
|
||||||
|
|
||||||
|
Brocade-TC DEFINITIONS ::= BEGIN
|
||||||
|
IMPORTS
|
||||||
|
bcsiModules
|
||||||
|
FROM Brocade-REG-MIB
|
||||||
|
TEXTUAL-CONVENTION
|
||||||
|
FROM SNMPv2-TC
|
||||||
|
Integer32, MODULE-IDENTITY
|
||||||
|
FROM SNMPv2-SMI;
|
||||||
|
|
||||||
|
bcsiModuleTC MODULE-IDENTITY
|
||||||
|
LAST-UPDATED "0210030000Z"
|
||||||
|
ORGANIZATION "Brocade Communications Systems, Inc.,"
|
||||||
|
CONTACT-INFO "Customer Support Group
|
||||||
|
Brocade Communications Systems,
|
||||||
|
1745 Technology Drive,
|
||||||
|
San Jose, CA 95110 U.S.A
|
||||||
|
Tel: +1-408-392-6061
|
||||||
|
Fax: +1-408-392-6656
|
||||||
|
Email: support@Brocade.COM
|
||||||
|
WEB: www.brocade.com"
|
||||||
|
|
||||||
|
|
||||||
|
DESCRIPTION "The MIB module contains all shared textual conventions
|
||||||
|
for Brocade specific MIBs.
|
||||||
|
Copyright (c) 1996-2002 Brocade Communications Systems, Inc.
|
||||||
|
All rights reserved."
|
||||||
|
REVISION "0301131430Z" -- Jan 13, 2003 2:30pm
|
||||||
|
DESCRIPTION "The initial version of this module."
|
||||||
|
::= { bcsiModules 2 }
|
||||||
|
|
||||||
|
-- additional textual conventions
|
||||||
|
|
||||||
|
FcWwn ::= TEXTUAL-CONVENTION
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "The World Wide Name (WWN) of Brocade's
|
||||||
|
specific products and ports."
|
||||||
|
SYNTAX OCTET STRING (SIZE(8))
|
||||||
|
|
||||||
|
SwDomainIndex ::= TEXTUAL-CONVENTION
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "The Fibre Channel domain ID of the switch."
|
||||||
|
SYNTAX Integer32 (1..239)
|
||||||
|
|
||||||
|
SwNbIndex ::= TEXTUAL-CONVENTION
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "Index of the neighbour ISL entry."
|
||||||
|
SYNTAX Integer32 (1..2048)
|
||||||
|
|
||||||
|
SwSensorIndex ::= TEXTUAL-CONVENTION
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "Index of the Sensor entry."
|
||||||
|
SYNTAX Integer32 (1..1024)
|
||||||
|
|
||||||
|
SwPortIndex ::= TEXTUAL-CONVENTION
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "Index of the Port start from 1 upto Maximum
|
||||||
|
number of ports of the Brocade Switch."
|
||||||
|
SYNTAX Integer32
|
||||||
|
|
||||||
|
SwTrunkMaster ::= TEXTUAL-CONVENTION
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "Index of the Trunk Master start from 1 upto Maximum
|
||||||
|
number of trunk groups of Brocade Switch."
|
||||||
|
SYNTAX Integer32
|
||||||
|
|
||||||
|
END
|
||||||
File diff suppressed because it is too large
Load Diff
+2097
File diff suppressed because it is too large
Load Diff
+127
@@ -0,0 +1,127 @@
|
|||||||
|
--
|
||||||
|
-- Title: Fibre Channel Switch MIB.
|
||||||
|
--
|
||||||
|
|
||||||
|
FA-EXT-MIB DEFINITIONS ::= BEGIN
|
||||||
|
|
||||||
|
IMPORTS
|
||||||
|
DisplayString, TEXTUAL-CONVENTION
|
||||||
|
FROM SNMPv2-TC
|
||||||
|
Integer32, OBJECT-TYPE, OBJECT-IDENTITY,
|
||||||
|
MODULE-IDENTITY
|
||||||
|
FROM SNMPv2-SMI
|
||||||
|
sw
|
||||||
|
FROM SW-MIB
|
||||||
|
connUnitPortEntry
|
||||||
|
FROM FCMGMT-MIB;
|
||||||
|
|
||||||
|
faExt MODULE-IDENTITY
|
||||||
|
LAST-UPDATED "200807291830Z"
|
||||||
|
ORGANIZATION "Brocade Communications Systems, Inc.,"
|
||||||
|
CONTACT-INFO "Customer Support Group
|
||||||
|
Brocade Communications Systems,
|
||||||
|
1745 Technology Drive,
|
||||||
|
San Jose, CA 95110 U.S.A
|
||||||
|
Tel: +1-408-392-6061
|
||||||
|
Fax: +1-408-392-6656
|
||||||
|
Email: support@Brocade.COM
|
||||||
|
WEB: www.brocade.com"
|
||||||
|
|
||||||
|
|
||||||
|
DESCRIPTION "The MIB module is Extension for FA-MIB.
|
||||||
|
Copyright (c) 1996-2003 Brocade Communications Systems, Inc.
|
||||||
|
All rights reserved."
|
||||||
|
|
||||||
|
::= { sw 28 }
|
||||||
|
|
||||||
|
swSfpStatTable OBJECT-TYPE
|
||||||
|
SYNTAX SEQUENCE OF SwSfpStatEntry
|
||||||
|
MAX-ACCESS not-accessible
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "This represents the diagnostic stats of SFPs."
|
||||||
|
::= { faExt 1 }
|
||||||
|
|
||||||
|
swSfpStatEntry OBJECT-TYPE
|
||||||
|
SYNTAX SwSfpStatEntry
|
||||||
|
MAX-ACCESS not-accessible
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "This represents the diagnostic stats of SFPs"
|
||||||
|
AUGMENTS {connUnitPortEntry}
|
||||||
|
::= { swSfpStatTable 1 }
|
||||||
|
|
||||||
|
SwSfpStatEntry ::= SEQUENCE {
|
||||||
|
swSfpTemperature OCTET STRING,
|
||||||
|
swSfpVoltage OCTET STRING,
|
||||||
|
swSfpCurrent OCTET STRING,
|
||||||
|
swSfpRxPower OCTET STRING,
|
||||||
|
swSfpTxPower OCTET STRING,
|
||||||
|
swSfpPoweronHrs Integer32,
|
||||||
|
swSfpOUI OCTET STRING,
|
||||||
|
swSfpUnitId Integer32
|
||||||
|
}
|
||||||
|
|
||||||
|
swSfpTemperature OBJECT-TYPE
|
||||||
|
SYNTAX OCTET STRING (SIZE(8))
|
||||||
|
UNITS "centigrade"
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "This object identifies the temperature of SFP"
|
||||||
|
::= { swSfpStatEntry 1 }
|
||||||
|
|
||||||
|
swSfpVoltage OBJECT-TYPE
|
||||||
|
SYNTAX OCTET STRING (SIZE(8))
|
||||||
|
UNITS "milli voltage"
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "This object identifies the voltage of SFP."
|
||||||
|
::= { swSfpStatEntry 2 }
|
||||||
|
|
||||||
|
swSfpCurrent OBJECT-TYPE
|
||||||
|
SYNTAX OCTET STRING (SIZE(8))
|
||||||
|
UNITS "milli amphere"
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "This object identifies the current of SFP."
|
||||||
|
::= { swSfpStatEntry 3 }
|
||||||
|
|
||||||
|
swSfpRxPower OBJECT-TYPE
|
||||||
|
SYNTAX OCTET STRING (SIZE(8))
|
||||||
|
UNITS "dBm"
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "This object identifies the Rx power consumption of SFP."
|
||||||
|
::= { swSfpStatEntry 4 }
|
||||||
|
|
||||||
|
swSfpTxPower OBJECT-TYPE
|
||||||
|
SYNTAX OCTET STRING (SIZE(8))
|
||||||
|
UNITS "dBm"
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "This object identifies the Tx power consumption of SFP."
|
||||||
|
::= { swSfpStatEntry 5 }
|
||||||
|
|
||||||
|
swSfpPoweronHrs OBJECT-TYPE
|
||||||
|
SYNTAX Integer32
|
||||||
|
UNITS "hours"
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "This object identifies the power on hours of SFP.
|
||||||
|
This is applicable only to 16G SFPs."
|
||||||
|
::= { swSfpStatEntry 6 }
|
||||||
|
|
||||||
|
swSfpOUI OBJECT-TYPE
|
||||||
|
SYNTAX OCTET STRING (SIZE(8))
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "This object represents the OUI of the SFP"
|
||||||
|
::= { swSfpStatEntry 7 }
|
||||||
|
|
||||||
|
swSfpUnitId OBJECT-TYPE
|
||||||
|
SYNTAX Integer32
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "This object identifies unit ID of SFP.
|
||||||
|
This is applicable only to QSFP."
|
||||||
|
::= { swSfpStatEntry 8 }
|
||||||
|
|
||||||
|
END
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,339 @@
|
|||||||
|
-- ***************************************************************************
|
||||||
|
-- ***************************************************************************
|
||||||
|
--
|
||||||
|
-- File : fod.mib
|
||||||
|
-- Description : MIB definitions for IBM Features On Demand Activation Key
|
||||||
|
-- functions.
|
||||||
|
-- By : IBM
|
||||||
|
-- Version : 1.2
|
||||||
|
-- Date : March 30, 2011
|
||||||
|
--
|
||||||
|
--
|
||||||
|
-- Copyright (c) 2010-11 IBM All Rights Reserved.
|
||||||
|
--
|
||||||
|
--
|
||||||
|
-- Contains MIB description for:
|
||||||
|
-- This MIB is to be used to provide configuration support of IBM Features
|
||||||
|
-- on Demand features.
|
||||||
|
-- ***************************************************************************
|
||||||
|
-- ***************************************************************************
|
||||||
|
-- ***************************************************************************
|
||||||
|
-- Revisions:
|
||||||
|
-- ***************************************************************************
|
||||||
|
IBM-FEATURE-ACTIVATION-MIB DEFINITIONS ::= BEGIN
|
||||||
|
|
||||||
|
IMPORTS
|
||||||
|
MODULE-IDENTITY, OBJECT-TYPE,
|
||||||
|
enterprises, NOTIFICATION-TYPE
|
||||||
|
FROM SNMPv2-SMI --RFC2578
|
||||||
|
MODULE-COMPLIANCE, OBJECT-GROUP,
|
||||||
|
NOTIFICATION-GROUP
|
||||||
|
FROM SNMPv2-CONF --RFC2580
|
||||||
|
DateAndTime, DisplayString
|
||||||
|
FROM SNMPv2-TC; --RFC2579
|
||||||
|
|
||||||
|
ibmFeatureActivationMIB MODULE-IDENTITY
|
||||||
|
|
||||||
|
LAST-UPDATED "201103300733Z" --30 March 2011 07:33 GMT
|
||||||
|
ORGANIZATION "International Business Machines Corp."
|
||||||
|
CONTACT-INFO
|
||||||
|
"Fred Bower
|
||||||
|
|
||||||
|
International Business Machines Corporation
|
||||||
|
Systems and Technology Group System x Development
|
||||||
|
Research Triangle Park, NC, USA
|
||||||
|
|
||||||
|
E-mail: bowerf@us.ibm.com"
|
||||||
|
DESCRIPTION
|
||||||
|
"This module provides a simple interface for
|
||||||
|
IBM Features On Demnad Activation Key functions."
|
||||||
|
-- Revision History
|
||||||
|
REVISION "201103300733Z" --30 March 2011
|
||||||
|
DESCRIPTION
|
||||||
|
"Updated data types and added traps for status
|
||||||
|
change notification. Clarified return codes
|
||||||
|
from events."
|
||||||
|
REVISION "201102021949Z" --2 February 2011
|
||||||
|
DESCRIPTION
|
||||||
|
"Added support for SFTP protocol file transfers."
|
||||||
|
REVISION "201012081833Z" --8 December 2010
|
||||||
|
DESCRIPTION
|
||||||
|
"Initial Revision."
|
||||||
|
::= { ibmArchitecture 31 }
|
||||||
|
|
||||||
|
-- IBM enterprise group
|
||||||
|
ibm OBJECT IDENTIFIER ::= { enterprises 2 }
|
||||||
|
|
||||||
|
-- IBM architecture group
|
||||||
|
ibmArchitecture OBJECT IDENTIFIER ::= { ibm 5 }
|
||||||
|
|
||||||
|
-- Features on Demand Objects
|
||||||
|
ibmFodNotifications OBJECT IDENTIFIER ::= {ibmFeatureActivationMIB 0 }
|
||||||
|
ibmFodObjects OBJECT IDENTIFIER ::= { ibmFeatureActivationMIB 1 }
|
||||||
|
ibmFodConformance OBJECT IDENTIFIER ::= { ibmFeatureActivationMIB 2 }
|
||||||
|
|
||||||
|
-- ***********************************************************************
|
||||||
|
-- Activation Key Install/Update
|
||||||
|
-- ***********************************************************************
|
||||||
|
-- Feature activation keys can be installed (to activate), uninstalled
|
||||||
|
-- (to deactivate), exported (for backup purposes), and inventoried.
|
||||||
|
-- The action desired is set via the ibmFodAction object (which is never
|
||||||
|
-- read). The required sub-objects and their use is listed here as well
|
||||||
|
-- as in the DESCRIPTION comments for each of the fields for user
|
||||||
|
-- understanding.
|
||||||
|
-- Action: installActivationKey
|
||||||
|
-- Requires: ibmFodFileUri
|
||||||
|
-- Process: Installer sets the ibmFodFileUri field to indicate where to
|
||||||
|
-- retrieve activation key file from, then sets the ibmFodAction to
|
||||||
|
-- installActivationKey.
|
||||||
|
-- Result: Activation key is transferred from URI to the target device,
|
||||||
|
-- validated, and result is available for reading via ibmFodStatus. An
|
||||||
|
-- alert should also be issued if the key actually changes device state.
|
||||||
|
-- That is, if the key is successfully validated and stored and function
|
||||||
|
-- is either queued for activation after a reboot or is activated, an
|
||||||
|
-- alert should be generated with the updated key status information.
|
||||||
|
--
|
||||||
|
-- Action: inventoryInstalledActivationKeys
|
||||||
|
-- Requires: ibmFodFileUri
|
||||||
|
-- Process: Administrator sets ibmFodFileUri field to indicate where to
|
||||||
|
-- place file with results of inventory of device, then sets ibmFodAction
|
||||||
|
-- to inventoryInstalledActivationKeys.
|
||||||
|
-- Result: Activation key inventory is transferred to URI from target
|
||||||
|
-- device and result is available for reading from ibmFodStatus.
|
||||||
|
-- Inventory file format is comma-separated with fields ordered as
|
||||||
|
-- follows:
|
||||||
|
--
|
||||||
|
-- <Index>,<Status>,<Feature Descriptor Type Description (text)>,
|
||||||
|
-- <Constraint Descriptor Type Description (text)>:<Constraint Descriptor
|
||||||
|
-- Type Optional Information (text)> 0..n
|
||||||
|
--
|
||||||
|
-- The 0..n notation is to indicate that there may be zero or more
|
||||||
|
-- constraints for any given activation key. New records start with a
|
||||||
|
-- newline character after the last constraint. If a constraint does not
|
||||||
|
-- have optional information text, the colon separator is omitted and a
|
||||||
|
-- comma denotes the start of the next constraint descriptor type
|
||||||
|
-- description. This activity should not result in any alerts, as it
|
||||||
|
-- does not alter activation key state on the device.
|
||||||
|
--
|
||||||
|
-- Action: uninstallActivationKey
|
||||||
|
-- Requires: ibmFodIndex
|
||||||
|
-- Process: Administrator sets ibmFodIndex with value from inventory
|
||||||
|
-- report process, above, then sets ibmFodAction to
|
||||||
|
-- uninstallActivationKey.
|
||||||
|
-- Result: Activation key is uninstalled and result of action is placed
|
||||||
|
-- in ibmFodStatus for reading. An alert should also be issued if the
|
||||||
|
-- action changes device state. That is, if there is a key at the
|
||||||
|
-- designated index and it is uninstalled, the device key state will
|
||||||
|
-- change, thus triggering an alert with the updated device information.
|
||||||
|
--
|
||||||
|
-- Action: exportActivationKey
|
||||||
|
-- Requires: ibmFodIndex, ibmFodFileUri
|
||||||
|
-- Process: Administrator sets ibmFodIndex with value from inventory
|
||||||
|
-- report process, above, then sets ibmFodFileUri to the desired location
|
||||||
|
-- for the exported key file to be placed, then sets ibmFodAction to
|
||||||
|
-- exportActivationKey.
|
||||||
|
-- Result: Activation key file is exported to designated URI location
|
||||||
|
-- provided that the index supplied maps to an existing key. Status of
|
||||||
|
-- the command is placed in ibmFodStatus for reading. No alert will be
|
||||||
|
-- issued from this activity, as it does not affect activation key state
|
||||||
|
-- on the device.
|
||||||
|
--
|
||||||
|
ibmFodAction OBJECT-TYPE
|
||||||
|
SYNTAX INTEGER {
|
||||||
|
installActivationKey(1),
|
||||||
|
uninstallActivationKey(2),
|
||||||
|
exportActivationKey(3),
|
||||||
|
inventoryInstalledActivationKeys(4)
|
||||||
|
}
|
||||||
|
MAX-ACCESS read-write
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"Target action for activation method.
|
||||||
|
1 - Install Activation Key
|
||||||
|
2 - Uninstall Activation Key
|
||||||
|
3 - Export Activation Key
|
||||||
|
4 - Inventory Installed Activation Keys"
|
||||||
|
DEFVAL { 4 }
|
||||||
|
::= { ibmFodObjects 1 }
|
||||||
|
|
||||||
|
ibmFodIndex OBJECT-TYPE
|
||||||
|
SYNTAX INTEGER (1..255)
|
||||||
|
MAX-ACCESS read-write
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"Activation key index to uninstall or export.
|
||||||
|
This is only required for uninstall and export actions.
|
||||||
|
This is also used to identify the key associated with alerts."
|
||||||
|
::= { ibmFodObjects 2 }
|
||||||
|
|
||||||
|
ibmFodFileUri OBJECT-TYPE
|
||||||
|
SYNTAX OCTET STRING(SIZE(0..1024))
|
||||||
|
MAX-ACCESS read-write
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"URI of where key file resides for install and
|
||||||
|
where it should be placed for export or inventory.
|
||||||
|
This is not used for uninstall action."
|
||||||
|
::= { ibmFodObjects 3 }
|
||||||
|
|
||||||
|
ibmFodStatus OBJECT-TYPE
|
||||||
|
SYNTAX INTEGER {
|
||||||
|
success(1),
|
||||||
|
rebootRequired(2),
|
||||||
|
versionMismatch(3),
|
||||||
|
corruptKeyFile(4),
|
||||||
|
invalideKeyFileTarget(5),
|
||||||
|
keyFileNotPresent(6),
|
||||||
|
communicationFailure(7),
|
||||||
|
keyStoreFull(8),
|
||||||
|
ftpServerFull(9),
|
||||||
|
userAuthenticationFailed(10),
|
||||||
|
invalidIndex(11),
|
||||||
|
protocolNotSupported(12),
|
||||||
|
preRequisiteKeyActionRequired(13),
|
||||||
|
actionIncompleteDeviceBusy(14),
|
||||||
|
fileAlreadyExists(15),
|
||||||
|
permissionProblem(16)
|
||||||
|
}
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"Return status of the last firmware activation method
|
||||||
|
initiated through SNMP method.
|
||||||
|
Valid return codes are:
|
||||||
|
Code Action(s) Meaning
|
||||||
|
1 1,2,3,4 Success
|
||||||
|
2 1,2 Reboot Required
|
||||||
|
3 1 Firmware Version/Update Issue
|
||||||
|
4 1 Key Corrupt
|
||||||
|
5 1 Key Not Valid for Device
|
||||||
|
6 1,2,4 Key File Not Found
|
||||||
|
7 1,3,4 Failure to Communicate with File Server
|
||||||
|
8 1 Key Storage Full
|
||||||
|
9 3,4 TFTP/SFTP Server Storage Full
|
||||||
|
10 1,3,4 SFTP User/Password Authentication Failed
|
||||||
|
11 2,3 Invalid Index
|
||||||
|
12 1,3,4 Protocol Specified in URI Not Supported
|
||||||
|
13 1,2 Pre-Requisite Key Action Required
|
||||||
|
14 1,2,3,4 Action Still In Process/Busy
|
||||||
|
15 3,4 File Already Exists on Server
|
||||||
|
16 3,4 Permission Problem with Specified URI User"
|
||||||
|
::= { ibmFodObjects 4 }
|
||||||
|
|
||||||
|
ibmFodKeyChangeTime OBJECT-TYPE
|
||||||
|
SYNTAX DateAndTime
|
||||||
|
MAX-ACCESS accessible-for-notify
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"The date and time of the event described in
|
||||||
|
this notification of activated function status change."
|
||||||
|
::= { ibmFodObjects 5 }
|
||||||
|
|
||||||
|
ibmFodKeyOldStatus OBJECT-TYPE
|
||||||
|
SYNTAX INTEGER {
|
||||||
|
noPreviousStatus (1),
|
||||||
|
keyValid (2),
|
||||||
|
keyInvalid (3),
|
||||||
|
keyValidElsewhere (4),
|
||||||
|
keyFeatureActive (5),
|
||||||
|
keyFeatureRequiresHostReboot (6),
|
||||||
|
keyFeatureRequiresBMCReboot (7),
|
||||||
|
keyExpired (8),
|
||||||
|
keyUseLimitExceeded (9),
|
||||||
|
keyInProcessOfValidation (10)
|
||||||
|
}
|
||||||
|
MAX-ACCESS accessible-for-notify
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"The prior status of the activation key associated
|
||||||
|
with this status change."
|
||||||
|
::= { ibmFodObjects 6 }
|
||||||
|
|
||||||
|
ibmFodKeyNewStatus OBJECT-TYPE
|
||||||
|
SYNTAX INTEGER {
|
||||||
|
keyRemoved (1),
|
||||||
|
keyValid (2),
|
||||||
|
keyInvalid (3),
|
||||||
|
keyValidElsewhere (4),
|
||||||
|
keyFeatureActive (5),
|
||||||
|
keyFeatureRequiresHostReboot (6),
|
||||||
|
keyFeatureRequiresBMCReboot (7),
|
||||||
|
keyExpired (8),
|
||||||
|
keyUseLimitExceeded (9),
|
||||||
|
keyInProcessOfValidation (10),
|
||||||
|
keyReplaced (11)
|
||||||
|
}
|
||||||
|
MAX-ACCESS accessible-for-notify
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"The new status of the activation key associated
|
||||||
|
with this status change."
|
||||||
|
::= { ibmFodObjects 7 }
|
||||||
|
|
||||||
|
ibmFodKeyUpdateData OBJECT-TYPE
|
||||||
|
SYNTAX DisplayString
|
||||||
|
MAX-ACCESS accessible-for-notify
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"String containing constraint data. This is only used
|
||||||
|
for ibmFodNewStatus value of keyReplaced (10). Otherwise,
|
||||||
|
this string should be NULL."
|
||||||
|
::= { ibmFodObjects 8 }
|
||||||
|
|
||||||
|
-- Notifications
|
||||||
|
ibmFodActivationChangeAlert NOTIFICATION-TYPE
|
||||||
|
OBJECTS {
|
||||||
|
ibmFodIndex,
|
||||||
|
ibmFodKeyChangeTime,
|
||||||
|
ibmFodKeyOldStatus,
|
||||||
|
ibmFodKeyNewStatus,
|
||||||
|
ibmFodKeyUpdateData
|
||||||
|
}
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"This is an SNMP notification of a change to an existing
|
||||||
|
feature activation on an endpoint. Data in the
|
||||||
|
notification payload describes the change."
|
||||||
|
::= { ibmFodNotifications 1 }
|
||||||
|
|
||||||
|
-- Conformance Information
|
||||||
|
-- Compliance Statements
|
||||||
|
ibmFeatureActivationCompliances OBJECT IDENTIFIER ::= { ibmFodConformance 1 }
|
||||||
|
ibmFeatureActivationGroups OBJECT IDENTIFIER ::= { ibmFodConformance 2 }
|
||||||
|
|
||||||
|
ibmFeatureActivationCompliance MODULE-COMPLIANCE
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"The compliance statement for the IBM-FEATURE-ACTIVATION-MIB."
|
||||||
|
MODULE --This module
|
||||||
|
MANDATORY-GROUPS { ibmFeatureActivationBaseGroup,
|
||||||
|
ibmFeatureActivationNotifGroup }
|
||||||
|
::= { ibmFeatureActivationCompliances 1 }
|
||||||
|
|
||||||
|
-- MIB Groupings
|
||||||
|
ibmFeatureActivationBaseGroup OBJECT-GROUP
|
||||||
|
OBJECTS {
|
||||||
|
ibmFodAction,
|
||||||
|
ibmFodIndex,
|
||||||
|
ibmFodFileUri,
|
||||||
|
ibmFodStatus,
|
||||||
|
ibmFodKeyChangeTime,
|
||||||
|
ibmFodKeyOldStatus,
|
||||||
|
ibmFodKeyNewStatus,
|
||||||
|
ibmFodKeyUpdateData
|
||||||
|
}
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"The group of mandatory objects for all implementations
|
||||||
|
to be compliant."
|
||||||
|
::= { ibmFeatureActivationGroups 1 }
|
||||||
|
|
||||||
|
ibmFeatureActivationNotifGroup NOTIFICATION-GROUP
|
||||||
|
NOTIFICATIONS { ibmFodActivationChangeAlert }
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"The notification group required for compliance in alert
|
||||||
|
semantics for feature activation implementations."
|
||||||
|
::= { ibmFeatureActivationGroups 2 }
|
||||||
|
|
||||||
|
END
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
NOS-PRODUCTS-MIB DEFINITIONS ::= BEGIN
|
||||||
|
IMPORTS
|
||||||
|
MODULE-IDENTITY
|
||||||
|
FROM SNMPv2-SMI
|
||||||
|
nos
|
||||||
|
FROM Brocade-REG-MIB;
|
||||||
|
|
||||||
|
nosProducts MODULE-IDENTITY
|
||||||
|
LAST-UPDATED "0110101500Z"
|
||||||
|
ORGANIZATION "Brocade Communications Systems, Inc.,"
|
||||||
|
CONTACT-INFO "Customer Support Group
|
||||||
|
Brocade Communications Systems,
|
||||||
|
120 Holger Way,
|
||||||
|
San Jose, CA 95134 U.S.A."
|
||||||
|
|
||||||
|
DESCRIPTION "A MIB module that represents Brocade
|
||||||
|
NOS products."
|
||||||
|
::= { nos 1 }
|
||||||
|
|
||||||
|
bcsiRegistration OBJECT IDENTIFIER ::= { nosProducts 1 }
|
||||||
|
|
||||||
|
-- OID Registration point for Chassis Types
|
||||||
|
bcsiChassisTypes OBJECT IDENTIFIER ::= { bcsiRegistration 1 }
|
||||||
|
|
||||||
|
-- OID Registration for Card Types
|
||||||
|
bcsiCardTypes OBJECT IDENTIFIER ::= { bcsiRegistration 2 }
|
||||||
|
|
||||||
|
-- Pizzaboxes
|
||||||
|
vdx6720P24 OBJECT IDENTIFIER ::= { bcsiChassisTypes 1 }
|
||||||
|
|
||||||
|
vdx6720P60 OBJECT IDENTIFIER ::= { bcsiChassisTypes 2 }
|
||||||
|
|
||||||
|
vdx6730P32 OBJECT IDENTIFIER ::= { bcsiChassisTypes 3 }
|
||||||
|
|
||||||
|
vdx6730P76 OBJECT IDENTIFIER ::= { bcsiChassisTypes 4 }
|
||||||
|
|
||||||
|
vdx6710P54 OBJECT IDENTIFIER ::= { bcsiChassisTypes 5 }
|
||||||
|
|
||||||
|
vdx6746 OBJECT IDENTIFIER ::= { bcsiChassisTypes 112}
|
||||||
|
|
||||||
|
|
||||||
|
END
|
||||||
@@ -0,0 +1,135 @@
|
|||||||
|
--
|
||||||
|
-- Title: Switch CPUorMemory MIB.
|
||||||
|
--
|
||||||
|
|
||||||
|
RESOURCE-MIB DEFINITIONS ::= BEGIN
|
||||||
|
|
||||||
|
IMPORTS
|
||||||
|
DisplayString, TEXTUAL-CONVENTION, TruthValue
|
||||||
|
FROM SNMPv2-TC
|
||||||
|
Integer32, OBJECT-TYPE, OBJECT-IDENTITY,
|
||||||
|
MODULE-IDENTITY
|
||||||
|
FROM SNMPv2-SMI
|
||||||
|
sw
|
||||||
|
FROM SWBASE-MIB;
|
||||||
|
|
||||||
|
swCpuOrMemoryUsage MODULE-IDENTITY
|
||||||
|
LAST-UPDATED "1306051130Z" -- Jun 5, 2013 11:30am
|
||||||
|
ORGANIZATION "Brocade Communications Systems, Inc.,"
|
||||||
|
CONTACT-INFO "Customer Support Group
|
||||||
|
Brocade Communications Systems,
|
||||||
|
130 Holger Way,
|
||||||
|
San Jose, CA 95134 U.S.A
|
||||||
|
Tel: +1-408-333-8000
|
||||||
|
Fax: +1-408-333-8101
|
||||||
|
Email: support@Brocade.COM
|
||||||
|
WEB: www.brocade.com"
|
||||||
|
|
||||||
|
|
||||||
|
DESCRIPTION "The MIB module is for system information.
|
||||||
|
Copyright (c) 1996-2003 Brocade Communications Systems, Inc.
|
||||||
|
All rights reserved."
|
||||||
|
REVISION "1104151830Z" -- Apr 15, 2011 6:30pm
|
||||||
|
DESCRIPTION "Initial version of this module."
|
||||||
|
REVISION "1306051130Z" -- Jun 5, 2013 11:30am
|
||||||
|
DESCRIPTION "Updated Syntax for swCpuAction, swMemAction and description for
|
||||||
|
swCpuUsageLimit, swMemUsageLimit. Also added default values if applicable"
|
||||||
|
|
||||||
|
::= { sw 26 }
|
||||||
|
|
||||||
|
swCpuUsage OBJECT-TYPE
|
||||||
|
SYNTAX Integer32(0..100)
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "System's cpu usage."
|
||||||
|
::= { swCpuOrMemoryUsage 1 }
|
||||||
|
|
||||||
|
swCpuNoOfRetries OBJECT-TYPE
|
||||||
|
SYNTAX Integer32 (1..100)
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "Number of times system should take cpu utilization sample before sending the CPU utilization trap."
|
||||||
|
DEFVAL { 3 }
|
||||||
|
::= { swCpuOrMemoryUsage 2 }
|
||||||
|
|
||||||
|
swCpuUsageLimit OBJECT-TYPE
|
||||||
|
SYNTAX Integer32 (1..100)
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "It describes the CPU usage limit in percentage. If the cpu usage value exceeds the
|
||||||
|
limit then the appropriate action will be taken based on the swCpuAction value."
|
||||||
|
DEFVAL { 75 }
|
||||||
|
::= { swCpuOrMemoryUsage 3 }
|
||||||
|
|
||||||
|
swCpuPollingInterval OBJECT-TYPE
|
||||||
|
SYNTAX Integer32 (10..3600)
|
||||||
|
UNITS "seconds"
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "Time interval between two memory samples."
|
||||||
|
DEFVAL { 120 }
|
||||||
|
::= { swCpuOrMemoryUsage 4 }
|
||||||
|
|
||||||
|
swCpuAction OBJECT-TYPE
|
||||||
|
SYNTAX INTEGER {
|
||||||
|
none (0),
|
||||||
|
raslog (1),
|
||||||
|
snmp (2),
|
||||||
|
raslogandSnmp (3)
|
||||||
|
}
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "Specifies the actions to be taken if system
|
||||||
|
resources exceed the specified threshold."
|
||||||
|
DEFVAL { none }
|
||||||
|
::= { swCpuOrMemoryUsage 5 }
|
||||||
|
|
||||||
|
swMemUsage OBJECT-TYPE
|
||||||
|
SYNTAX Integer32
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "System's memory usage."
|
||||||
|
::= { swCpuOrMemoryUsage 6 }
|
||||||
|
|
||||||
|
swMemNoOfRetries OBJECT-TYPE
|
||||||
|
SYNTAX Integer32
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "Number of times system should take memory usage
|
||||||
|
sample before sending the memory usage trap."
|
||||||
|
DEFVAL { 3 }
|
||||||
|
::= { swCpuOrMemoryUsage 7 }
|
||||||
|
|
||||||
|
swMemUsageLimit OBJECT-TYPE
|
||||||
|
SYNTAX Integer32
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "It describes the Memory usage limit in percentage. If the memory usage value
|
||||||
|
exceeds the limit then the appropriate action will be taken based on the swMemAction value."
|
||||||
|
DEFVAL { 60 }
|
||||||
|
::= { swCpuOrMemoryUsage 8 }
|
||||||
|
|
||||||
|
swMemPollingInterval OBJECT-TYPE
|
||||||
|
SYNTAX Integer32 (10..3600)
|
||||||
|
UNITS "seconds"
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "Time interval between two memory samples."
|
||||||
|
DEFVAL { 120 }
|
||||||
|
::= { swCpuOrMemoryUsage 9 }
|
||||||
|
|
||||||
|
swMemAction OBJECT-TYPE
|
||||||
|
SYNTAX INTEGER {
|
||||||
|
none (0),
|
||||||
|
raslog (1),
|
||||||
|
snmp (2),
|
||||||
|
raslogandSnmp (3)
|
||||||
|
}
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "Specifies the actions to be taken if system
|
||||||
|
resources exceed the specified threshold."
|
||||||
|
DEFVAL { none }
|
||||||
|
::= { swCpuOrMemoryUsage 10 }
|
||||||
|
|
||||||
|
END
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
--
|
||||||
|
-- Title: Switch Base MIB.
|
||||||
|
--
|
||||||
|
-- This is specified based on SMIv2, mainly to ensure that the specification
|
||||||
|
-- can be parsed easily by off-the-shelf network management product in
|
||||||
|
-- the market.
|
||||||
|
--
|
||||||
|
-- The goal of this mib is to access the switch of
|
||||||
|
-- Brocade's family
|
||||||
|
-- NOTE: Load BRCD.mib file before loading this mib file.
|
||||||
|
--
|
||||||
|
|
||||||
|
SWBASE-MIB DEFINITIONS ::= BEGIN
|
||||||
|
IMPORTS
|
||||||
|
DisplayString, TEXTUAL-CONVENTION
|
||||||
|
FROM SNMPv2-TC
|
||||||
|
Counter32, Integer32, IpAddress,
|
||||||
|
OBJECT-TYPE, OBJECT-IDENTITY,
|
||||||
|
MODULE-IDENTITY, NOTIFICATION-TYPE
|
||||||
|
FROM SNMPv2-SMI
|
||||||
|
fcSwitch, bcsiModules
|
||||||
|
FROM Brocade-REG-MIB;
|
||||||
|
|
||||||
|
swMibModule MODULE-IDENTITY
|
||||||
|
LAST-UPDATED "1104151830Z" -- Apr 15, 20i11 6:30pm
|
||||||
|
ORGANIZATION "Brocade Communications Systems, Inc.,"
|
||||||
|
CONTACT-INFO "Customer Support Group
|
||||||
|
Brocade Communications Systems,
|
||||||
|
130 Holger Way,
|
||||||
|
San Jose, CA 95134 U.S.A
|
||||||
|
Tel: +1-408-333-8000
|
||||||
|
Fax: +1-408-333-8101
|
||||||
|
Email: support@Brocade.COM
|
||||||
|
WEB: www.brocade.com"
|
||||||
|
|
||||||
|
|
||||||
|
DESCRIPTION "The MIB module is for Brocade's Switch.
|
||||||
|
Copyright (c) 1996-2003 Brocade Communications Systems, Inc.
|
||||||
|
All rights reserved."
|
||||||
|
REVISION "1104151830Z" -- Apr 15, 20i11 6:30pm
|
||||||
|
DESCRIPTION "The initial version of this module."
|
||||||
|
::= { bcsiModules 3 }
|
||||||
|
|
||||||
|
sw OBJECT-IDENTITY
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "The OID sub-tree for Brocade's Silkworm Series of Switches."
|
||||||
|
::= { fcSwitch 1 }
|
||||||
|
|
||||||
|
|
||||||
|
END
|
||||||
+1056
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
#! /usr/bin/env python
|
#! /usr/bin/env python2
|
||||||
"""
|
"""
|
||||||
poller-service A service to wrap SNMP polling. It will poll up to $threads devices at a time, and will not re-poll
|
poller-service A service to wrap SNMP polling. It will poll up to $threads devices at a time, and will not re-poll
|
||||||
devices that have been polled within the last $poll_frequency seconds. It will prioritize devices based
|
devices that have been polled within the last $poll_frequency seconds. It will prioritize devices based
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
#! /usr/bin/env python
|
#! /usr/bin/env python2
|
||||||
"""
|
"""
|
||||||
poller-wrapper A small tool which wraps around the poller and tries to
|
poller-wrapper A small tool which wraps around the poller and tries to
|
||||||
guide the polling process with a more modern approach with a
|
guide the polling process with a more modern approach with a
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python2
|
||||||
import urllib2
|
import urllib2
|
||||||
import re
|
import re
|
||||||
|
|
||||||
|
|||||||
@@ -86,6 +86,9 @@ elif [ "${OS}" = "Darwin" ] ; then
|
|||||||
if [ -f /usr/bin/sw_vers ] ; then
|
if [ -f /usr/bin/sw_vers ] ; then
|
||||||
OSSTR=`/usr/bin/sw_vers|grep -v Build|sed 's/^.*:.//'| tr "\n" ' '`
|
OSSTR=`/usr/bin/sw_vers|grep -v Build|sed 's/^.*:.//'| tr "\n" ' '`
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
elif [ "${OS}" = "FreeBSD" ] ; then
|
||||||
|
OSSTR=`/usr/bin/uname -mior`
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo ${OSSTR}
|
echo ${OSSTR}
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python2
|
||||||
import warnings
|
import warnings
|
||||||
import re
|
import re
|
||||||
warnings.filterwarnings(action="ignore", message='the sets module is deprecated')
|
warnings.filterwarnings(action="ignore", message='the sets module is deprecated')
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python2
|
||||||
import urllib2
|
import urllib2
|
||||||
import re
|
import re
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ $cmd2 = shell_exec($ntpdc.' -c iostats');
|
|||||||
$vars = array();
|
$vars = array();
|
||||||
$vars2 = array();
|
$vars2 = array();
|
||||||
$vars = explode(',', $cmd);
|
$vars = explode(',', $cmd);
|
||||||
$vars2 = eregi_replace(' ', '', $cmd2);
|
$vars2 = str_replace(' ', '', $cmd2);
|
||||||
$vars2 = explode("\n", $vars2);
|
$vars2 = explode("\n", $vars2);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -109,7 +109,7 @@ if (isset($config['user'])) {
|
|||||||
// This isn't just the log directory, let's print the list to the user
|
// This isn't just the log directory, let's print the list to the user
|
||||||
$files = explode(PHP_EOL, $find_result);
|
$files = explode(PHP_EOL, $find_result);
|
||||||
if (is_array($files)) {
|
if (is_array($files)) {
|
||||||
print_fail("We have found some files that are owned by a different user than $tmp_user, this will stop you updating automatically and / or rrd files being updated causing graphs to fail:\n");
|
print_fail("We have found some files that are owned by a different user than $tmp_user, this will stop you updating automatically and / or rrd files being updated causing graphs to fail:\nIf you don't run a bespoke install then you can fix this by running `chown -R $tmp_user:$tmp_user ".$config['install_dir']."`");
|
||||||
foreach ($files as $file) {
|
foreach ($files as $file) {
|
||||||
echo "$file\n";
|
echo "$file\n";
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user