Name | <%$device->{name}|h%> |
Location / Contact | <%$device->{location} || '[Not Set]' |h%> / <%$device->{contact} || '[Not Set]' |h%> |
Model / Serial | <%$device->{vendor}%> <%$device->{model}%> / <%$device->{serial} || 'Unknown'%> |
OS / Version | <%$device->{os} || 'Unknown'%> / <%$device->{os_ver} || 'Unknown'%> |
Description | <%$device->{description}|h%> |
Uptime/ Last Discovered |
<% $m->comp('SELF:uptime', uptime => $device->{uptime})%> / <% scalar localtime($device->{last_discover}) %> |
Power | % if (defined $device->{fan}) { Fan : <%$device->{fan}%> % } % if (defined $device->{ps1_status}) { PS1 [<%$device->{ps1_type}%>] : <%$device->{ps1_status}%> % } % if (defined $device->{ps2_status}) { PS2 [<%$device->{ps2_type}%>] : <%$device->{ps2_status}%> % } |
$item | "); $m->out("$val |
Log |
<% $port->{portdisp} %> | <%perl> foreach my $col (sort keys %port_cols){ my $colname = $port_cols{$col}->[0]; my $colcheck = $port_cols{$col}->[1]; next unless $colcheck; my $val = $port->{$col}; # Munge Port Columns if ($col eq 'duplex') { $val = defined $val ? $val : '[NA]'; my $duplex_admin = $port->{duplex_admin}; $duplex_admin = defined $duplex_admin ? $duplex_admin : '[NA]'; $val .= "/$duplex_admin"; } if ($col eq 'lastchange'){ # lastchange is a timestamp of the sysUpTime # we subtract it from the current uptime to find out how many # seconds*100 it was, then we subtract that from the current time to # see when that was. my $diff_sec = ($device->{uptime} - $val) / 100; $val = scalar localtime(time - $diff_sec); } %perl><% $val || '' |h %> | % } % # Connected Devices Column
<%perl>
# CDP speaking device connected
if (defined $remote_ip) {
my $name = '';
my $link = '';
my $remote_dev = sql_hash('device',['ip','dns'],
{'ip'=>$remote_ip});
my $alias = sql_hash('device_ip',['ip','dns'],
{'alias'=>$remote_ip});
# Resolve IP address squawked to root device
if (defined $alias) {
$remote_ip = $alias->{ip};
$name = $alias->{dns};
$name = defined $name ? $name : $remote_ip;
$name =~ s/\Q$domain\E//;
$name .= " ($remote_port)";
$name = "$name";
$link = "device.html?ip=$remote_ip&port=$remote_port";
# Not an alias, use info from device table
} elsif (defined $remote_dev) {
$name = $remote_dev->{'dns'};
$name = defined $name ? $name : $remote_ip;
$name =~ s/\Q$domain\E//;
$name .= " ($remote_port)";
$name = "$name";
$link = "device.html?ip=$remote_ip&port=$remote_port";
# Found a device, but not in our database
} else {
if ($arg_node_dns eq 'on') {
$name = hostname($remote_ip) || $remote_ip;
$name =~ s/\Q$domain\E//;
} else {
$name = $remote_ip;
}
my $spanclass = (defined $remote_type and $remote_type =~ /ip.phone/i) ?
'ip-phone' : 'dead-link';
$name = "$name";
$name .= " ($remote_port)";
$name .= " ($remote_type)" if defined $remote_type; $name .= "/($remote_id)" if defined $remote_id; $link = "node.html?node=$remote_ip"; } %perl> <%$name%> \ <%perl> } $m->out(" \n") if (defined $remote_ip and defined $port->{macs}); # Show connected nodes my $seen_macs=0; my $portnodes = $port->{macs} || []; foreach my $node (sort {$a->{mac} cmp $b->{mac}} @$portnodes) { my $mac = $node->{mac}; my $active = $node->{active}; my $time_last = $node->{time_last}; # Connected Device Age Stamp? my $age = $now - $time_last; $age = sprintf("%d", ($age / (60*60*24))); my $show_age = ($arg_age eq 'on' and $age > 0) ? " ($age days)" : ''; # Show Archived Data? next unless ($active or $arg_arch eq 'on'); $seen_macs++; %perl> <% $mac%><%$show_age%><% $active ? '' : '*'%> <%perl> # Show node_ips? if ($arg_node_ip eq 'on' and defined $node_ips->{$mac}) { foreach my $ip (sort sort_ip @{$node_ips->{$mac}}) { # Show Node DNS ? my $host = $ip; if ($arg_node_dns eq 'on'){ $host = hostname($ip) || $ip; $host =~ s/\Q$domain\E//; # Add IP if we found a hostname. $host .= " ($ip)" if ($host ne $ip); } %perl> <%$host%> <%perl> } # /each node_ip } # /if node_ip } # /each node # Place holder for no connected devices unless ($seen_macs or defined $remote_ip) { $m->out(' '); } # end connected dev col. %perl> |
% # Port Control Column
\
% if ($device->{dns} =~ /^hub/i and $port_info) {
![]() ![]() ![]() |
Ports: | [Admin Disabled] [Link Down] [Blocking] [IP Phone] (Discovered Neighbor not accessible) |
Admin : |
![]() ![]() ![]() ![]() |
Settings : |
Entries without timestamps are less than 1 day old.
* denotes archived data |