Giter Club home page Giter Club logo

synology_dashboard_grafana's Introduction

Synology_dashboard_grafana

A grafana dashboard for monitoring Synology NAS

Dependencies InfluxDB as the time-series database Telegraf as the collector

Quick Start

  • Enable SNMP on your Synology NAS
  • Merge input_syno_telegraf.conf with your local Telegraf instance configuration (or create a new instance)
  • Edit the SNMP 'public' string as appropriate
  • Edit the 'agents' list to include all of your monitored NAS
  • If you do not already have an InfluxDB output configured in your Telegraf instance:
  • Merge the included output_influxdb_telegraf.conf with your local Telegraf instance configuration:
  • Edit the URL to your new InfluxDB instance
  • Edit the username and password for this InfluxDB instance as appropriate
  • Restart Telegraf

synology_dashboard_grafana's People

Contributors

jperillo avatar xedmada avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

synology_dashboard_grafana's Issues

No Data Pulled on DSM 6.1

The dashboard is not showing any data when I run the telegraf -test I get the error but I don't believe these related to the dashboard:
_
Cannot find module (IF-MIB): At line 1 in (none)
IF-MIB::ifTable: Unknown Object Identifier_

Running it on Ubuntu 16.04, any suggestions what I'm doing wrong?

elegraf error

When i run the telegraf scrapper it spits out
2021-11-25T13:05:00Z E! [inputs.snmp] Error in plugin: initializing table : translating: exec: "snmptranslate": executable file not found in %PATH%
2021-11-25T13:06:00Z E! [inputs.snmp] Error in plugin: initializing table : translating: exec: "snmptranslate": executable file not found in %PATH%
2021-11-25T13:07:00Z E! [inputs.snmp] Error in plugin: initializing table : translating: exec: "snmptranslate": executable file not found in %PATH%

config file setup
###############################################################################

INPUT PLUGINS

###############################################################################

Retrieves details via SNMP from remote agents

Synology

[[inputs.snmp]]

List of agents to poll

agents = [ "172.16.0.15" ]

Polling interval

interval = "60s"

Timeout for each SNMP query.

timeout = "10s"

Number of retries to attempt within timeout.

retries = 3

SNMP version, UAP only supports v1

version = 2

SNMP community string.

community = "nas"

The GETBULK max-repetitions parameter

max_repetitions = 30

Measurement name

name = "snmp.SYNO"

System Details

System name (hostname)

[[inputs.snmp.field]]
is_tag = true
name = "sysName"
oid = "RFC1213-MIB::sysName.0"

System vendor OID

[[inputs.snmp.field]]
name = "sysObjectID"
oid = "RFC1213-MIB::sysObjectID.0"

System description

[[inputs.snmp.field]]
name = "sysDescr"
oid = "RFC1213-MIB::sysDescr.0"

System contact

[[inputs.snmp.field]]
name = "sysContact"
oid = "RFC1213-MIB::sysContact.0"

System location

[[inputs.snmp.field]]
name = "sysLocation"
oid = "RFC1213-MIB::sysLocation.0"

System uptime

[[inputs.snmp.field]]
name = "sysUpTime"
oid = "RFC1213-MIB::sysUpTime.0"

Inet interface

[[inputs.snmp.table]]
oid = "IF-MIB::ifTable"
[[inputs.snmp.table.field]]
is_tag = true
oid = "IF-MIB::ifDescr"
#Syno disk
[[inputs.snmp.table]]
oid = "SYNOLOGY-DISK-MIB::diskTable"
[[inputs.snmp.table.field]]
is_tag = true
oid = "SYNOLOGY-DISK-MIB::diskID"
#Syno raid
[[inputs.snmp.table]]
oid = "SYNOLOGY-RAID-MIB::raidTable"
[[inputs.snmp.table.field]]
is_tag = true
oid = "SYNOLOGY-RAID-MIB::raidName"
#Syno load
[[inputs.snmp.table]]
oid = "UCD-SNMP-MIB::laTable"
[[inputs.snmp.table.field]]
is_tag = true
oid = "UCD-SNMP-MIB::laNames"

System memTotalSwap

[[inputs.snmp.field]]
name = "memTotalSwap"
oid = "UCD-SNMP-MIB::memTotalSwap.0"

System memAvailSwap

[[inputs.snmp.field]]
name = "memAvailSwap"
oid = "UCD-SNMP-MIB::memAvailSwap.0"

System memTotalReal

[[inputs.snmp.field]]
name = "memTotalReal"
oid = "UCD-SNMP-MIB::memTotalReal.0"

System memAvailReal

[[inputs.snmp.field]]
name = "memAvailReal"
oid = "UCD-SNMP-MIB::memAvailReal.0"

System memTotalFree

[[inputs.snmp.field]]
name = "memTotalFree"
oid = "UCD-SNMP-MIB::memTotalFree.0"

System Status

[[inputs.snmp.field]]
name = "systemStatus"
oid = "SYNOLOGY-SYSTEM-MIB::systemStatus.0"

System temperature

[[inputs.snmp.field]]
name = "temperature"
oid = "SYNOLOGY-SYSTEM-MIB::temperature.0"

System powerStatus

[[inputs.snmp.field]]
name = "powerStatus"
oid = "SYNOLOGY-SYSTEM-MIB::powerStatus.0"

System systemFanStatus

[[inputs.snmp.field]]
name = "systemFanStatus"
oid = "SYNOLOGY-SYSTEM-MIB::systemFanStatus.0"

System cpuFanStatus

