Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Docker Compose files:
- Grafana
- version: "3.8"
- services:
- grafana:
- image: grafana/grafana
- container_name: grafana
- restart: unless-stopped
- ports:
- - '3000:3000'
- volumes:
- - grafana-storage:/var/lib/grafana
- volumes:
- grafana-storage: {}
- Prometheus
- version: '3.8'
- services:
- prometheus:
- image: prom/prometheus
- container_name: prometheus
- command:
- - '--config.file=/etc/prometheus/prometheus.yml'
- ports:
- - 9090:9090
- restart: unless-stopped
- volumes:
- - ./prometheus:/etc/prometheus
- - prom_data:/prometheus
- volumes:
- prom_data:
- Node-exporter
- ---
- version: "2.1"
- services:
- graphite:
- image: prom/graphite-exporter
- container_name: graphite
- command:
- - --graphite.mapping-config=/tmp/graphite_mapping.conf
- - --graphite.listen-address=:2003
- #- --log.level=debug
- volumes:
- - ./graphite_mapping.conf:/tmp/graphite_mapping.conf:ro
- ports:
- - "9108:9180"
- - "2003:2003/tcp"
- - "2003:2003/udp"
- restart: unless-stopped
- network_mode: "host"
- Prometheus jobs:
- global:
- scrape_interval: 15s
- scrape_timeout: 10s
- evaluation_interval: 15s
- alerting:
- alertmanagers:
- - static_configs:
- - targets: []
- scheme: http
- timeout: 10s
- api_version: v1
- scrape_configs:
- - job_name: srv04
- static_configs:
- - targets:
- - 192.168.50.46:9100
- - job_name: srv02
- static_configs:
- - targets:
- - 192.168.50.43:9100
- - job_name: truenas
- scrape_interval: 1m
- metrics_path: /metrics
- static_configs:
- - targets:
- - 192.168.50.48:9108
- honor_labels: true
- Graphite-exporter mappings 1
- ---
- # All FreeNAS metrics start with server.<server_name>
- # https://www.truenas.com/community/threads/mapping-of-freenas-data-sent-to-graphite_exporter-part-of-prometheus.80948/
- # https://blog.bradbeattie.com/freenas-to-prometheus/
- # Validate configuration with:
- # /path/to/graphite_exporter --check-config --graphite.mapping-config=/path/to/this_file.yml
- # graphite_exporter --check-config --graphite.mapping-config=files/configs/present/graphite_mapping-2.yml
- # To develop mappings locally:
- # graphite_exporter --log.level=debug --graphite.mapping-config=
- # nc localhost 9109 < graphite-sample.txt
- # curl localhost:9108/metrics -s | grep ^freenas | less
- # Mapping syntax is based on statsd_exporter.
- # https://github.com/prometheus/statsd_exporter#regular-expression-matching
- mappings:
- - match: 'servers\.([^_]*)_([^_]*)\.disktemp-(.*)\.temperature'
- match_type: regex
- name: "freenas_disk_temperature"
- labels:
- instance: '${1}.${2}'
- job: freenas-graphite
- disk: '${5}'
- - match: 'servers\.([^_]*)_([^_]*)\.cputemp-(.*)\.temperature'
- match_type: regex
- name: "freenas_cpu_temperature"
- labels:
- instance: '${1}.${2}'
- job: freenas-graphite
- cpu: '${5}'
- # When "Report CPU usage in percent" is NOT selected. (default)
- - match: 'servers\.([^_]*)_([^_]*)\.aggregation_cpu_(.*)\.percent-(.*)'
- match_type: regex
- name: "freenas_cpu_percent_${5}"
- labels:
- instance: '${1}.${2}'
- job: freenas-graphite
- mode: '${6}'
- # When "Report CPU usage in percent" is selected.
- - match: 'servers\.([^_]*)_([^_]*)\.aggregation_cpu_(.*)\.cpu-(.*)'
- match_type: regex
- name: "freenas_cpu_usage_${5}"
- labels:
- instance: '${1}.${2}'
- job: freenas-graphite
- mode: '${6}'
- # When "Report CPU usage in percent" is NOT selected. (default)
- - match: 'servers\.([^_]*)_([^_]*)\.cpu-(.*)\.cpu-(.*)'
- match_type: regex
- name: "freenas_cpu_usage"
- labels:
- instance: '${1}.${2}'
- job: freenas-graphite
- cpu: '${5}'
- mode: '${6}'
- # When "Report CPU usage in percent" is selected.
- - match: 'servers\.([^_]*)_([^_]*)\.cpu-(.*)\.percent-(.*)'
- match_type: regex
- name: "freenas_cpu_percent"
- labels:
- instance: '${1}.${2}'
- job: freenas-graphite
- cpu: '${5}'
- mode: '${6}'
- - match: 'servers\.([^_]*)_([^_]*)\.df-(.*)\.df_complex-(.*)'
- match_type: regex
- name: 'freenas_df_${6}'
- labels:
- instance: '${1}.${2}'
- job: freenas-graphite
- filesystem: '${5}'
- - match: 'servers\.([^_]*)_([^_]*)\.disk-(.*)\.disk_(.*)\.(.*)'
- match_type: regex
- name: 'freenas_disk_${6}_${7}'
- labels:
- instance: '${1}.${2}'
- job: freenas-graphite
- device: '${5}'
- - match: 'servers\.([^_]*)_([^_]*)\.interface-(.*)\.if_(.*)\.(.*)'
- match_type: regex
- name: 'freenas_interface_${7}_${6}'
- labels:
- instance: '${1}.${2}'
- job: freenas-graphite
- interface: '${5}'
- - match: 'servers\.([^_]*)_([^_]*)\.load\.load\.longterm'
- match_type: regex
- name: 'freenas_load_15'
- labels:
- instance: '${1}.${2}'
- job: freenas-graphite
- - match: 'servers\.([^_]*)_([^_]*)\.load\.load\.midterm'
- match_type: regex
- name: 'freenas_load_5'
- labels:
- instance: '${1}.${2}'
- job: freenas-graphite
- - match: 'servers\.([^_]*)_([^_]*)\.load\.load\.shortterm'
- match_type: regex
- name: 'freenas_load_1'
- labels:
- instance: '${1}.${2}'
- job: freenas-graphite
- - match: 'servers\.([^_]*)_([^_]*)\.memory\.memory-(.*)'
- match_type: regex
- name: 'freenas_memory_${5}'
- labels:
- instance: '${1}.${2}'
- job: freenas-graphite
- - match: 'servers\.([^_]*)_([^_]*)\.swap\.swap-(.*)'
- match_type: regex
- name: 'freenas_swap_${5}'
- labels:
- instance: '${1}.${2}'
- job: freenas-graphite
- - match: 'servers\.([^_]*)_([^_]*)\.uptime\.uptime'
- match_type: regex
- name: freenas_uptime
- labels:
- job: freenas-graphite
- instance: "${1}.${2}"
- - match: 'servers\.([^_]*)_([^_]*)\.processes\.ps_state-(.*)'
- match_type: regex
- name: freenas_processes
- labels:
- job: freenas-graphite
- instance: "${1}.${2}"
- state: "${5}"
- - match: 'servers\.([^_]*)_([^_]*)\.([^.]*)\.([^.]*)$'
- match_type: regex
- name: freenas_graphite_${5}
- labels:
- job: freenas-graphite-raw
- instance: "${1}.${2}"
- item: "${6}"
- - match: 'servers\.([^_]*)_([^_]*)\.(.*)'
- match_type: regex
- name: freenas_graphite_raw
- labels:
- job: freenas-graphite-raw
- instance: "${1}.${2}"
- graphite_metric: "${5}"
- - match: 'sensor.*.*'
- name: sensor_${5}
- labels:
- job: esp32-sensors
- instance: ${1}.${2}
- Graphite-exporter mappings 2
- mappings:
- # ifstats mapping
- - match: 'servers\.(.*)\.interface-(.*)\.if_(.*)'
- match_type: regex
- name: 'truenas_interface_${3}'
- labels:
- hostname: ${1}
- device: ${2}
- # dataset metrics mapping
- - match: 'servers\.(.*)\.df-(.*)\.(.*)'
- match_type: regex
- name: 'truenas_dataset_${3}'
- labels:
- hostname: ${1}
- device: ${2}
- # memory metrics mapping
- - match: 'servers\.(.*)\.memory\.(.*)'
- match_type: regex
- name: 'truenas_${2}'
- labels:
- hostname: ${1}
- # zfs arc metrics mapping
- - match: 'servers\.(.*)\.zfs_arc\.(.*)'
- match_type: regex
- name: 'truenas_zfs_arc_${2}'
- labels:
- hostname: ${1}
- # processes metrics
- - match: 'servers\.(.*)\.processes\.(.*)'
- match_type: regex
- name: 'truenas_processes_${2}'
- labels:
- hostname: ${1}
- # LA metrics
- - match: 'servers\.(.*)\.load\.load\.(.*)'
- match_type: regex
- name: 'truenas_load_${2}'
- labels:
- hostname: ${1}
- # rrd cache metrics
- - match: 'servers\.(.*)\.rrdcached\.(.*)'
- match_type: regex
- name: 'truenas_rrdcached_${2}'
- labels:
- hostname: ${1}
- # swap metrics
- - match: 'servers\.(.*)\.swap\.(.*)'
- match_type: regex
- name: 'truenas_swap_${2}'
- labels:
- hostname: ${1}
- # uptime metric
- - match: 'servers\.(.*)\.uptime\.(.*)'
- match_type: regex
- name: 'truenas_uptime_${2}'
- labels:
- hostname: ${1}
- # disk metrics mapping
- - match: 'servers\.(.*)\.disk-(.*)\.(.*)\.(.*)'
- match_type: regex
- name: 'truenas_${3}_${4}'
- labels:
- hostname: ${1}
- device: ${2}
- # cpu and nfs metrics mapping
- - match: 'servers\.(.*)\.(.*)-(.*)\.(.*)'
- match_type: regex
- name: 'truenas_${2}_${4}'
- labels:
- hostname: ${1}
- device: ${3}
- Prometheus metrics
- # HELP scale_kjnas_system_ram_buffers Graphite metric scale_kjnas_system_ram_buffers
- # TYPE scale_kjnas_system_ram_buffers gauge
- scale_kjnas_system_ram_buffers 0.2109375
- # HELP scale_kjnas_system_ram_cached Graphite metric scale_kjnas_system_ram_cached
- # TYPE scale_kjnas_system_ram_cached gauge
- scale_kjnas_system_ram_cached 23555.27
- # HELP scale_kjnas_system_ram_free Graphite metric scale_kjnas_system_ram_free
- # TYPE scale_kjnas_system_ram_free gauge
- scale_kjnas_system_ram_free 1339.4609
- # HELP scale_kjnas_system_ram_used Graphite metric scale_kjnas_system_ram_used
- # TYPE scale_kjnas_system_ram_used gauge
- scale_kjnas_system_ram_used 6128.853
- # HELP scale_kjnas_system_uptime_uptime Graphite metric scale_kjnas_system_uptime_uptime
- # TYPE scale_kjnas_system_uptime_uptime gauge
- scale_kjnas_system_uptime_uptime 71668.45
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement