raspiblitz/home.admin/assets/telegraf/etc-telegraf/telegraf.d/telegraf_inputs.conf

269 lines
8.1 KiB
Text
Raw Normal View History

###############################################################################
# INPUT PLUGINS #
###############################################################################
#### Collect statistics about itself
[[inputs.internal]]
collect_memstats = true
#### Read metrics about cpu usage
[[inputs.cpu]]
percpu = false
totalcpu = true
collect_cpu_time = false
report_active = false
#### Read metrics about disk usage by mount point
[[inputs.disk]]
ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"]
#### Read metrics about network interface usage
[[inputs.net]]
##interfaces = ["eth0"]
ignore_protocol_stats = false
#### Read metrics about disk IO by device
[[inputs.diskio]]
#### Get kernel statistics from /proc/stat
[[inputs.kernel]]
#### Read metrics about memory usage
[[inputs.mem]]
#### Get the number of processes and group them by status
[[inputs.processes]]
#### Read metrics about swap memory usage
[[inputs.swap]]
#### Read metrics about system load & uptime
[[inputs.system]]
#####################################
#### Bitcoin and Lightning Network related metrics
####
#### Note: [[inputs.exec]] => data_format = "json" only evaluate numeric values.
#### All NON-NUMERIC values will be dropped
####
#####################################
#### Bitcoin related metric
#### basic information about the blockchain
#### --> https://developer.bitcoin.org/reference/rpc/getblockchaininfo.html
##
## Most usefull fields...
## * blocks
## * headers
## * verificationprogress
##
[[inputs.exec]]
interval = "60s"
commands = ["/usr/local/bin/bitcoin-cli -conf=/mnt/hdd/bitcoin/bitcoin.conf getblockchaininfo" ]
name_override = "bitcoin_blockchaininfo"
data_format = "json"
#### Bitcoin related metric
#### information about network traffic, including bytes in, bytes out, and current time window
#### --> https://developer.bitcoin.org/reference/rpc/getnettotals.html
##
## Most usefull fields...
## * totalbytesrecv
## * totalbytessent
##
[[inputs.exec]]
interval = "60s"
commands = ["/usr/local/bin/bitcoin-cli -conf=/mnt/hdd/bitcoin/bitcoin.conf getnettotals" ]
name_override = "bitcoin_nettotals"
data_format = "json"
# #### Bitcoin related metric
# #### total uptime of the bitcoind service in seconds
# #### --> https://developer.bitcoin.org/reference/rpc/uptime.html
# ##
# ## Replaced by "/etc/telegraf/getserviceuptime.sh"
# ##
# [[inputs.exec]]
# interval = "60s"
# commands = ["/usr/local/bin/bitcoin-cli -conf=/mnt/hdd/bitcoin/bitcoin.conf uptime" ]
# name_override = "bitcoin_uptime"
# data_format = "value"
# data_type = "integer"
#### Bitcoin related metric
#### number of connections to other nodes
#### --> https://developer.bitcoin.org/reference/rpc/getconnectioncount.html
##
[[inputs.exec]]
interval = "60s"
commands = ["/usr/local/bin/bitcoin-cli -conf=/mnt/hdd/bitcoin/bitcoin.conf getconnectioncount" ]
name_override = "bitcoin_connectioncount"
data_format = "value"
data_type = "integer"
#### Lightning Network related metric
#### basic information about the LN node
#### --> https://api.lightning.community/#getinfo
##
## Most usefull fields...
## * block_height
## * num_peers
## * num_active_channels
## * num_inactive_channels
## * num_pending_channels
##
[[inputs.exec]]
interval = "60s"
commands = ["/usr/local/bin/lncli --lnddir=/mnt/hdd/app-data/lnd getinfo" ]
name_override = "ln_info"
data_format = "json"
#####################################
#### Various IP addresses
####
#####################################
#### gets the creation timestamp and uptime of several raspiblitz IP addresses
##
## * publicIP from /mnt/hdd/raspiblitz.conf
## * bitcoind node ip address via: bitcoin-cli getnetworkinfo => "localaddresses"
## * lnd ip addess via: lncli getinfo => "uris"
## * IPv6 global from eth0/wlan0
## * IPv4 local network address from eth0/wlan0
##
[[inputs.exec]]
interval = "60s"
commands = ["/etc/telegraf/getraspiblitzipinfo.sh" ]
data_format = "influx"
#####################################
#### Processes and Services
####
#####################################
#### gets the uptime of various important raspiblitz services via
[[inputs.exec]]
# this should match the standard metrics-gathering-interval as defined in the [agent] section
commands = ["/etc/telegraf/getserviceuptime.sh" ]
data_format = "influx"
## check for the systemd services not the plain exe-file names
[[inputs.procstat]]
systemd_unit = "bootstrap.service"
[[inputs.procstat]]
systemd_unit = "telegraf.service"
[[inputs.procstat]]
systemd_unit = "ssh.service"
[[inputs.procstat]]
systemd_unit = "bitcoind.service"
[[inputs.procstat]]
systemd_unit = "lnd.service"
[[inputs.procstat]]
systemd_unit = "RTL.service"
[[inputs.procstat]]
systemd_unit = "electrs.service"
[[inputs.procstat]]
systemd_unit = "btc-rpc-explorer.service"
[[inputs.procstat]]
systemd_unit = "background.service"
[[inputs.procstat]]
systemd_unit = "mempool.service"
#####################################
#### Hardware data: cpu/gpu temperature, voltage, cpu clock
####
#####################################
[[inputs.file]]
files = ["/sys/class/thermal/thermal_zone0/temp"]
name_override = "cpu_temperature"
data_format = "value"
data_type = "integer"
[[inputs.exec]]
commands = ["/opt/vc/bin/vcgencmd measure_temp"]
name_override = "gpu_temperature"
data_format = "grok"
grok_patterns = ["%{NUMBER:value:float}"]
[[inputs.exec]]
commands = ["/opt/vc/bin/vcgencmd measure_volts core"]
name_override = "cpu_volts"
data_format = "grok"
grok_patterns = ["%{NUMBER:value:float}"]
[[inputs.exec]]
commands = ["/opt/vc/bin/vcgencmd measure_clock arm"]
name_override = "cpu_frequency"
data_format = "grok"
grok_patterns = ["=%{NUMBER:value:int}"]
#####################################
#### web services
####
#### JSON web interface for statistical data from "blockchain.com"
####
#### documentation: https://www.blockchain.com/api/charts_api
#### example: https://www.blockchain.com/stats
#### JSON api URL: https://api.blockchain.info/stats
####
#####################################
[[inputs.http]]
interval = "60s"
urls = ["https://api.blockchain.info/stats"]
timeout = "5s"
name_override = "web_bitcoin_info"
data_format = "json"
###############################################################################
# SERVICE INPUT PLUGINS #
###############################################################################
#### Read metrics from one or many prometheus clients
#
# electrs stats
[[inputs.prometheus]]
interval = "60s"
urls = ["http://localhost:4224/metrics"]
metric_version = 2
name_override = "electrs_info"
### -eof-