# Telegraf configuration # Telegraf is entirely plugin driven. All metrics are gathered from the # declared inputs, and sent to the declared outputs. # Plugins must be declared in here to be active. # To deactivate a plugin, comment out the name and any variables. # Use 'telegraf -config telegraf.conf -test' to see what metrics a config # file would generate. # Global tags can be specified here in key="value" format. [global_tags] # Configuration for telegraf agent [agent] ## Default data collection interval for all inputs interval = "30s" ## Rounds collection interval to 'interval' ## ie, if interval="10s" then always collect on :00, :10, :20, etc. round_interval = true ## Telegraf will cache metric_buffer_limit metrics for each output, and will ## flush this buffer on a successful write. metric_buffer_limit = 1000 ## Flush the buffer whenever full, regardless of flush_interval. flush_buffer_when_full = true ## Collection jitter is used to jitter the collection by a random amount. ## Each plugin will sleep for a random time within jitter before collecting. ## This can be used to avoid many plugins querying things like sysfs at the ## same time, which can have a measurable effect on the system. collection_jitter = "0s" ## Default flushing interval for all outputs. You shouldn't set this below ## interval. Maximum flush_interval will be flush_interval + flush_jitter flush_interval = "10s" ## Jitter the flush interval by a random amount. This is primarily to avoid ## large write spikes for users running a large number of telegraf instances. ## ie, a jitter of 5s and interval 10s means flushes will happen every 10-15s flush_jitter = "0s" ## Logging configuration: ## Run telegraf in debug mode debug = false ## Run telegraf in quiet mode quiet = false ## Override default hostname, if empty use os.Hostname() hostname = "" ############################################################################### # OUTPUTS # ############################################################################### # 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 but it is assumed that they are part of the same # cluster, this means that only ONE of the urls will be written to each interval. # urls = ["udp://127.0.0.1:8089"] # UDP endpoint example urls = ["http://X.X.X.X:8086"] # required - enter the IP address of your InfluxDB instance # The target database for metrics (telegraf will create it if not exists) database = "telegraf" # required # Precision of writes, valid values are "ns", "us" (or "µs"), "ms", "s", "m", "h". # note: using second precision greatly helps InfluxDB compression precision = "s" ## Write timeout (for the InfluxDB client), formatted as a string. ## If not provided, will default to 5s. 0s means no timeout (not recommended). timeout = "5s" # username = "telegraf" # password = "metricsmetricsmetricsmetrics" # Set the user agent for HTTP POSTs (can be useful for log differentiation) # user_agent = "telegraf" # Set UDP payload size, defaults to InfluxDB UDP Client default (512 bytes) # udp_payload = 512 ############################################################################### # INPUTS # ############################################################################### ## ## Synology ## [[inputs.snmp]] # List of agents to poll agents = [ "X.X.X.X" ] # required - enter the IP address of your Synology device # 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 = "public" # The GETBULK max-repetitions parameter max_repetitions = 30 # Measurement name name = "snmp.SYNO" # 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"