Source from https://github.com/VictorRobellini/pfSense-Dashboard/tree/master/plugins
Install the Telegraf package in pfSense.
Upload all telegraf_* plugins to /usr/local/bin chmod 555 telegraf_*
Add additional configuration in for Telegraf:
[[inputs.exec]]
commands = [
"/usr/local/bin/telegraf_pfifgw.php",
"sh /usr/local/bin/telegraf_temperature.sh",
"sh /usr/local/bin/telegraf_unbound.sh"
]
data_format = "influx"
[[inputs.tail]]
files = ["/var/log/pfblockerng/dnsbl.log"]
data_format = "grok"
from_beginning = false
name_suffix = "_dnsbl_log"
grok_timezone = "Local"
grok_patterns = ["^%{WORD:blocktype}-%{WORD:blocksubtype},%{SYSLOGTIMESTAMP:timestamp:ts-syslog},%{IPORHOST:domain},%{IPORHOST:src_ip:tag},%{GREEDYDATA:req_agent},%{WORD:blockmethod},%{WORD:blocklist:tag},%{IPORHOST:tld:tag},%{WORD:feed_name:tag},%{GREEDYDATA:duplicateeventstatus}"]
[[inputs.tail]]
files = ["/var/log/pfblockerng/ip_block.log"]
data_format = "grok"
from_beginning = false
name_suffix = "_ip_block_log"
grok_timezone = "Local"
grok_patterns = ["^%{SYSLOGTIMESTAMP:timestamp:ts-syslog},%{NUMBER:rulenum},%{DATA:interface},%{WORD:friendlyname},%{WORD:action},%{NUMBER:ip_version},%{NUMBER:protocolid},%{DATA:protocol:tag},%{IPORHOST:src_ip:tag},%{IPORHOST:dest_ip:tag},%{WORD:src_port:tag},%{NUMBER:dest_port:tag},%{WORD:direction},%{WORD:geoip_code:tag},%{DATA:ip_alias_name},%{DATA:ip_evaluated},%{DATA:feed_name:tag},%{HOSTNAME:resolvedhostname},%{GREEDYDATA:clienthostname},%{GREEDYDATA:ASN},%{GREEDYDATA:duplicateeventstatus}"]
For direct prometheus scraping:
[[outputs.prometheus_client]]
listen = ":9273"
ip_range = [ ] # set network of k3s