Advertisement
Guest User

Untitled

a guest
Jul 17th, 2024
210
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.31 KB | None | 0 0
  1. Docker Compose files:
  2.  
  3. Grafana
  4. version: "3.8"
  5. services:
  6. grafana:
  7. image: grafana/grafana
  8. container_name: grafana
  9. restart: unless-stopped
  10. ports:
  11. - '3000:3000'
  12. volumes:
  13. - grafana-storage:/var/lib/grafana
  14. volumes:
  15. grafana-storage: {}
  16.  
  17. Prometheus
  18. version: '3.8'
  19. services:
  20. prometheus:
  21. image: prom/prometheus
  22. container_name: prometheus
  23. command:
  24. - '--config.file=/etc/prometheus/prometheus.yml'
  25. ports:
  26. - 9090:9090
  27. restart: unless-stopped
  28. volumes:
  29. - ./prometheus:/etc/prometheus
  30. - prom_data:/prometheus
  31. volumes:
  32. prom_data:
  33.  
  34. Node-exporter
  35. ---
  36. version: "2.1"
  37. services:
  38. graphite:
  39. image: prom/graphite-exporter
  40. container_name: graphite
  41. command:
  42. - --graphite.mapping-config=/tmp/graphite_mapping.conf
  43. - --graphite.listen-address=:2003
  44. #- --log.level=debug
  45. volumes:
  46. - ./graphite_mapping.conf:/tmp/graphite_mapping.conf:ro
  47. ports:
  48. - "9108:9180"
  49. - "2003:2003/tcp"
  50. - "2003:2003/udp"
  51. restart: unless-stopped
  52. network_mode: "host"
  53.  
  54. Prometheus jobs:
  55.  
  56. global:
  57. scrape_interval: 15s
  58. scrape_timeout: 10s
  59. evaluation_interval: 15s
  60. alerting:
  61. alertmanagers:
  62. - static_configs:
  63. - targets: []
  64. scheme: http
  65. timeout: 10s
  66. api_version: v1
  67. scrape_configs:
  68. - job_name: srv04
  69. static_configs:
  70. - targets:
  71. - 192.168.50.46:9100
  72. - job_name: srv02
  73. static_configs:
  74. - targets:
  75. - 192.168.50.43:9100
  76. - job_name: truenas
  77. scrape_interval: 1m
  78. metrics_path: /metrics
  79. static_configs:
  80. - targets:
  81. - 192.168.50.48:9108
  82. honor_labels: true
  83.  
  84. Graphite-exporter mappings 1
  85. ---
  86. # All FreeNAS metrics start with server.<server_name>
  87. # https://www.truenas.com/community/threads/mapping-of-freenas-data-sent-to-graphite_exporter-part-of-prometheus.80948/
  88. # https://blog.bradbeattie.com/freenas-to-prometheus/
  89.  
  90. # Validate configuration with:
  91. # /path/to/graphite_exporter --check-config --graphite.mapping-config=/path/to/this_file.yml
  92. # graphite_exporter --check-config --graphite.mapping-config=files/configs/present/graphite_mapping-2.yml
  93.  
  94. # To develop mappings locally:
  95. # graphite_exporter --log.level=debug --graphite.mapping-config=
  96. # nc localhost 9109 < graphite-sample.txt
  97. # curl localhost:9108/metrics -s | grep ^freenas | less
  98.  
  99. # Mapping syntax is based on statsd_exporter.
  100. # https://github.com/prometheus/statsd_exporter#regular-expression-matching
  101.  
  102. mappings:
  103.  
  104. - match: 'servers\.([^_]*)_([^_]*)\.disktemp-(.*)\.temperature'
  105. match_type: regex
  106. name: "freenas_disk_temperature"
  107. labels:
  108. instance: '${1}.${2}'
  109. job: freenas-graphite
  110. disk: '${5}'
  111.  
  112. - match: 'servers\.([^_]*)_([^_]*)\.cputemp-(.*)\.temperature'
  113. match_type: regex
  114. name: "freenas_cpu_temperature"
  115. labels:
  116. instance: '${1}.${2}'
  117. job: freenas-graphite
  118. cpu: '${5}'
  119.  
  120. # When "Report CPU usage in percent" is NOT selected. (default)
  121. - match: 'servers\.([^_]*)_([^_]*)\.aggregation_cpu_(.*)\.percent-(.*)'
  122. match_type: regex
  123. name: "freenas_cpu_percent_${5}"
  124. labels:
  125. instance: '${1}.${2}'
  126. job: freenas-graphite
  127. mode: '${6}'
  128.  
  129. # When "Report CPU usage in percent" is selected.
  130. - match: 'servers\.([^_]*)_([^_]*)\.aggregation_cpu_(.*)\.cpu-(.*)'
  131. match_type: regex
  132. name: "freenas_cpu_usage_${5}"
  133. labels:
  134. instance: '${1}.${2}'
  135. job: freenas-graphite
  136. mode: '${6}'
  137.  
  138. # When "Report CPU usage in percent" is NOT selected. (default)
  139. - match: 'servers\.([^_]*)_([^_]*)\.cpu-(.*)\.cpu-(.*)'
  140. match_type: regex
  141. name: "freenas_cpu_usage"
  142. labels:
  143. instance: '${1}.${2}'
  144. job: freenas-graphite
  145. cpu: '${5}'
  146. mode: '${6}'
  147.  
  148. # When "Report CPU usage in percent" is selected.
  149. - match: 'servers\.([^_]*)_([^_]*)\.cpu-(.*)\.percent-(.*)'
  150. match_type: regex
  151. name: "freenas_cpu_percent"
  152. labels:
  153. instance: '${1}.${2}'
  154. job: freenas-graphite
  155. cpu: '${5}'
  156. mode: '${6}'
  157.  
  158. - match: 'servers\.([^_]*)_([^_]*)\.df-(.*)\.df_complex-(.*)'
  159. match_type: regex
  160. name: 'freenas_df_${6}'
  161. labels:
  162. instance: '${1}.${2}'
  163. job: freenas-graphite
  164. filesystem: '${5}'
  165.  
  166. - match: 'servers\.([^_]*)_([^_]*)\.disk-(.*)\.disk_(.*)\.(.*)'
  167. match_type: regex
  168. name: 'freenas_disk_${6}_${7}'
  169. labels:
  170. instance: '${1}.${2}'
  171. job: freenas-graphite
  172. device: '${5}'
  173.  
  174. - match: 'servers\.([^_]*)_([^_]*)\.interface-(.*)\.if_(.*)\.(.*)'
  175. match_type: regex
  176. name: 'freenas_interface_${7}_${6}'
  177. labels:
  178. instance: '${1}.${2}'
  179. job: freenas-graphite
  180. interface: '${5}'
  181.  
  182. - match: 'servers\.([^_]*)_([^_]*)\.load\.load\.longterm'
  183. match_type: regex
  184. name: 'freenas_load_15'
  185. labels:
  186. instance: '${1}.${2}'
  187. job: freenas-graphite
  188. - match: 'servers\.([^_]*)_([^_]*)\.load\.load\.midterm'
  189. match_type: regex
  190. name: 'freenas_load_5'
  191. labels:
  192. instance: '${1}.${2}'
  193. job: freenas-graphite
  194. - match: 'servers\.([^_]*)_([^_]*)\.load\.load\.shortterm'
  195. match_type: regex
  196. name: 'freenas_load_1'
  197. labels:
  198. instance: '${1}.${2}'
  199. job: freenas-graphite
  200.  
  201. - match: 'servers\.([^_]*)_([^_]*)\.memory\.memory-(.*)'
  202. match_type: regex
  203. name: 'freenas_memory_${5}'
  204. labels:
  205. instance: '${1}.${2}'
  206. job: freenas-graphite
  207.  
  208. - match: 'servers\.([^_]*)_([^_]*)\.swap\.swap-(.*)'
  209. match_type: regex
  210. name: 'freenas_swap_${5}'
  211. labels:
  212. instance: '${1}.${2}'
  213. job: freenas-graphite
  214.  
  215. - match: 'servers\.([^_]*)_([^_]*)\.uptime\.uptime'
  216. match_type: regex
  217. name: freenas_uptime
  218. labels:
  219. job: freenas-graphite
  220. instance: "${1}.${2}"
  221.  
  222. - match: 'servers\.([^_]*)_([^_]*)\.processes\.ps_state-(.*)'
  223. match_type: regex
  224. name: freenas_processes
  225. labels:
  226. job: freenas-graphite
  227. instance: "${1}.${2}"
  228. state: "${5}"
  229.  
  230. - match: 'servers\.([^_]*)_([^_]*)\.([^.]*)\.([^.]*)$'
  231. match_type: regex
  232. name: freenas_graphite_${5}
  233. labels:
  234. job: freenas-graphite-raw
  235. instance: "${1}.${2}"
  236. item: "${6}"
  237.  
  238. - match: 'servers\.([^_]*)_([^_]*)\.(.*)'
  239. match_type: regex
  240. name: freenas_graphite_raw
  241. labels:
  242. job: freenas-graphite-raw
  243. instance: "${1}.${2}"
  244. graphite_metric: "${5}"
  245.  
  246. - match: 'sensor.*.*'
  247. name: sensor_${5}
  248. labels:
  249. job: esp32-sensors
  250. instance: ${1}.${2}
  251.  
  252.  
  253. Graphite-exporter mappings 2
  254. mappings:
  255. # ifstats mapping
  256. - match: 'servers\.(.*)\.interface-(.*)\.if_(.*)'
  257. match_type: regex
  258. name: 'truenas_interface_${3}'
  259. labels:
  260. hostname: ${1}
  261. device: ${2}
  262. # dataset metrics mapping
  263. - match: 'servers\.(.*)\.df-(.*)\.(.*)'
  264. match_type: regex
  265. name: 'truenas_dataset_${3}'
  266. labels:
  267. hostname: ${1}
  268. device: ${2}
  269. # memory metrics mapping
  270. - match: 'servers\.(.*)\.memory\.(.*)'
  271. match_type: regex
  272. name: 'truenas_${2}'
  273. labels:
  274. hostname: ${1}
  275. # zfs arc metrics mapping
  276. - match: 'servers\.(.*)\.zfs_arc\.(.*)'
  277. match_type: regex
  278. name: 'truenas_zfs_arc_${2}'
  279. labels:
  280. hostname: ${1}
  281. # processes metrics
  282. - match: 'servers\.(.*)\.processes\.(.*)'
  283. match_type: regex
  284. name: 'truenas_processes_${2}'
  285. labels:
  286. hostname: ${1}
  287. # LA metrics
  288. - match: 'servers\.(.*)\.load\.load\.(.*)'
  289. match_type: regex
  290. name: 'truenas_load_${2}'
  291. labels:
  292. hostname: ${1}
  293. # rrd cache metrics
  294. - match: 'servers\.(.*)\.rrdcached\.(.*)'
  295. match_type: regex
  296. name: 'truenas_rrdcached_${2}'
  297. labels:
  298. hostname: ${1}
  299. # swap metrics
  300. - match: 'servers\.(.*)\.swap\.(.*)'
  301. match_type: regex
  302. name: 'truenas_swap_${2}'
  303. labels:
  304. hostname: ${1}
  305. # uptime metric
  306. - match: 'servers\.(.*)\.uptime\.(.*)'
  307. match_type: regex
  308. name: 'truenas_uptime_${2}'
  309. labels:
  310. hostname: ${1}
  311. # disk metrics mapping
  312. - match: 'servers\.(.*)\.disk-(.*)\.(.*)\.(.*)'
  313. match_type: regex
  314. name: 'truenas_${3}_${4}'
  315. labels:
  316. hostname: ${1}
  317. device: ${2}
  318. # cpu and nfs metrics mapping
  319. - match: 'servers\.(.*)\.(.*)-(.*)\.(.*)'
  320. match_type: regex
  321. name: 'truenas_${2}_${4}'
  322. labels:
  323. hostname: ${1}
  324. device: ${3}
  325.  
  326.  
  327. Prometheus metrics
  328.  
  329. # HELP scale_kjnas_system_ram_buffers Graphite metric scale_kjnas_system_ram_buffers
  330. # TYPE scale_kjnas_system_ram_buffers gauge
  331. scale_kjnas_system_ram_buffers 0.2109375
  332. # HELP scale_kjnas_system_ram_cached Graphite metric scale_kjnas_system_ram_cached
  333. # TYPE scale_kjnas_system_ram_cached gauge
  334. scale_kjnas_system_ram_cached 23555.27
  335. # HELP scale_kjnas_system_ram_free Graphite metric scale_kjnas_system_ram_free
  336. # TYPE scale_kjnas_system_ram_free gauge
  337. scale_kjnas_system_ram_free 1339.4609
  338. # HELP scale_kjnas_system_ram_used Graphite metric scale_kjnas_system_ram_used
  339. # TYPE scale_kjnas_system_ram_used gauge
  340. scale_kjnas_system_ram_used 6128.853
  341. # HELP scale_kjnas_system_uptime_uptime Graphite metric scale_kjnas_system_uptime_uptime
  342. # TYPE scale_kjnas_system_uptime_uptime gauge
  343. scale_kjnas_system_uptime_uptime 71668.45
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement