Add Loki #57

Merged
fyrchik merged 1 commit from achuprov/frostfs-dev-env:loki into master 2023-11-20 08:12:01 +00:00
6 changed files with 384 additions and 3 deletions

8
.env
View file

@ -12,11 +12,11 @@ NEOGO_VERSION=0.103.0
NEOGO_IMAGE=nspccdev/neo-go NEOGO_IMAGE=nspccdev/neo-go
# FrostFS InnerRing nodes # FrostFS InnerRing nodes
IR_VERSION=365a7ca0 IR_VERSION=0.37.0-rc.1-93-g364f835b
IR_IMAGE=truecloudlab/frostfs-ir IR_IMAGE=truecloudlab/frostfs-ir
# FrostFS Storage nodes # FrostFS Storage nodes
NODE_VERSION=365a7ca0 NODE_VERSION=0.37.0-rc.1-93-g364f835b
Review

Is it possible to fetch this and above images from public?

Is it possible to fetch this and above images from public?
Review

Yes, the image with that tag is available on Docker Hub

Yes, the image with that tag is available on [Docker Hub](https://hub.docker.com/r/truecloudlab/frostfs-storage/tags)
NODE_IMAGE=truecloudlab/frostfs-storage NODE_IMAGE=truecloudlab/frostfs-storage
# NATS Server # NATS Server
@ -64,3 +64,7 @@ PROMETHEUS_IMAGE=prom/prometheus
# Grafana versions # Grafana versions
GRAFANA_VERSION=9.5.6 GRAFANA_VERSION=9.5.6
GRAFANA_IMAGE=grafana/grafana GRAFANA_IMAGE=grafana/grafana
# Loki versions
LOKI_VERSION=2.9.1
LOKI_IMAGE=grafana/loki

View file

@ -1 +1,2 @@
IPV4_PREFIX.122 grafana.LOCAL_DOMAIN IPV4_PREFIX.122 grafana.LOCAL_DOMAIN
IPV4_PREFIX.123 loki.LOCAL_DOMAIN

View file

@ -17,6 +17,14 @@ services:
stop_signal: SIGKILL stop_signal: SIGKILL
env_file: [ ".env", ".int_test.env" ] env_file: [ ".env", ".int_test.env" ]
loki:
image: ${LOKI_IMAGE}:${LOKI_VERSION}
command: -config.file=/etc/loki/local-config.yaml
networks:
grafana_int:
internet:
ipv4_address: ${IPV4_PREFIX}.123
networks: networks:
grafana_int: grafana_int:
internet: internet:

View file

@ -0,0 +1,358 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"description": "Overview panel for all services",
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": {
"type": "loki",
"uid": "P8E80F9AEF21F6940"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 0
},
"id": 5,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "P8E80F9AEF21F6940"
},
"editorMode": "code",
"expr": "count_over_time({hostname=~\"$hostname\"} |~ \"$level\" |~ `$filter` [1s])",
"queryType": "range",
"refId": "A"
}
],
"title": "Log intensity",
"type": "timeseries"
},
{
"datasource": {
"type": "loki",
"uid": "P8E80F9AEF21F6940"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"custom": {
"align": "auto",
"cellOptions": {
"type": "auto"
},
"inspect": false
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "Time"
},
"properties": [
{
"id": "custom.width",
"value": 226
}
]
},
{
"matcher": {
"id": "byName",
"options": "labels"
},
"properties": [
{
"id": "custom.width",
"value": 424
}
]
}
]
},
"gridPos": {
"h": 11,
"w": 24,
"x": 0,
"y": 8
},
"id": 4,
"options": {
"cellHeight": "sm",
"footer": {
"countRows": false,
"fields": "",
"reducer": [
"sum"
],
"show": false
},
"showHeader": true,
"sortBy": []
},
"pluginVersion": "9.5.6",
"targets": [
{
"datasource": {
"type": "loki",
"uid": "P8E80F9AEF21F6940"
},
"editorMode": "code",
"expr": "{hostname=~\"$hostname\"} |~ `$filter` | json level |~ \"$level\"",
"queryType": "range",
"refId": "A"
}
],
"title": "Log",
"transformations": [
{
"id": "organize",
"options": {
"excludeByName": {
"id": true,
"tsNs": true
},
"indexByName": {},
"renameByName": {}
}
}
],
"type": "table"
}
],
"refresh": "",
"schemaVersion": 38,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"datasource": {
"type": "loki",
"uid": "P8E80F9AEF21F6940"
},
"definition": "",
"hide": 0,
"includeAll": true,
"label": "Hostname",
"multi": true,
"name": "hostname",
"options": [],
"query": {
"label": "hostname",
"refId": "LokiVariableQueryEditor-VariableQuery",
"stream": "",
"type": 1
},
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"sort": 0,
"type": "query"
},
{
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"label": "Level",
"multi": true,
"name": "level",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "debug",
"value": "debug"
},
{
"selected": false,
"text": "info",
"value": "info"
},
{
"selected": false,
"text": "warn",
"value": "warn"
},
{
"selected": false,
"text": "error",
"value": "error"
},
{
"selected": false,
"text": "dpanic",
"value": "dpanic"
},
{
"selected": false,
"text": "panic",
"value": "panic"
},
{
"selected": false,
"text": "fatal",
"value": "fatal"
}
],
"query": "debug,info,warn,error,dpanic,panic,fatal",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
},
{
"current": {
"selected": false,
"text": "",
"value": ""
},
"hide": 0,
"label": "Filter",
"name": "filter",
"options": [
{
"selected": true,
"text": "",
"value": ""
}
],
"query": "",
"skipUrlSync": false,
"type": "textbox"
}
]
},
"time": {
"from": "now-5m",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "Storage node logs",
"uid": "bef4b42d-c74e-4241-96cb-d239113f44bc",
"version": 1,
"weekStart": ""
}

View file

@ -6,3 +6,8 @@ datasources:
access: proxy access: proxy
orgId: 1 orgId: 1
url: http://prometheus:9090 url: http://prometheus:9090
- name: Loki
type: loki
access: proxy
orgId: 1
url: http://loki:3100

View file

@ -1,6 +1,11 @@
# Logger section # Logger section
logger: logger:
level: debug # Minimum enabled logging level level: debug # Minimum enabled logging level
loki:
enabled: true
endpoint: "loki.frostfs.devenv:3100/api/prom/push"
max_batch_delay: 1s
max_batch_size: 200
# Profiler section # Profiler section
pprof: pprof:
@ -14,7 +19,7 @@ prometheus:
address: :9090 # Server address address: :9090 # Server address
shutdown_timeout: 15s # Timeout for metrics HTTP server graceful shutdown shutdown_timeout: 15s # Timeout for metrics HTTP server graceful shutdown
# Application tracing section # Application tracing section
tracing: tracing:
enabled: true enabled: true
exporter: otlp_grpc exporter: otlp_grpc