initial pfannkuchen

This commit is contained in:
sascha 2026-03-30 15:19:20 +02:00
parent b6dafc7a73
commit 4d305fa19f
99 changed files with 3575 additions and 321 deletions

View file

@ -0,0 +1,11 @@
---
telegraf_influx_url: "https://influx.sascha-lutz.de"
telegraf_influx_org: "influx.sascha-lutz.de"
telegraf_influx_token: "{{ vault_telegraf_influx_token }}"
telegraf_influx_bucket: "telegraf"
telegraf_interval: "10s"
telegraf_synology_snmp: false
telegraf_synology_host: ""
telegraf_snmp_sec_name: "{{ vault_snmp_sec_name | default('') }}"
telegraf_snmp_auth_password: "{{ vault_snmp_auth_password | default('') }}"
telegraf_snmp_priv_password: "{{ vault_snmp_priv_password | default('') }}"

View file

@ -0,0 +1,5 @@
---
- name: Telegraf neustarten
systemd:
name: telegraf
state: restarted

View file

@ -0,0 +1,51 @@
---
- name: InfluxData GPG Key hinzufuegen
get_url:
url: https://repos.influxdata.com/influxdata-archive_compat.key
dest: /etc/apt/keyrings/influxdata-archive-keyring.gpg
mode: "0644"
- name: InfluxData Repo hinzufuegen
copy:
dest: /etc/apt/sources.list.d/influxdata.list
content: "deb [signed-by=/etc/apt/keyrings/influxdata-archive-keyring.gpg] https://repos.influxdata.com/debian stable main"
mode: "0644"
register: influx_repo
- name: Apt Cache aktualisieren
apt:
update_cache: yes
when: influx_repo.changed
- name: Telegraf installieren
apt:
name: telegraf
state: present
- name: lm-sensors installieren (fuer inputs.sensors)
apt:
name: lm-sensors
state: present
- name: SNMP Pakete installieren (fuer Synology Monitoring)
apt:
name:
- snmp
- snmp-mibs-downloader
state: present
when: telegraf_synology_snmp
- name: Telegraf Config deployen
template:
src: telegraf.conf.j2
dest: /etc/telegraf/telegraf.conf
mode: "0640"
owner: root
group: telegraf
notify: Telegraf neustarten
- name: Telegraf aktivieren und starten
systemd:
name: telegraf
enabled: true
state: started

View file

