Repository
Munin (contrib)
Last change
2020-03-26
Graph Categories
Family
snmpauto
Capabilities
Keywords
Language
Perl
License
GPL-2.0-only
Authors

snmp__synology_temperature

Name

snmp__syno_temperature - Munin plugin to retrieve current temperature from a Synology NAS.

Applicable Systems

Any Synology NAS device which provides the synoSystem MIB.

Configuration

As a rule SNMP plugins need site specific configuration. The default configuration (shown here) will only work on insecure sites/devices.

[snmp_*]
     env.version 2
     env.community public

In general SNMP is not very secure at all unless you use SNMP version 3 which supports authentication and privacy (encryption). But in any case the community string for your devices should not be “public”.

Please see ‘perldoc Munin::Plugin::SNMP’ for further configuration information.

Interpretation

This plugin queries the current temperature of the NAS.

Mib Information

This plugin requires support for the synoSystem MIB by Synology. It reports the contents of the temperature OID.

Magic Markers

#%# family=snmpauto
#%# capabilities=snmpconf

Version

$Id$

Bugs

None known.

Author

Copyright (C) 2015 Thomas Arthofer

License

GPLv2 or (at your option) any later version.

#!/usr/bin/perl -w
# -*- cperl -*-
# vim: ft=perl

=head1 NAME

snmp__syno_temperature - Munin plugin to retrieve current temperature from a
Synology NAS.

=head1 APPLICABLE SYSTEMS

Any Synology NAS device which provides the synoSystem MIB.

=head1 CONFIGURATION

As a rule SNMP plugins need site specific configuration.  The default
configuration (shown here) will only work on insecure sites/devices.

   [snmp_*]
        env.version 2
        env.community public

In general SNMP is not very secure at all unless you use SNMP version
3 which supports authentication and privacy (encryption).  But in any
case the community string for your devices should not be "public".

Please see 'perldoc Munin::Plugin::SNMP' for further configuration
information.

=head1 INTERPRETATION

This plugin queries the current temperature of the NAS.

=head1 MIB INFORMATION

This plugin requires support for the synoSystem MIB by Synology.
It reports the contents of the temperature OID.

=head1 MAGIC MARKERS

  #%# family=snmpauto
  #%# capabilities=snmpconf

=head1 VERSION

  $Id$

=head1 BUGS

None known.

=head1 AUTHOR

Copyright (C) 2015 Thomas Arthofer

=head1 LICENSE

GPLv2 or (at your option) any later version.

=cut

use strict;
use Munin::Plugin::SNMP;

if (defined $ARGV[0] and $ARGV[0] eq "snmpconf") {
        print "require 1.3.6.1.4.1.6574.1.2.0 [0-9]\n"; # Number
        exit 0;
}

if (defined $ARGV[0] and $ARGV[0] eq "config") {
    my ($host) = Munin::Plugin::SNMP->config_session();
        print "host_name $host\n" unless $host eq 'localhost';
        print "graph_title Temperatures
graph_args --base 1000 -l 0
graph_vlabel Degrees Celsius
graph_category sensors
graph_info This graph shows the temperature of the diskstation.
temp.label CPU
temp.info The temperature of the onboard CPU.
";
        exit 0;
}

my $session = Munin::Plugin::SNMP->session(-translate =>
                                           [ -timeticks => 0x0 ]);

my $temp = $session->get_single (".1.3.6.1.4.1.6574.1.2.0") || 'ERROR';

print "Retrieved uptime is '$temp'\n" if $Munin::Plugin::SNMP::DEBUG;

print "temp.value ", $temp, "\n";