Monitor infrastructure nodes and visualize it as graph
- setup
config/config.yml - (optional) setup
static/graphs/root.mermaidand other mermaid-files based on links from config-file - start the server by
docker compose up - open in browser by
http://localhost:8000/
- flowchart (https://mermaid.ai/open-source/syntax/flowchart.html)
- block (https://mermaid.ai/open-source/syntax/block.html)
label: name of projectui_update_interval: UI update frequency in secondsgraph_file: name of mermaid graph file inconfig/graph/folderdatabase_uri: local redis-compatible database addressdefaults: default values of node settingsupdate_interval: update node metric frequency in secondslevels: metric value levels settingnormal: condition for normal-status. If it defined, then metric status mode is normal/danger.warning: condition for normal-statusdanger: condition for normal-statusmeasurement: level measurement for output
notifications: notification settingsdelay: time shift before to notifymin_status: minimum metric statis for notificationrecipients: list of recipients. Supported: shell-command and emails (via smtp-link)
providers: setting for metric providers[name of provider]:type: type of provider. Supported:prometeusandplaintextmetric_source: URI or group of metric_source-settingsonly_for_inheritance: true/false - to use metric_source or leave it's as base settings for metricsdata_source: URI to metric data source or group of it partsuri: any supported link. Look at sample of URI syntax groupquery: query-part of uri (if it is http/https type). Primary for inheritance cases (useful in metrics part).body: body-part or uri (if it is http/https type)
request_timeout: request timeout in secondsupdate_interval: reload data frequency in secondsmask_re: perl regular expression with possible to extract:datetime,name,value,locationanddetails. Example: "^(?P<datetime>[^ ] [^ ])\s+(?P<name>[^\s]+)\s+(?P<value>[^\s]+)"node_name_attr: name of data frommask_rewhich will be used as node name (group metrics by nodes)value_source: specific source of metric value. Supported:http-code,exit-codedatetime_format: datetime pattern fordatetimeof data frommask_rerows_filter: condition
metrics: list of metric settings[name of metric]:metric_source: url or group of metric_source-settings (with inheritance of provider's block. filter downloaded data by provider or make request by modified url)levels: metric value levels setting for provider metric (structure same as indefaults)
nodes: setting for nodes tree[node name]: node namelabel: label of nodegraph_file: name of mermaid graph file of node childs inconfig/graph/folderchild_nodes_from_provider: list of links to provider metric[provider://iac-prometeus?filter=(location!='private')&node_name_attr=name,instance]
child_nodes: list of child nodes[child node name]: child node namemetric_source: URI or group of metric_source-settings (structure same as for providers)levels: metric value levels setting for provider metric (structure same as indefaults)
- https://google.com/
- file:///mnt/host_syslog
- shell://nc -z valkey 6379
- smtp://login:pasword@stmp.server:port?from=noreply@foo.com&to=user@foo.com