[[inputs.snmp.field]]
name = "cpuFanStatus"
oid = "SYNOLOGY-SYSTEM-MIB::cpuFanStatus.0"

System modelName

[[inputs.snmp.field]]
name = "modelName"
oid = "SYNOLOGY-SYSTEM-MIB::modelName.0"

System serialNumber

[[inputs.snmp.field]]
name = "serialNumber"
oid = "SYNOLOGY-SYSTEM-MIB::serialNumber.0"

System version

[[inputs.snmp.field]]
name = "version"
oid = "SYNOLOGY-SYSTEM-MIB::version.0"

System upgradeAvailable

[[inputs.snmp.field]]
name = "upgradeAvailable"
oid = "SYNOLOGY-SYSTEM-MIB::upgradeAvailable.0"

System volume

[[inputs.snmp.table]]
oid = "HOST-RESOURCES-MIB::hrStorageTable"
[[inputs.snmp.table.field]]
is_tag = true
oid = "HOST-RESOURCES-MIB::hrStorageDescr"

System ssCpuUser

[[inputs.snmp.field]]
name = "ssCpuUser"
oid = ".1.3.6.1.4.1.2021.11.9.0"

System ssCpuSystem

[[inputs.snmp.field]]
name = "ssCpuSystem"
oid = ".1.3.6.1.4.1.2021.11.10.0"

System ssCpuIdle

[[inputs.snmp.field]]
name = "ssCpuIdle"
oid = ".1.3.6.1.4.1.2021.11.11.0"

Service users CIFS

[[inputs.snmp.table.field]]
name = "usersCIFS"
oid = "SYNOLOGY-SERVICES-MIB::serviceUsers"
oid_index_suffix = "1"

Service users AFP

[[inputs.snmp.table.field]]
name = "usersAFP"
oid = "SYNOLOGY-SERVICES-MIB::serviceUsers"
oid_index_suffix = "2"

Service users NFS

[[inputs.snmp.table.field]]
name = "usersNFS"
oid = "SYNOLOGY-SERVICES-MIB::serviceUsers"
oid_index_suffix = "3"

Service users FTP

[[inputs.snmp.table.field]]
name = "usersFTP"
oid = "SYNOLOGY-SERVICES-MIB::serviceUsers"
oid_index_suffix = "4"

Service users SFTP

[[inputs.snmp.table.field]]
name = "usersSFTP"
oid = "SYNOLOGY-SERVICES-MIB::serviceUsers"
oid_index_suffix = "5"

Service users HTTP

[[inputs.snmp.table.field]]
name = "usersHTTP"
oid = "SYNOLOGY-SERVICES-MIB::serviceUsers"
oid_index_suffix = "6"

Service users TELNET

[[inputs.snmp.table.field]]
name = "usersTELNET"
oid = "SYNOLOGY-SERVICES-MIB::serviceUsers"
oid_index_suffix = "7"

Service users SSH

[[inputs.snmp.table.field]]
name = "usersSSH"
oid = "SYNOLOGY-SERVICES-MIB::serviceUsers"
oid_index_suffix = "8"

Service users OTHER

[[inputs.snmp.table.field]]
name = "usersOTHER"
oid = "SYNOLOGY-SERVICES-MIB::serviceUsers"
oid_index_suffix = "9"

UPS Status

[[inputs.snmp.table.field]]
name = "upsStatus"
oid = "SYNOLOGY-UPS-MIB::upsInfoStatus"

UPS Load

[[inputs.snmp.table.field]]
name = "upsLoad"
oid = "SYNOLOGY-UPS-MIB::upsInfoLoadValue"

UPS Battery Charge

[[inputs.snmp.table.field]]
name = "upsCharge"
oid = "SYNOLOGY-UPS-MIB::upsBatteryChargeValue"

UPS Battery Charge Warning

[[inputs.snmp.table.field]]
name = "upsWarning"
oid = "SYNOLOGY-UPS-MIB::upsBatteryChargeWarning"

Telegraf Configuration for Synology NAS monitoring via SNMP

These output definitions are only required if not already existing.

This dashboard does not depend on the specific output configuration - only

that an InfluxDB database is used.

###############################################################################

OUTPUT PLUGINS

###############################################################################

Configuration for influxdb server to send metrics to

[[outputs.influxdb]]

The full HTTP or UDP endpoint URL for your InfluxDB instance.

Multiple urls can be specified as part of the same cluster,

this means that only ONE of the urls will be written to each interval.

urls = ["http://172.16.0.207:8086"] # required

The target database for metrics (telegraf will create it if not exists).

database = "syno" # required

Retention policy to write to. Empty string writes to the default rp.

retention_policy = ""

Write consistency (clusters only), can be: "any", "one", "quorum", "all"

write_consistency = "any"
Only part not shown is the username part in outputs

UPS Information

Following your instructions I've got the Synology dashboard working great, thanks for all the work you've done on this!

I'm having a little trouble creating a query in Grafana to pull UPS status information. I've installed all of the Synology MIBs, and see the SYNOLOGY-UPS-MIB.txt, but I can't seem to find the information it's gathering. Would you have any suggestions?

...and yes I have a UPS connected to the Synology, and can see it's information in the Synology gui.

No Data

No Data, Synology DashBoard show me. Can you help me ?

Traffic Stopped Displaying

I have set up telegraf with snmp, downloaded the Mib files, edited my telegraf.conf file, and setup influx and grafana and everything appeared to work for a day or 2 and then the Traffic data stopped showing up. The history also is not there any more. I don't believe I changed anything relevant, but obviously something has changed. Do you have any suggestions for ways to troubleshoot this? I'm out of ideas.
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.