github.com/yankunsam/loki/v2@v2.6.3-0.20220817130409-389df5235c27/production/loki-mixin/dashboards/loki-writes-resources.libsonnet (about) 1 local grafana = import 'grafonnet/grafana.libsonnet'; 2 local utils = import 'mixin-utils/utils.libsonnet'; 3 4 (import 'dashboard-utils.libsonnet') { 5 local ingester_pod_matcher = if $._config.ssd.enabled then 'container="loki", pod=~"%s-write.*"' % $._config.ssd.pod_prefix_matcher else 'container="ingester"', 6 local ingester_job_matcher = if $._config.ssd.enabled then '%s-write' % $._config.ssd.pod_prefix_matcher else 'ingester', 7 8 grafanaDashboards+:: 9 { 10 'loki-writes-resources.json': 11 ($.dashboard('Loki / Writes Resources', uid='writes-resources')) 12 .addCluster() 13 .addNamespace() 14 .addTag() 15 .addRowIf( 16 $._config.internal_components, 17 $.row('Gateway') 18 .addPanel( 19 $.containerCPUUsagePanel('CPU', 'cortex-gw'), 20 ) 21 .addPanel( 22 $.containerMemoryWorkingSetPanel('Memory (workingset)', 'cortex-gw'), 23 ) 24 .addPanel( 25 $.goHeapInUsePanel('Memory (go heap inuse)', 'cortex-gw'), 26 ) 27 ) 28 .addRowIf( 29 !$._config.ssd.enabled, 30 $.row('Distributor') 31 .addPanel( 32 $.containerCPUUsagePanel('CPU', 'distributor'), 33 ) 34 .addPanel( 35 $.containerMemoryWorkingSetPanel('Memory (workingset)', 'distributor'), 36 ) 37 .addPanel( 38 $.goHeapInUsePanel('Memory (go heap inuse)', 'distributor'), 39 ) 40 ) 41 .addRow( 42 grafana.row.new(if $._config.ssd.enabled then 'Write path' else 'Ingester') 43 .addPanel( 44 $.panel('In-memory streams') + 45 $.queryPanel( 46 'sum by(%s) (loki_ingester_memory_streams{%s})' % [$._config.per_instance_label, $.jobMatcher(ingester_job_matcher)], 47 '{{%s}}' % $._config.per_instance_label 48 ) + 49 { 50 tooltip: { sort: 2 }, // Sort descending. 51 }, 52 ) 53 .addPanel( 54 $.CPUUsagePanel('CPU', ingester_pod_matcher), 55 ) 56 .addPanel( 57 $.memoryWorkingSetPanel('Memory (workingset)', ingester_pod_matcher), 58 ) 59 .addPanel( 60 $.goHeapInUsePanel('Memory (go heap inuse)', ingester_job_matcher), 61 ) 62 .addPanel( 63 $.panel('Disk Writes') + 64 $.queryPanel( 65 'sum by(%s, %s, device) (rate(node_disk_written_bytes_total[$__rate_interval])) + %s' % [$._config.per_node_label, $._config.per_instance_label, $.filterNodeDisk(ingester_pod_matcher)], 66 '{{%s}} - {{device}}' % $._config.per_instance_label 67 ) + 68 $.stack + 69 { yaxes: $.yaxes('Bps') }, 70 ) 71 .addPanel( 72 $.panel('Disk Reads') + 73 $.queryPanel( 74 'sum by(%s, %s, device) (rate(node_disk_read_bytes_total[$__rate_interval])) + %s' % [$._config.per_node_label, $._config.per_instance_label, $.filterNodeDisk(ingester_pod_matcher)], 75 '{{%s}} - {{device}}' % $._config.per_instance_label 76 ) + 77 $.stack + 78 { yaxes: $.yaxes('Bps') }, 79 ) 80 .addPanel( 81 $.containerDiskSpaceUtilizationPanel('Disk Space Utilization', ingester_job_matcher), 82 ) 83 ), 84 }, 85 }