@ -0,0 +1,469 @@
[global_tags]
[agent]
interval = "{{ telegraf_interval }}"
round_interval = true
metric_batch_size = 1000
metric_buffer_limit = 10000
collection_jitter = "0s"
flush_interval = "10s"
flush_jitter = "0s"
precision = "0s"
hostname = ""
omit_hostname = false
[[outputs.influxdb_v2]]
urls = ["{{ telegraf_influx_url }}"]
organization = "{{ telegraf_influx_org }}"
token = "{{ telegraf_influx_token }}"
bucket = "{{ telegraf_influx_bucket }}"
[[inputs.cpu]]
percpu = true
totalcpu = true
fielddrop = ["time_*"]
[[inputs.disk]]
ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"]
[[inputs.diskio]]
[[inputs.kernel]]
[[inputs.mem]]
[[inputs.processes]]
[[inputs.swap]]
[[inputs.system]]
[[inputs.nstat]]
[[inputs.sensors]]
{% if telegraf_synology_snmp %}
# ============================================
# Synology NAS SNMP Monitoring
# ============================================
[[inputs.snmp]]
agents = ["{{ telegraf_synology_host }}"]
interval = "30s"
timeout = "30s"
retries = 3
max_repetitions = 10
version = 3
sec_name = "{{ telegraf_snmp_sec_name }}"
auth_protocol = "MD5"
auth_password = "{{ telegraf_snmp_auth_password }}"
sec_level = "authPriv"
priv_protocol = "DES"
priv_password = "{{ telegraf_snmp_priv_password }}"
name = "snmp.Synology"
# --- SNMPv2 System Info ---
[[inputs.snmp.field]]
name = "sysName"
oid = "SNMPv2-MIB::sysName.0"
is_tag = true
[[inputs.snmp.field]]
name = "sysDescr"
oid = "SNMPv2-MIB::sysDescr.0"
[[inputs.snmp.field]]
name = "sysContact"
oid = "SNMPv2-MIB::sysContact.0"
[[inputs.snmp.field]]
name = "sysLocation"
oid = "SNMPv2-MIB::sysLocation.0"
[[inputs.snmp.field]]
name = "sysUpTime"
oid = "SNMPv2-MIB::sysUpTime.0"
# --- UCD-SNMP-MIB: System Stats ---
[[inputs.snmp.field]]
name = "systemStats.ssSwapIn"
oid = "UCD-SNMP-MIB::ssSwapIn.0"
[[inputs.snmp.field]]
name = "systemStats.ssSwapOut"
oid = "UCD-SNMP-MIB::ssSwapOut.0"
[[inputs.snmp.field]]
name = "systemStats.ssIOSent"
oid = "UCD-SNMP-MIB::ssIOSent.0"
[[inputs.snmp.field]]
name = "systemStats.ssIOReceive"
oid = "UCD-SNMP-MIB::ssIOReceive.0"
[[inputs.snmp.field]]
name = "systemStats.ssSysInterrupts"
oid = "UCD-SNMP-MIB::ssSysInterrupts.0"
[[inputs.snmp.field]]
name = "systemStats.ssSysContext"
oid = "UCD-SNMP-MIB::ssSysContext.0"
[[inputs.snmp.field]]
name = "systemStats.ssCpuUser"
oid = "UCD-SNMP-MIB::ssCpuUser.0"
[[inputs.snmp.field]]
name = "systemStats.ssCpuSystem"
oid = "UCD-SNMP-MIB::ssCpuSystem.0"
[[inputs.snmp.field]]
name = "systemStats.ssCpuIdle"
oid = "UCD-SNMP-MIB::ssCpuIdle.0"
[[inputs.snmp.field]]
name = "systemStats.ssCpuRawUser"
oid = "UCD-SNMP-MIB::ssCpuRawUser.0"
[[inputs.snmp.field]]
name = "systemStats.ssCpuRawNice"
oid = "UCD-SNMP-MIB::ssCpuRawNice.0"
[[inputs.snmp.field]]
name = "systemStats.ssCpuRawSystem"
oid = "UCD-SNMP-MIB::ssCpuRawSystem.0"
[[inputs.snmp.field]]
name = "systemStats.ssCpuRawIdle"
oid = "UCD-SNMP-MIB::ssCpuRawIdle.0"
[[inputs.snmp.field]]
name = "systemStats.ssCpuRawWait"
oid = "UCD-SNMP-MIB::ssCpuRawWait.0"
[[inputs.snmp.field]]
name = "systemStats.ssCpuRawKernel"
oid = "UCD-SNMP-MIB::ssCpuRawKernel.0"
[[inputs.snmp.field]]
name = "systemStats.ssCpuRawInterrupt"
oid = "UCD-SNMP-MIB::ssCpuRawInterrupt.0"
[[inputs.snmp.field]]
name = "systemStats.ssIORawSent"
oid = "UCD-SNMP-MIB::ssIORawSent.0"
[[inputs.snmp.field]]
name = "systemStats.ssIORawReceived"
oid = "UCD-SNMP-MIB::ssIORawReceived.0"
[[inputs.snmp.field]]
name = "systemStats.ssRawInterrupts"
oid = "UCD-SNMP-MIB::ssRawInterrupts.0"
[[inputs.snmp.field]]
name = "systemStats.ssRawContexts"
oid = "UCD-SNMP-MIB::ssRawContexts.0"
[[inputs.snmp.field]]
name = "systemStats.ssCpuRawSoftIRQ"
oid = "UCD-SNMP-MIB::ssCpuRawSoftIRQ.0"
[[inputs.snmp.field]]
name = "systemStats.ssRawSwapIn"
oid = "UCD-SNMP-MIB::ssRawSwapIn.0"
[[inputs.snmp.field]]
name = "systemStats.ssRawSwapOut"
oid = "UCD-SNMP-MIB::ssRawSwapOut.0"
[[inputs.snmp.field]]
name = "systemStats.ssCpuRawSteal"
oid = "UCD-SNMP-MIB::ssCpuRawSteal.0"
[[inputs.snmp.field]]
name = "systemStats.ssCpuRawGuest"
oid = "UCD-SNMP-MIB::ssCpuRawGuest.0"
[[inputs.snmp.field]]
name = "systemStats.ssCpuRawGuestNice"
oid = "UCD-SNMP-MIB::ssCpuRawGuestNice.0"
[[inputs.snmp.field]]
name = "systemStats.ssCpuNumCpus"
oid = "UCD-SNMP-MIB::ssCpuNumCpus.0"
# --- UCD-SNMP-MIB: Memory ---
[[inputs.snmp.field]]
name = "memory.memTotalSwap"
oid = "UCD-SNMP-MIB::memTotalSwapX.0"
[[inputs.snmp.field]]
name = "memory.memAvailSwap"
oid = "UCD-SNMP-MIB::memAvailSwapX.0"
[[inputs.snmp.field]]
name = "memory.memTotalReal"
oid = "UCD-SNMP-MIB::memTotalRealX.0"
[[inputs.snmp.field]]
name = "memory.memAvailReal"
oid = "UCD-SNMP-MIB::memAvailRealX.0"
[[inputs.snmp.field]]
name = "memory.memTotalFree"
oid = "UCD-SNMP-MIB::memTotalFreeX.0"
[[inputs.snmp.field]]
name = "memory.memMinimumSwap"
oid = "UCD-SNMP-MIB::memMinimumSwapX.0"
[[inputs.snmp.field]]
name = "memory.memShared"
oid = "UCD-SNMP-MIB::memSharedX.0"
[[inputs.snmp.field]]
name = "memory.memBuffer"
oid = "UCD-SNMP-MIB::memBufferX.0"
[[inputs.snmp.field]]
name = "memory.memCached"
oid = "UCD-SNMP-MIB::memCachedX.0"
# --- HOST-RESOURCES-MIB: System ---
[[inputs.snmp.field]]
name = "hrSystem.hrSystemUptime"
oid = "HOST-RESOURCES-MIB::hrSystemUptime.0"
[[inputs.snmp.field]]
name = "hrSystem.hrSystemNumUsers"
oid = "HOST-RESOURCES-MIB::hrSystemNumUsers.0"
[[inputs.snmp.field]]
name = "hrSystem.hrSystemProcesses"
oid = "HOST-RESOURCES-MIB::hrSystemProcesses.0"
# --- SYNOLOGY-SYSTEM-MIB ---
[[inputs.snmp.field]]
name = "synoSystem.systemStatus"
oid = "SYNOLOGY-SYSTEM-MIB::systemStatus.0"
[[inputs.snmp.field]]
name = "synoSystem.temperature"
oid = "SYNOLOGY-SYSTEM-MIB::temperature.0"
[[inputs.snmp.field]]
name = "synoSystem.powerStatus"
oid = "SYNOLOGY-SYSTEM-MIB::powerStatus.0"
[[inputs.snmp.field]]
name = "synoSystem.systemFanStatus"
oid = "SYNOLOGY-SYSTEM-MIB::systemFanStatus.0"
[[inputs.snmp.field]]
name = "synoSystem.cpuFanStatus"
oid = "SYNOLOGY-SYSTEM-MIB::cpuFanStatus.0"
[[inputs.snmp.field]]
name = "synoSystem.modelName"
oid = "SYNOLOGY-SYSTEM-MIB::modelName.0"
[[inputs.snmp.field]]
name = "synoSystem.serialNumber"
oid = "SYNOLOGY-SYSTEM-MIB::serialNumber.0"
[[inputs.snmp.field]]
name = "synoSystem.version"
oid = "SYNOLOGY-SYSTEM-MIB::version.0"
[[inputs.snmp.field]]
name = "synoSystem.upgradeAvailable"
oid = "SYNOLOGY-SYSTEM-MIB::upgradeAvailable.0"
# --- Tables: Load ---
[[inputs.snmp.table]]
oid = "UCD-SNMP-MIB::laTable"
name = "snmp.Synology.load"
[[inputs.snmp.table.field]]
oid = "UCD-SNMP-MIB::laNames"
is_tag = true
# --- Tables: Network ---
[[inputs.snmp.table]]
oid = "IF-MIB::ifTable"
name = "snmp.Synology.network"
[[inputs.snmp.table.field]]
oid = "IF-MIB::ifDescr"
is_tag = true
[[inputs.snmp.table]]
oid = "IF-MIB::ifXTable"
name = "snmp.Synology.network"
[[inputs.snmp.table.field]]
oid = "IF-MIB::ifName"
is_tag = true
# --- Tables: Volume ---
[[inputs.snmp.table]]
oid = "HOST-RESOURCES-MIB::hrStorageTable"
name = "snmp.Synology.volume"
[[inputs.snmp.table.field]]
oid = "HOST-RESOURCES-MIB::hrStorageDescr"
is_tag = true
# --- Tables: Disk ---
[[inputs.snmp.table]]
oid = "SYNOLOGY-DISK-MIB::diskTable"
name = "snmp.Synology.disk"
[[inputs.snmp.table.field]]
oid = "SYNOLOGY-DISK-MIB::diskID"
is_tag = true
# --- Tables: RAID ---
[[inputs.snmp.table]]
oid = "SYNOLOGY-RAID-MIB::raidTable"
name = "snmp.Synology.raid"
[[inputs.snmp.table.field]]
oid = "SYNOLOGY-RAID-MIB::raidName"
is_tag = true
# --- Tables: SSD Cache ---
[[inputs.snmp.table]]
oid = "SYNOLOGY-FLASHCACHE-MIB::flashCacheTable"
name = "snmp.Synology.cache"
[[inputs.snmp.table.field]]
oid = "SYNOLOGY-FLASHCACHE-MIB::flashCacheSpaceDev"
is_tag = true
# --- Tables: S.M.A.R.T. ---
[[inputs.snmp.table]]
oid = "SYNOLOGY-SMART-MIB::diskSMARTTable"
name = "snmp.Synology.smart"
[[inputs.snmp.table.field]]
oid = "SYNOLOGY-SMART-MIB::diskSMARTInfoDevName"
is_tag = true
[[inputs.snmp.table.field]]
oid = "SYNOLOGY-SMART-MIB::diskSMARTAttrName"
is_tag = true
# --- Tables: Space IO ---
[[inputs.snmp.table]]
oid = "SYNOLOGY-SPACEIO-MIB::spaceIOTable"
name = "snmp.Synology.spaceIO"
[[inputs.snmp.table.field]]
oid = "SYNOLOGY-SPACEIO-MIB::spaceIODevice"
is_tag = true
# --- Tables: Storage IO ---
[[inputs.snmp.table]]
oid = "SYNOLOGY-STORAGEIO-MIB::storageIOTable"
name = "snmp.Synology.storageIO"
[[inputs.snmp.table.field]]
oid = "SYNOLOGY-STORAGEIO-MIB::storageIODevice"
is_tag = true
# --- Tables: eBox ---
[[inputs.snmp.table]]
name = "snmp.Synology.ebox"
oid = "SYNOLOGY-EBOX-MIB::eboxTable"
[[inputs.snmp.table.field]]
name = "snmp.Synology.ebox.eboxIndex"
oid = "SYNOLOGY-EBOX-MIB::eboxIndex"
[[inputs.snmp.table.field]]
name = "snmp.Synology.ebox.eboxModel"
oid = "SYNOLOGY-EBOX-MIB::eboxModel"
[[inputs.snmp.table.field]]
name = "snmp.Synology.ebox.eboxPower"
oid = "SYNOLOGY-EBOX-MIB::eboxPower"
[[inputs.snmp.table.field]]
name = "snmp.Synology.ebox.eboxRedundantPower"
oid = "SYNOLOGY-EBOX-MIB::eboxRedundantPower"
# --- Tables: Flash Cache ---
[[inputs.snmp.table]]
name = "snmp.Synology.flashcache"
oid = "SYNOLOGY-FLASHCACHE-MIB::flashCacheTable"
[[inputs.snmp.table.field]]
name = "flashCacheIndex"
oid = "SYNOLOGY-FLASHCACHE-MIB::flashCacheIndex"
[[inputs.snmp.table.field]]
name = "flashCacheSSDDev"
oid = "SYNOLOGY-FLASHCACHE-MIB::flashCacheSSDDev"
[[inputs.snmp.table.field]]
name = "flashCacheSpaceDev"
oid = "SYNOLOGY-FLASHCACHE-MIB::flashCacheSpaceDev"
[[inputs.snmp.table.field]]
name = "flashCacheReadHits"
oid = "SYNOLOGY-FLASHCACHE-MIB::flashCacheReadHits"
[[inputs.snmp.table.field]]
name = "flashCacheWriteHits"
oid = "SYNOLOGY-FLASHCACHE-MIB::flashCacheWriteHits"
[[inputs.snmp.table.field]]
name = "flashCacheTotalRead"
oid = "SYNOLOGY-FLASHCACHE-MIB::flashCacheTotalRead"
[[inputs.snmp.table.field]]
name = "flashCacheTotalWrite"
oid = "SYNOLOGY-FLASHCACHE-MIB::flashCacheTotalWrite"
[[inputs.snmp.table.field]]
name = "flashCacheReadHitRate"
oid = "SYNOLOGY-FLASHCACHE-MIB::flashCacheReadHitRate"
[[inputs.snmp.table.field]]
name = "flashCacheWriteHitRate"
oid = "SYNOLOGY-FLASHCACHE-MIB::flashCacheWriteHitRate"
[[inputs.snmp.table.field]]
name = "flashCacheSsdUuid"
oid = "SYNOLOGY-FLASHCACHE-MIB::flashCacheSsdUuid"
# --- Tables: GPU ---
[[inputs.snmp.table]]
name = "snmp.Synology.gpu"
[[inputs.snmp.table.field]]
name = "gpuUtilization"
oid = "SYNOLOGY-GPUINFO-MIB::gpuUtilization"
[[inputs.snmp.table.field]]
name = "gpuMemoryUtilization"
oid = "SYNOLOGY-GPUINFO-MIB::gpuMemoryUtilization"
[[inputs.snmp.table.field]]
name = "gpuMemoryFree"
oid = "SYNOLOGY-GPUINFO-MIB::gpuMemoryFree"
[[inputs.snmp.table.field]]
name = "gpuMemoryUsed"
oid = "SYNOLOGY-GPUINFO-MIB::gpuMemoryUsed"
[[inputs.snmp.table.field]]
name = "gpuMemoryTotal"
oid = "SYNOLOGY-GPUINFO-MIB::gpuMemoryTotal"
# --- Tables: iSCSI LUN ---
[[inputs.snmp.table]]
name = "snmp.Synology.iscsilun"
oid = "SYNOLOGY-ISCSILUN-MIB::iSCSILUNTable"
[[inputs.snmp.table.field]]
name = "iSCSILUNInfoIndex"
oid = "SYNOLOGY-ISCSILUN-MIB::iSCSILUNInfoIndex"
[[inputs.snmp.table.field]]
name = "iSCSILUNUUID"
oid = "SYNOLOGY-ISCSILUN-MIB::iSCSILUNUUID"
[[inputs.snmp.table.field]]
name = "iSCSILUNName"
oid = "SYNOLOGY-ISCSILUN-MIB::iSCSILUNName"
[[inputs.snmp.table.field]]
name = "iSCSILUNThroughputReadHigh"
oid = "SYNOLOGY-ISCSILUN-MIB::iSCSILUNThroughputReadHigh"
[[inputs.snmp.table.field]]
name = "iSCSILUNThroughputReadLow"
oid = "SYNOLOGY-ISCSILUN-MIB::iSCSILUNThroughputReadLow"
[[inputs.snmp.table.field]]
name = "iSCSILUNThroughputWriteHigh"
oid = "SYNOLOGY-ISCSILUN-MIB::iSCSILUNThroughputWriteHigh"
[[inputs.snmp.table.field]]
name = "iSCSILUNThroughputWriteLow"
oid = "SYNOLOGY-ISCSILUN-MIB::iSCSILUNThroughputWriteLow"
[[inputs.snmp.table.field]]
name = "iSCSILUNIopsRead"
oid = "SYNOLOGY-ISCSILUN-MIB::iSCSILUNIopsRead"
[[inputs.snmp.table.field]]
name = "iSCSILUNIopsWrite"
oid = "SYNOLOGY-ISCSILUN-MIB::iSCSILUNIopsWrite"
# --- Tables: iSCSI Target ---
[[inputs.snmp.table]]
name = "snmp.Synology.iscsitarget"
oid = "SYNOLOGY-ISCSITarget-MIB::iSCSITargetTable"
[[inputs.snmp.table.field]]
name = "iSCSITargetName"
oid = "SYNOLOGY-ISCSITarget-MIB::iSCSITargetName"
[[inputs.snmp.table.field]]
name = "iSCSITargetIQN"
oid = "SYNOLOGY-ISCSITarget-MIB::iSCSITargetIQN"
[[inputs.snmp.table.field]]
name = "iSCSITargetConnectionStatus"
oid = "SYNOLOGY-ISCSITarget-MIB::iSCSITargetConnectionStatus"
# --- Tables: Services ---
[[inputs.snmp.table]]
name = "snmp.Synology.services"
oid = "SYNOLOGY-SERVICES-MIB::serviceTable"
[[inputs.snmp.table.field]]
name = "serviceName"
oid = "SYNOLOGY-SERVICES-MIB::serviceName"
is_tag = true
[[inputs.snmp.table.field]]
name = "serviceUsers"
oid = "SYNOLOGY-SERVICES-MIB::serviceUsers"
# --- HA ---
[[inputs.snmp.field]]
name = "ha.activeNodeName"
oid = "SYNOLOGY-SHA-MIB::activeNodeName"
[[inputs.snmp.field]]
name = "ha.passiveNodeName"
oid = "SYNOLOGY-SHA-MIB::passiveNodeName"
[[inputs.snmp.field]]
name = "ha.clusterAutoFailover"
oid = "SYNOLOGY-SHA-MIB::clusterAutoFailover"
[[inputs.snmp.field]]
name = "ha.clusterName"
oid = "SYNOLOGY-SHA-MIB::clusterName"
[[inputs.snmp.field]]
name = "ha.clusterStatus"
oid = "SYNOLOGY-SHA-MIB::clusterStatus"
[[inputs.snmp.field]]
name = "ha.heartbeatStatus"
oid = "SYNOLOGY-SHA-MIB::heartbeatStatus"
[[inputs.snmp.field]]
name = "ha.heartbeatTxRate"
oid = "SYNOLOGY-SHA-MIB::heartbeatTxRate"
[[inputs.snmp.field]]
name = "ha.heartbeatLatency"
oid = "SYNOLOGY-SHA-MIB::heartbeatLatency"
{% endif %}