diff --git a/grafana/rmf-app/grammar/RMFQuery.g4 b/grafana/rmf-app/grammar/RMFQuery.g4
index c2a5d61d..1a90f6de 100644
--- a/grafana/rmf-app/grammar/RMFQuery.g4
+++ b/grafana/rmf-app/grammar/RMFQuery.g4
@@ -30,15 +30,16 @@ Examples:
grammar RMFQuery;
-query: WS* RES_TYPE (DOT REPORT)? DOT identifier WS* qualifiers? WS* EOF;
+query: WS* RES_TYPE (DOT (REPORT | REPORTONLY | REPORTBANNER | REPORTCAPTION))? DOT identifier WS* qualifiers? WS* EOF;
// A workaround: some reports are also resource TYPES (e.g. CPC).
// In general, the problem is that we define keywords that are not distiguashable for antlr from
// string literals which we also support.
identifier: stringSpaced;
qualifiers: LBRACE WS* qualifier WS* (COMMA WS* qualifier WS*)* RBRACE;
-qualifier: ulq | name | filter | workscope;
+qualifier: ulq | name | filter | workscope | frame;
ulq: ULQ EQUAL string;
name: NAME EQUAL string;
+frame: FRAME EQUAL string;
filter: FILTER EQUAL filterValue;
filterValue: filterItem (SEMI filterItem)*;
filterItem: pat | lb | ub | hi | lo | ord;
@@ -54,14 +55,18 @@ workscopeValue: string? COMMA string? COMMA WORKSCOPE_TYPE;
// Another workaround: it won't work on token level.
number: INTEGER | DECIMAL;
stringUnquoted
- : IDENTIFIER | RES_TYPE | REPORT | WORKSCOPE | RANGE | ULQ | NAME | FILTER
- | PAT | LB | UB | HI | LO | ORD | ORD_OPTION | INTEGER | STRING_UNQUOTED;
+ : IDENTIFIER | RES_TYPE | REPORT | REPORTONLY | REPORTBANNER | REPORTCAPTION | WORKSCOPE | RANGE | ULQ | NAME | FILTER
+ | PAT | LB | UB | HI | LO | ORD | ORD_OPTION | INTEGER | STRING_UNQUOTED | FRAME;
stringSpaced: stringUnquoted (WS + stringUnquoted)*;
stringDotted: stringUnquoted (DOT stringUnquoted)*;
string: stringDotted | STRING_QUOTED;
+FRAME: F R A M E;
REPORT: R E P O R T;
+REPORTONLY: R E P O R T O N L Y;
+REPORTBANNER: R E P O R T B A N N E R;
+REPORTCAPTION: R E P O R T C A P T I O N;
WORKSCOPE: W O R K S C O P E;
RANGE: R A N G E;
ULQ: U L Q;
diff --git a/grafana/rmf-app/pkg/plugin/config.go b/grafana/rmf-app/pkg/plugin/config.go
index 5ab25b57..902d0112 100644
--- a/grafana/rmf-app/pkg/plugin/config.go
+++ b/grafana/rmf-app/pkg/plugin/config.go
@@ -44,12 +44,13 @@ type Config struct {
// Custom RMF settings.
CacheSizeRaw string `json:"cacheSize"`
// Legacy custom RMF settings. We should ge rid of these at some point.
- Server *string `json:"path"`
- Port string `json:"port"`
- SSL bool `json:"ssl"`
- Username string `json:"userName"`
- Password string `json:"password"`
- SSLVerify bool `json:"skipVerify"` // NB: the meaning of JSON field is inverted.
+ Server *string `json:"path"`
+ Port string `json:"port"`
+ SSL bool `json:"ssl"`
+ Username string `json:"userName"`
+ Password string `json:"password"`
+ SSLVerify bool `json:"skipVerify"` // NB: the meaning of JSON field is inverted.
+ OmegamonDs string `json:"omegamonDs"`
}
}
diff --git a/grafana/rmf-app/pkg/plugin/datasource.go b/grafana/rmf-app/pkg/plugin/datasource.go
index 4b052967..7a22eb06 100644
--- a/grafana/rmf-app/pkg/plugin/datasource.go
+++ b/grafana/rmf-app/pkg/plugin/datasource.go
@@ -23,6 +23,7 @@ import (
"errors"
"net/http"
"runtime/debug"
+ "slices"
"strings"
"sync"
"time"
@@ -63,6 +64,7 @@ type RMFDatasource struct {
frameCache *cache.FrameCache
ddsClient *dds.Client
single singleflight.Group
+ omegamonDs string
}
// NewRMFDatasource creates a new instance of the RMF datasource.
@@ -79,6 +81,7 @@ func NewRMFDatasource(ctx context.Context, settings backend.DataSourceInstanceSe
config.JSON.TlsSkipVerify, config.JSON.DisableCompression)
ds.channelCache = cache.NewChannelCache(ChannelCacheSizeMB)
ds.frameCache = cache.NewFrameCache(config.CacheSize)
+ ds.omegamonDs = config.JSON.OmegamonDs
logger.Info("initialized a datasource",
"uid", settings.UID, "name", settings.Name,
"url", config.URL, "timeout", config.Timeout, "cacheSize", config.CacheSize,
@@ -148,13 +151,28 @@ func (ds *RMFDatasource) CallResource(ctx context.Context, req *backend.CallReso
switch req.Path {
// FIXME: it's a contained.xml request for M3 resource tree. Re-factor accordingly.
case "variablequery":
- // Extract the query parameter from the POST request
- jsonStr := string(req.Body)
varRequest := VariableQueryRequest{}
- err := json.Unmarshal([]byte(jsonStr), &varRequest)
+ err := json.Unmarshal(req.Body, &varRequest)
if err != nil {
return log.ErrorWithId(logger, log.InternalError, "could not unmarshal data", "error", err)
}
+ q := varRequest.Query
+ q = strings.Trim(q, " ")
+ q = strings.ToLower(q)
+
+ switch q {
+ case "sysplex":
+ data, _ := ds.sysplexContainedJson()
+ return sender.Send(&backend.CallResourceResponse{Status: http.StatusOK, Body: data})
+ case "systems":
+ data, _ := ds.systemsContainedJson()
+ return sender.Send(&backend.CallResourceResponse{Status: http.StatusOK, Body: data})
+ case "omegamonds":
+ data, _ := ds.omegamonContainedJson()
+ return sender.Send(&backend.CallResourceResponse{Status: http.StatusOK, Body: data})
+ }
+
+ // Extract the query parameter from the POST request
ddsResource := varRequest.Query
if len(strings.TrimSpace(ddsResource)) == 0 {
return log.ErrorWithId(logger, log.InputError, "variable query cannot be blank")
@@ -184,6 +202,50 @@ func (ds *RMFDatasource) CallResource(ctx context.Context, req *backend.CallReso
}
}
+func (ds *RMFDatasource) sysplexContainedJson() ([]byte, error) {
+ sysplex := ds.ddsClient.GetSysplex()
+ return toContainedJson([]string{sysplex})
+}
+
+func (ds *RMFDatasource) systemsContainedJson() ([]byte, error) {
+ systems := ds.ddsClient.GetSystems()
+ slices.Sort(systems)
+ return toContainedJson(systems)
+}
+
+func (ds *RMFDatasource) omegamonContainedJson() ([]byte, error) {
+ return toContainedJson([]string{ds.omegamonDs})
+}
+
+func toContainedJson(resources []string) ([]byte, error) {
+ type Resource struct {
+ Reslabel string `json:"reslabel"`
+ }
+ type Contained struct {
+ Resource []Resource `json:"resource"`
+ }
+ type ContainedResource struct {
+ Contained Contained `json:"contained"`
+ }
+ type Ddsml struct {
+ ContainedResourcesList []ContainedResource `json:"containedResourcesList"`
+ }
+
+ contained := Contained{Resource: []Resource{}}
+ for _, res := range resources {
+ contained.Resource = append(contained.Resource, Resource{Reslabel: "," + res + ","})
+ }
+
+ var containedResource = ContainedResource{
+ Contained: contained,
+ }
+
+ result := Ddsml{
+ ContainedResourcesList: []ContainedResource{containedResource},
+ }
+ return json.Marshal(result)
+}
+
type RequestParams struct {
Resource struct {
Value string `json:"value"`
@@ -276,7 +338,7 @@ func (ds *RMFDatasource) QueryData(ctx context.Context, req *backend.QueryDataRe
r := dds.NewRequest(params.Resource.Value, q.TimeRange.From.UTC(), q.TimeRange.To.UTC(), mintime)
response = &backend.DataResponse{}
// FIXME: doesn't it need to be cached?
- if newFrame, err := ds.getFrame(r, false); err != nil {
+ if fms, err := ds.getFrame(r, false); err != nil {
var msg *dds.Message
if errors.As(err, &msg) {
response.Error = err
@@ -285,8 +347,14 @@ func (ds *RMFDatasource) QueryData(ctx context.Context, req *backend.QueryDataRe
response.Error = log.FrameErrorWithId(logger, err)
response.Status = backend.StatusInternal
}
- } else if newFrame != nil {
- response.Frames = append(response.Frames, newFrame)
+ } else if fms != nil {
+ if r.Frame < 0 {
+ for _, f := range fms {
+ response.Frames = append(response.Frames, f)
+ }
+ } else {
+ response.Frames = append(response.Frames, fms[r.Frame])
+ }
}
}
}
diff --git a/grafana/rmf-app/pkg/plugin/dds/client.go b/grafana/rmf-app/pkg/plugin/dds/client.go
index 7d47c293..a064b307 100644
--- a/grafana/rmf-app/pkg/plugin/dds/client.go
+++ b/grafana/rmf-app/pkg/plugin/dds/client.go
@@ -64,6 +64,8 @@ type Client struct {
httpClient *http.Client
headerMap *HeaderMap
timeData *TimeData
+ resource *Resource
+ systems []string
useXmlExt atomic.Bool
stopChan chan struct{}
@@ -247,7 +249,7 @@ func (c *Client) ensureTimeData() *TimeData {
func (c *Client) updateTimeData() *TimeData {
logger := log.Logger.With("func", "updateTimeData")
result, _, _ := c.single.Do("timeData", func() (any, error) {
- response, err := c.Get(PerformPath, "resource", ",,SYSPLEX", "id", "8D0D50")
+ response, err := c.Get(PerformPath, "resource", ",,SYSPLEX", "id", "8D0D60")
if err != nil {
logger.Error("unable to fetch DDS time data", "error", err)
return nil, err
@@ -257,8 +259,15 @@ func (c *Client) updateTimeData() *TimeData {
logger.Error("unable to fetch DDS time data", "error", "no time data in DDS response")
return nil, err
}
+ resource := response.Reports[0].Resource
+ if resource == nil {
+ logger.Error("unable to fetch DDS resource", "error", "no resource data in DDS response")
+ }
+ systems := response.Reports[0].GetRowNames()
c.rwMutex.Lock()
c.timeData = timeData
+ c.resource = resource
+ c.systems = systems
c.rwMutex.Unlock()
logger.Debug("DDS time data updated")
return timeData, nil
@@ -277,3 +286,16 @@ func (c *Client) GetCachedMintime() time.Duration {
}
return time.Duration(minTime) * time.Second
}
+
+func (c *Client) GetSysplex() string {
+ c.ensureTimeData()
+ if c.resource != nil {
+ return c.resource.GetName()
+ }
+ return ""
+}
+
+func (c *Client) GetSystems() []string {
+ c.ensureTimeData()
+ return c.systems
+}
diff --git a/grafana/rmf-app/pkg/plugin/dds/request.go b/grafana/rmf-app/pkg/plugin/dds/request.go
index c5106831..9469a522 100644
--- a/grafana/rmf-app/pkg/plugin/dds/request.go
+++ b/grafana/rmf-app/pkg/plugin/dds/request.go
@@ -20,6 +20,7 @@ package dds
import (
"fmt"
"net/url"
+ "strconv"
"strings"
"time"
@@ -29,11 +30,19 @@ import (
type Request struct {
Resource string
TimeRange data.TimeRange
+ Frame int
}
func NewRequest(res string, from time.Time, to time.Time, step time.Duration) *Request {
+ frame := -1
+ i := strings.Index(res, "&frame=")
+ if i > 0 {
+ frame, _ = strconv.Atoi(res[i+7 : i+8])
+ res = res[:i]
+ }
q := Request{Resource: res, TimeRange: data.TimeRange{From: from, To: to}}
q.Align(step)
+ q.Frame = frame
return &q
}
diff --git a/grafana/rmf-app/pkg/plugin/dds/response.go b/grafana/rmf-app/pkg/plugin/dds/response.go
index 65d731c6..d1cc8002 100644
--- a/grafana/rmf-app/pkg/plugin/dds/response.go
+++ b/grafana/rmf-app/pkg/plugin/dds/response.go
@@ -19,6 +19,7 @@ package dds
import (
"fmt"
+ "strings"
"time"
)
@@ -55,12 +56,23 @@ type Report struct {
Metric *Metric
Message *Message
Caption Caption
+ Resource *Resource `json:"resource"`
Headers struct {
Cols []Col `json:"col"`
} `json:"columnHeaders"`
Rows []Row `json:"row"`
}
+func (r Report) GetRowNames() []string {
+ var names []string
+ if r.Rows != nil {
+ for _, row := range r.Rows {
+ names = append(names, row.Cols[0])
+ }
+ }
+ return names
+}
+
type TimeData struct {
// FIXME: don't use these in report headers: they are in DDS timezone. Remove from the mapping.
LocalStart DateTime `json:"localStart"`
@@ -81,6 +93,19 @@ type TimeData struct {
} `json:"dataRange"`
}
+type Resource struct {
+ Reslabel string `json:"reslabel"`
+ Restype string `json:"restype"`
+}
+
+func (r Resource) GetName() string {
+ ss := strings.Split(r.Reslabel, ",")
+ if len(ss) > 1 {
+ return ss[1]
+ }
+ return r.Reslabel
+}
+
type DateTime struct {
time.Time
}
diff --git a/grafana/rmf-app/pkg/plugin/frame/frame.go b/grafana/rmf-app/pkg/plugin/frame/frame.go
index f85268d7..e7e913d3 100644
--- a/grafana/rmf-app/pkg/plugin/frame/frame.go
+++ b/grafana/rmf-app/pkg/plugin/frame/frame.go
@@ -50,45 +50,55 @@ func NoDataFrame(t time.Time) *data.Frame {
)
}
-func Build(ddsResponse *dds.Response, headers *dds.HeaderMap, wide bool) (*data.Frame, error) {
+func validateResponse(ddsResponse *dds.Response) error {
logger := log.Logger.With("func", "Build")
reportsNum := len(ddsResponse.Reports)
if reportsNum == 0 {
- return nil, errors.New("no reports in DDS response")
+ return errors.New("no reports in DDS response")
} else if reportsNum > 1 {
- return nil, fmt.Errorf("too many reports (%d) in DDS response", reportsNum)
+ return fmt.Errorf("too many reports (%d) in DDS response", reportsNum)
}
report := ddsResponse.Reports[0]
if message := report.Message; message != nil {
if _, ok := dds.AcceptableMessages[message.Id]; !ok {
- return nil, message
+ return message
} else {
logger.Debug(message.Error())
}
}
if report.TimeData == nil {
- return nil, errors.New("no time data in DDS response")
+ return errors.New("no time data in DDS response")
}
if report.Metric == nil {
- return nil, errors.New("no metric data in DDS response")
+ return errors.New("no metric data in DDS response")
}
if _, ok := dds.SupportedFormats[report.Metric.Format]; !ok {
- return nil, fmt.Errorf("unsupported data format (%s) in DDS response", report.Metric.Format)
+ return fmt.Errorf("unsupported data format (%s) in DDS response", report.Metric.Format)
}
+ return nil
+}
+func Build(ddsResponse *dds.Response, headers *dds.HeaderMap, wide bool) ([]*data.Frame, error) {
+ err := validateResponse(ddsResponse)
+ if err != nil {
+ return nil, err
+ }
+ report := ddsResponse.Reports[0]
format := report.Metric.Format
frameName := strings.Trim(report.Metric.Description, " ")
- var newFrame *data.Frame
if format == dds.ReportFormat {
- newFrame = buildForReport(&report, headers, frameName)
+ return buildForReport(&report, headers), nil
} else if wide {
- return buildWideForMetric(&report, frameName), nil
+ result := make([]*data.Frame, 1)
+ result[0] = buildWideForMetric(&report, frameName)
+ return result, nil
} else {
- return buildLongForMetric(&report, frameName), nil
+ result := make([]*data.Frame, 1)
+ result[0] = buildLongForMetric(&report, frameName)
+ return result, nil
}
- return newFrame, nil
}
// buildWideForMetric creates a time series data frame for a metric from pre-parsed DDS response.
@@ -181,32 +191,34 @@ func iterateMetricRows(report *dds.Report, defaultName string, process func(name
}
}
-func buildForReport(report *dds.Report, headers *dds.HeaderMap, frameName string) *data.Frame {
- logger := log.Logger.With("func", "buildForReport")
- frame := data.NewFrame(frameName)
+func buildForReport(report *dds.Report, headers *dds.HeaderMap) []*data.Frame {
reportName := report.Metric.Id
+ captionFrame := data.NewFrame("Caption::" + reportName)
+ intervalFrame := data.NewFrame("Banner::" + reportName)
+ reportFrame := data.NewFrame(reportName)
for i, col := range report.Headers.Cols {
header := headers.Get(reportName, col.Id)
- var field *data.Field
- // The first value is a dummy to fit in captions and header.
- if col.Type == dds.NumericColType {
- field = data.NewField(header, nil, []*float64{nil})
- } else {
- if col.Type != dds.TextColType {
- logger.Warn("unsupported column type, considering as string", "type", col.Type)
- }
- field = data.NewField(header, nil, []string{""})
- }
+ var field *data.Field = nil
for _, row := range report.Rows {
rawValue := row.Cols[i]
+ if field == nil {
+ if col.Type == dds.NumericColType {
+ field = data.NewField(header, nil, []float64{parseFloat2(rawValue)})
+ } else {
+ field = data.NewField(header, nil, []string{rawValue})
+ }
+ continue
+ }
if col.Type == dds.NumericColType {
- field.Append(parseFloat(rawValue))
+ field.Append(parseFloat2(rawValue))
} else {
field.Append(rawValue)
}
}
- frame.Fields = append(frame.Fields, field)
+ if field != nil {
+ reportFrame.Fields = append(reportFrame.Fields, field)
+ }
}
buildField := func(name string, prefix string, value string) *data.Field {
@@ -220,27 +232,31 @@ func buildForReport(report *dds.Report, headers *dds.HeaderMap, frameName string
timeData := report.TimeData
field := buildField("Samples", BannerPrefix, strconv.Itoa(timeData.NumSamples))
- frame.Fields = append(frame.Fields, field)
+ intervalFrame.Fields = append(intervalFrame.Fields, field)
if timeData.NumSystems != nil {
field = buildField("Systems", BannerPrefix, strconv.Itoa(*timeData.NumSystems))
- frame.Fields = append(frame.Fields, field)
+ intervalFrame.Fields = append(intervalFrame.Fields, field)
}
field = buildField("Time range", BannerPrefix,
fmt.Sprintf("%s - %s",
timeData.LocalStart.Format(ReportDateFormat),
timeData.LocalEnd.Format(ReportDateFormat)))
- frame.Fields = append(frame.Fields, field)
+ intervalFrame.Fields = append(intervalFrame.Fields, field)
field = buildField("Interval", BannerPrefix,
timeData.LocalEnd.Sub(timeData.LocalStart.Time).String())
- frame.Fields = append(frame.Fields, field)
+ intervalFrame.Fields = append(intervalFrame.Fields, field)
for _, caption := range report.Caption.Vars {
name := headers.Get(reportName, caption.Name)
field := buildField(name, CaptionPrefix, caption.Value)
- frame.Fields = append(frame.Fields, field)
+ captionFrame.Fields = append(captionFrame.Fields, field)
}
- return frame
+ result := make([]*data.Frame, 3)
+ result[0] = reportFrame
+ result[1] = intervalFrame
+ result[2] = captionFrame
+ return result
}
func parseFloat(value string) *float64 {
@@ -250,3 +266,11 @@ func parseFloat(value string) *float64 {
}
return nil
}
+
+func parseFloat2(value string) float64 {
+ // Value can contain different kinds of text meaning n/a: NaN, blank value, Deact, etc.
+ if parsed, err := strconv.ParseFloat(value, 64); err == nil && !math.IsNaN(parsed) {
+ return parsed
+ }
+ return 0.0
+}
diff --git a/grafana/rmf-app/pkg/plugin/frame/frame_test.go b/grafana/rmf-app/pkg/plugin/frame/frame_test.go
index 491e2b52..9d9f1e72 100644
--- a/grafana/rmf-app/pkg/plugin/frame/frame_test.go
+++ b/grafana/rmf-app/pkg/plugin/frame/frame_test.go
@@ -66,7 +66,7 @@ func TestFrame(t *testing.T) {
if assert.NoError(t, err, "failed to indent") {
frame, err := Build(testCase.DdsResponse, nil, testCase.Wide)
if err == nil {
- actualJson, _ := json.MarshalIndent(frame, "", " ")
+ actualJson, _ := json.MarshalIndent(frame[0], "", " ")
assert.JSONEq(t, expectedJson.String(), string(actualJson), "frames are not identical")
} else {
assert.Equal(t, testCase.ExpectedError, err.Error(), "unexpected error message")
diff --git a/grafana/rmf-app/pkg/plugin/query.go b/grafana/rmf-app/pkg/plugin/query.go
index 49e79f21..0fd39813 100644
--- a/grafana/rmf-app/pkg/plugin/query.go
+++ b/grafana/rmf-app/pkg/plugin/query.go
@@ -29,22 +29,22 @@ import (
"github.com/grafana/grafana-plugin-sdk-go/data"
)
-func (ds *RMFDatasource) getFrame(r *dds.Request, wide bool) (*data.Frame, error) {
- key := cache.FrameKey(r, wide)
+func (ds *RMFDatasource) getFrame(r *dds.Request, wide bool) ([]*data.Frame, error) {
+ key := cache.FrameKey(r, false)
result, err, _ := ds.single.Do(string(key), func() (interface{}, error) {
ddsResponse, err := ds.ddsClient.GetByRequest(r)
if err != nil {
return nil, err
}
headers := ds.ddsClient.GetCachedHeaders()
- f, err := frame.Build(ddsResponse, headers, wide)
+ fms, err := frame.Build(ddsResponse, headers, wide)
if err != nil {
return nil, err
}
- return f, nil
+ return fms, nil
})
if result != nil {
- return result.(*data.Frame), err
+ return result.([]*data.Frame), err
} else {
return nil, err
}
@@ -93,6 +93,7 @@ func (ds *RMFDatasource) getCachedTSFrames(r *dds.Request, stop time.Time, step
func (ds *RMFDatasource) serveTSFrame(ctx context.Context, sender *backend.StreamSender, fields frame.SeriesFields, r *dds.Request, hist bool) error {
logger := log.Logger.With("func", "serveTSFrame")
+ var fa []*data.Frame
var f *data.Frame
var err error
@@ -106,11 +107,12 @@ func (ds *RMFDatasource) serveTSFrame(ctx context.Context, sender *backend.Strea
time.Sleep(d)
}
logger.Debug("executing query", "request", r.String())
- f, err = ds.getFrame(r, true)
+ fa, err = ds.getFrame(r, true)
if err != nil {
logger.Error("failed to get data", "request", r.String(), "reason", err)
f = frame.NoDataFrame(r.TimeRange.To)
} else {
+ f = fa[0]
if !hist {
t, ok := f.Fields[0].At(0).(time.Time)
if !ok || t.Before(r.TimeRange.To) {
diff --git a/grafana/rmf-app/src/components/Root/Root.tsx b/grafana/rmf-app/src/components/Root/Root.tsx
index 330d525f..be0844a6 100644
--- a/grafana/rmf-app/src/components/Root/Root.tsx
+++ b/grafana/rmf-app/src/components/Root/Root.tsx
@@ -19,12 +19,12 @@ import { PanelContainer, Button, TextLink, Box, Icon, Alert } from '@grafana/ui'
import { locationService, getBackendSrv, getDataSourceSrv, getAppEvents } from '@grafana/runtime';
import { AppRootProps, AppEvents } from '@grafana/data';
-import { DDS_OPEN_METRICS_DOC_URL, DATA_SOURCE_TYPE, APP_LOGO_URL } from '../../constants';
+import { DDS_OPEN_METRICS_DOC_URL, DATA_SOURCE_TYPE, APP_LOGO_URL, FALCON_AS_DASHBOARD, FALCON_SYS_DASHBOARD } from '../../constants';
import { GlobalSettings } from '../../types';
import { DASHBOARDS as DDS_DASHBOARDS } from '../../dashboards/dds';
import { DASHBOARDS as PROM_DASHBOARDS } from '../../dashboards/prometheus';
import { findFolder, deleteFolder, installDashboards } from './utils';
-import { FolderStatus, Operation, OperCode, OperStatus } from './types';
+import { FolderStatus, Operation, OperCode, OperStatus, FalconStatus } from './types';
import { StatusIcon } from './StatusIcon';
import { Space } from './Space';
import { Header } from './Header';
@@ -40,6 +40,7 @@ interface Props extends AppRootProps {}
interface State {
dds: FolderStatus;
prom: FolderStatus;
+ falcon: FalconStatus;
}
export class Root extends PureComponent {
@@ -56,6 +57,11 @@ export class Root extends PureComponent {
installed: false,
operation: { code: OperCode.None, status: OperStatus.None },
},
+ falcon: {
+ enabled: false,
+ asDashboard: FALCON_AS_DASHBOARD,
+ sysDashboard: FALCON_SYS_DASHBOARD,
+ }
};
}
@@ -78,6 +84,9 @@ export class Root extends PureComponent {
installed: promFolderPath !== undefined,
folderPath: promFolderPath || PROM_FOLDER_NAME,
},
+ falcon: {
+ ...prevState.falcon,
+ }
}));
} catch (error) {
console.error('failed to update state', error);
@@ -113,7 +122,7 @@ export class Root extends PureComponent {
}));
};
- processFolder = async (folderUid: string, operCode: OperCode) => {
+ processFolder = async (folderUid: string, operCode: OperCode, falcon: FalconStatus) => {
const isDds = folderUid === DDS_FOLDER_UID;
const defaultFolderName = isDds ? DDS_FOLDER_NAME : PROM_FOLDER_NAME;
const dashboards = isDds ? DDS_DASHBOARDS : PROM_DASHBOARDS;
@@ -128,7 +137,7 @@ export class Root extends PureComponent {
await deleteFolder(folderUid);
}
if (operCode === OperCode.Reset || operCode === OperCode.Install) {
- await installDashboards(folderUid, defaultFolderName, dashboards);
+ await installDashboards(folderUid, defaultFolderName, dashboards, falcon);
}
this.setFolderState(isDds, {
code: operCode,
@@ -153,7 +162,7 @@ export class Root extends PureComponent {
};
render() {
- const { dds, prom } = this.state;
+ const { dds, prom, falcon } = this.state;
const isBusy = dds.operation.status === OperStatus.InProgress || prom.operation.status === OperStatus.InProgress;
return (
@@ -196,6 +205,23 @@ export class Root extends PureComponent {
[UID='{DDS_FOLDER_UID}']
+
+
+ Link it with OMEGAMON Falcon UI (Experimental):
+
+ {falcon.enabled = e.target.checked;}}/>
+
+
+ Address Space Details Dashboard:
+
+ {falcon.asDashboard = e.target.value;}}/>
+
+
+ LPAR Details Dashboard:
+
+ {falcon.sysDashboard = e.target.value;}}/>
+
+
@@ -213,7 +239,7 @@ export class Root extends PureComponent {
dds.operation.code === OperCode.Install || dds.operation.code === OperCode.Reset
)
: async () => {
- await this.processFolder(DDS_FOLDER_UID, OperCode.Install);
+ await this.processFolder(DDS_FOLDER_UID, OperCode.Install, falcon);
}
}
>
@@ -229,7 +255,7 @@ export class Root extends PureComponent {
fill="outline"
icon={'process'}
onClick={async () => {
- await this.processFolder(DDS_FOLDER_UID, OperCode.Reset);
+ await this.processFolder(DDS_FOLDER_UID, OperCode.Reset, falcon);
}}
>
Update / Reset
@@ -243,7 +269,7 @@ export class Root extends PureComponent {
fill="outline"
icon={'trash-alt'}
onClick={async () => {
- await this.processFolder(DDS_FOLDER_UID, OperCode.Delete);
+ await this.processFolder(DDS_FOLDER_UID, OperCode.Delete, falcon);
}}
>
Delete
@@ -289,7 +315,7 @@ export class Root extends PureComponent {
prom.operation.code === OperCode.Install || prom.operation.code === OperCode.Reset
)
: async () => {
- await this.processFolder(PROM_FOLDER_UID, OperCode.Install);
+ await this.processFolder(PROM_FOLDER_UID, OperCode.Install, falcon);
}
}
>
@@ -305,7 +331,7 @@ export class Root extends PureComponent {
fill="outline"
icon={'process'}
onClick={async () => {
- await this.processFolder(PROM_FOLDER_UID, OperCode.Reset);
+ await this.processFolder(PROM_FOLDER_UID, OperCode.Reset, falcon);
}}
>
Update / Reset
@@ -319,7 +345,7 @@ export class Root extends PureComponent {
fill="outline"
icon={'trash-alt'}
onClick={async () => {
- await this.processFolder(PROM_FOLDER_UID, OperCode.Delete);
+ await this.processFolder(PROM_FOLDER_UID, OperCode.Delete, falcon);
}}
>
Delete
diff --git a/grafana/rmf-app/src/components/Root/types.ts b/grafana/rmf-app/src/components/Root/types.ts
index 07ef1028..f2d9e1df 100644
--- a/grafana/rmf-app/src/components/Root/types.ts
+++ b/grafana/rmf-app/src/components/Root/types.ts
@@ -39,3 +39,9 @@ export interface FolderStatus {
installed: boolean;
operation: Operation;
}
+
+export interface FalconStatus {
+ enabled: boolean;
+ asDashboard: string
+ sysDashboard: string
+}
\ No newline at end of file
diff --git a/grafana/rmf-app/src/components/Root/utils.ts b/grafana/rmf-app/src/components/Root/utils.ts
index db110d49..bb7fd803 100644
--- a/grafana/rmf-app/src/components/Root/utils.ts
+++ b/grafana/rmf-app/src/components/Root/utils.ts
@@ -14,8 +14,15 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+import { FalconStatus } from './types';
+
const FOLDERS_API = '/api/folders';
const DASHBOARDS_API = '/api/dashboards/db';
+const RMF_DATASOURCE_EXPR = "${datasource}"
+const SYSPLEX_NAME = "sysplex";
+const LPAR = "LPAR";
+const OMEGAMON_DS = "OmegamonDs";
+const OMEG_PLEX_LPAR_MVSSYS_EXPR = "${" + SYSPLEX_NAME + "}:${" + LPAR + "}:MVSSYS";
// Don't use `getBackendSrv` to avoid built-in notifications: they won't work as we need them.
@@ -60,7 +67,13 @@ export async function deleteFolder(uid: string) {
}
}
-async function createDashboard(folderUid: string, dashboard: object) {
+async function createDashboard(folderUid: string, dashboard: object, falcon: FalconStatus) {
+ if (falcon.enabled && falconJobRelated(dashboard)) {
+ falconJobUpdate(falcon, dashboard);
+ }
+ if (falcon.enabled && falconSystemRelated(dashboard)) {
+ falconSystemUpdate(falcon, dashboard);
+ }
// Don't use `getBackendSrv` to avoid notifications
const res = await fetch(DASHBOARDS_API, {
method: 'POST',
@@ -74,10 +87,134 @@ async function createDashboard(folderUid: string, dashboard: object) {
}
}
-export async function installDashboards(folderUid: string, defaultFolderName: string, dashboards: object[]) {
+export async function installDashboards(folderUid: string, defaultFolderName: string, dashboards: object[], falcon: FalconStatus) {
const folderPath = await findFolder(folderUid);
if (folderPath === undefined) {
await createFolder(folderUid, defaultFolderName);
}
- await Promise.all(dashboards.map((dashboard) => createDashboard(folderUid, dashboard)));
+ await Promise.all(dashboards.map((dashboard) => createDashboard(folderUid, dashboard, falcon)));
+}
+
+export const FALCON_JOB_RELATED = [
+ "DELAY", "OPD", "PROC", "PROCU", "STOR", "STORC", "STORCR", "STORF", "STORM", "USAGE"
+];
+
+export const FALCON_SYSTEM_RELATED = [
+ ...FALCON_JOB_RELATED,
+ "CHANNEL", "CPC", "DELAY", "DEV", "DEVR", "DSND", "EADM", "ENCLAVE", "ENQ", "HSM", "JES", "IOQ", "LOCKSP", "LOCKSU",
+ "OPD", "PCIE", "PROC", "PROCU", "STOR", "STORC", "STORCR", "STORF", "STORM", "STORR", "STORS", "SYSINFO", "USAGE",
+ "Overall Image Activity", "Overall Image Activity (Timeline)",
+];
+
+function falconJobRelated(dashboard: any): boolean {
+ return FALCON_JOB_RELATED.indexOf(dashboard.title) > -1;
}
+
+function falconSystemRelated(dashboard: any): boolean {
+ return FALCON_SYSTEM_RELATED.indexOf(dashboard.title) > -1;
+}
+
+function addVars(dashboard: any) {
+ var sysplex_name_exist: boolean = false;
+ var omegamon_ds_exist: boolean = false;
+ dashboard.templating.list.forEach((t: any) => {
+ if (t.name === LPAR) {
+ t.query = "systems";
+ t.definition = t.query;
+ }
+ if (t.name === SYSPLEX_NAME) {
+ sysplex_name_exist = true;
+ }
+ if (t.name === OMEGAMON_DS) {
+ omegamon_ds_exist = true;
+ }
+ })
+
+ if (!sysplex_name_exist) {
+ dashboard.templating.list.push({
+ name: SYSPLEX_NAME,
+ datasource: {
+ type: "ibm-rmf-datasource",
+ uid: RMF_DATASOURCE_EXPR
+ },
+ type: "query",
+ query: "sysplex",
+ hide: 1,
+ includeAll: false,
+ multi: false,
+ allowCustomValue: false,
+ })
+ }
+
+ if (!omegamon_ds_exist) {
+ dashboard.templating.list.push({
+ name: OMEGAMON_DS,
+ label: "OMEGAMON Data source",
+ description: "OMEGAMON Data source (optional)",
+ datasource: {
+ type: "ibm-rmf-datasource",
+ uid: RMF_DATASOURCE_EXPR
+ },
+ type: "query",
+ query: "OmegamonDs",
+ hide: 2,
+ includeAll: false,
+ multi: false,
+ allowCustomValue: false,
+ })
+ }
+
+}
+
+function falconJobUpdate(falcon: FalconStatus, dashboard: any) {
+ addVars(dashboard);
+
+ const JOB_NAME_EXPR = "${__data.fields[\"Job Name\"]}";
+ const ASID_EXPR = "${__data.fields[\"ASID (dec)\"]}";
+ let baseUrl = falcon.asDashboard;
+ if (baseUrl.indexOf("?") > -1) {
+ baseUrl += "&";
+ } else {
+ baseUrl += "?";
+ }
+
+ dashboard.panels.forEach((p: any) => {
+ p.fieldConfig.defaults.links = [];
+ p.fieldConfig.defaults.links.push({
+ targetBlank: true,
+ title: "OMEGAMON details for " + JOB_NAME_EXPR,
+ url: baseUrl + "var-dataSource=${" + OMEGAMON_DS + "}"
+ + "&var-managedSystem=" + OMEG_PLEX_LPAR_MVSSYS_EXPR
+ + "&var-_addressSpaceName=" + JOB_NAME_EXPR
+ + "&var-_ASID=" + ASID_EXPR
+ + "&var-_iAddressSpaceName=" + JOB_NAME_EXPR
+ + "&var-_iASID=" + ASID_EXPR
+ + "&from=$__from"
+ + "&to=$__to",
+ });
+ });
+}
+
+function falconSystemUpdate(falcon: FalconStatus, dashboard: any) {
+ addVars(dashboard);
+ let baseUrl = falcon.sysDashboard;
+ if (baseUrl.indexOf("?") > -1) {
+ baseUrl += "&";
+ } else {
+ baseUrl += "?";
+ }
+
+ if (!dashboard.links) {
+ dashboard.links = [];
+ }
+
+ dashboard.links.push({
+ type: "link",
+ icon: "dashboard",
+ keepTime: true,
+ targetBlank: true,
+ title: "z/OS Enterprise Overview",
+ url: baseUrl + "var-dataSource=${" + OMEGAMON_DS + "}"
+ + "&var-managedSystem=" + OMEG_PLEX_LPAR_MVSSYS_EXPR,
+ });
+}
\ No newline at end of file
diff --git a/grafana/rmf-app/src/constants.ts b/grafana/rmf-app/src/constants.ts
index 4d388c6f..17a0c99b 100644
--- a/grafana/rmf-app/src/constants.ts
+++ b/grafana/rmf-app/src/constants.ts
@@ -27,3 +27,5 @@ export const DATA_SOURCE_TYPE = dataSourcePluginJson.id;
export const DATA_SOURCE_NAME = dataSourcePluginJson.name;
export const DDS_OPEN_METRICS_DOC_URL =
'https://www.ibm.com/docs/en/zos/3.1.0?topic=functions-setting-up-distributed-data-server-zos';
+export const FALCON_AS_DASHBOARD = "d/ees8cbtsyfshse/job-cpu-details";
+export const FALCON_SYS_DASHBOARD = "d/eefk6eunuubk0e/z-os-enterprise-overview";
\ No newline at end of file
diff --git a/grafana/rmf-app/src/dashboards/dds/CACHDET.json b/grafana/rmf-app/src/dashboards/dds/CACHDET.json
index 8b3b3787..c90437ea 100644
--- a/grafana/rmf-app/src/dashboards/dds/CACHDET.json
+++ b/grafana/rmf-app/src/dashboards/dds/CACHDET.json
@@ -53,7 +53,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "Control Unit Cache Details",
"fieldConfig": {
@@ -96,7 +96,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "a30ba0f0-e67a-44b0-bfe6-3b437603e414",
@@ -391,15 +391,15 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
- "description": "Sysplex",
+ "description": "Data source",
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -407,6 +407,25 @@
"regex": "",
"skipUrlSync": false,
"type": "datasource"
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
}
]
},
diff --git a/grafana/rmf-app/src/dashboards/dds/CACHSUM.json b/grafana/rmf-app/src/dashboards/dds/CACHSUM.json
index 1c8c116c..a6f469aa 100644
--- a/grafana/rmf-app/src/dashboards/dds/CACHSUM.json
+++ b/grafana/rmf-app/src/dashboards/dds/CACHSUM.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "Control Unit Cache Summary",
"fieldConfig": {
@@ -96,7 +96,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "0a230d99-a837-4aff-b520-3b6c68d5a8e0",
@@ -353,15 +353,15 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
- "description": "Sysplex",
+ "description": "Data source",
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -369,6 +369,25 @@
"regex": "",
"skipUrlSync": false,
"type": "datasource"
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
}
]
},
diff --git a/grafana/rmf-app/src/dashboards/dds/CFACT.json b/grafana/rmf-app/src/dashboards/dds/CFACT.json
index 9eb021ca..c61315ae 100644
--- a/grafana/rmf-app/src/dashboards/dds/CFACT.json
+++ b/grafana/rmf-app/src/dashboards/dds/CFACT.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "Coupling Facility Activity",
"fieldConfig": {
@@ -95,7 +95,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "26f5f14b-f506-4c31-907c-9f32ccd314e4",
@@ -406,15 +406,15 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
- "description": "Sysplex",
+ "description": "Data source",
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -422,6 +422,25 @@
"regex": "",
"skipUrlSync": false,
"type": "datasource"
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
}
]
},
diff --git a/grafana/rmf-app/src/dashboards/dds/CFOVER.json b/grafana/rmf-app/src/dashboards/dds/CFOVER.json
index 1896fb2b..70aeed01 100644
--- a/grafana/rmf-app/src/dashboards/dds/CFOVER.json
+++ b/grafana/rmf-app/src/dashboards/dds/CFOVER.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "Coupling Facility Overview",
"fieldConfig": {
@@ -95,7 +95,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "0c882408-b619-4f60-a8a3-37be2c38af18",
@@ -302,15 +302,15 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
- "description": "Sysplex",
+ "description": "Data source",
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -318,6 +318,25 @@
"regex": "",
"skipUrlSync": false,
"type": "datasource"
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
}
]
},
diff --git a/grafana/rmf-app/src/dashboards/dds/CFSYS.json b/grafana/rmf-app/src/dashboards/dds/CFSYS.json
index 7845b22d..fceb1eed 100644
--- a/grafana/rmf-app/src/dashboards/dds/CFSYS.json
+++ b/grafana/rmf-app/src/dashboards/dds/CFSYS.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "Coupling Facility Systems View",
"fieldConfig": {
@@ -95,7 +95,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "c699b2d0-fa49-4b45-bae9-913739728e44",
@@ -297,15 +297,15 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
- "description": "Sysplex",
+ "description": "Data source",
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -313,6 +313,25 @@
"regex": "",
"skipUrlSync": false,
"type": "datasource"
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
}
]
},
diff --git a/grafana/rmf-app/src/dashboards/dds/CHANNEL.json b/grafana/rmf-app/src/dashboards/dds/CHANNEL.json
index 3d3888f2..ceae07b8 100644
--- a/grafana/rmf-app/src/dashboards/dds/CHANNEL.json
+++ b/grafana/rmf-app/src/dashboards/dds/CHANNEL.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "I/O Channels",
"fieldConfig": {
@@ -93,7 +93,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "9f386c5a-cffd-4367-8065-189a5e4fe925",
@@ -142,14 +142,14 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -161,15 +161,34 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
},
- "definition": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "definition": "systems",
"hide": 0,
"includeAll": false,
"multi": false,
"name": "LPAR",
"options": [],
- "query": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "query": "systems",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
diff --git a/grafana/rmf-app/src/dashboards/dds/CPC.json b/grafana/rmf-app/src/dashboards/dds/CPC.json
index 61808ddc..1658e384 100644
--- a/grafana/rmf-app/src/dashboards/dds/CPC.json
+++ b/grafana/rmf-app/src/dashboards/dds/CPC.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "Central Processor Complex",
"fieldConfig": {
@@ -93,7 +93,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "de465562-c3f1-4548-93fb-d19e0cdb70e6",
@@ -304,14 +304,14 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -323,15 +323,34 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
},
- "definition": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "definition": "systems",
"hide": 0,
"includeAll": false,
"multi": false,
"name": "LPAR",
"options": [],
- "query": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "query": "systems",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
diff --git a/grafana/rmf-app/src/dashboards/dds/CRYOVW.json b/grafana/rmf-app/src/dashboards/dds/CRYOVW.json
index 8281d798..7c84938d 100644
--- a/grafana/rmf-app/src/dashboards/dds/CRYOVW.json
+++ b/grafana/rmf-app/src/dashboards/dds/CRYOVW.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "Crypto Hardware Overview",
"fieldConfig": {
@@ -95,7 +95,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "8ad04b33-d007-4e2c-866c-7f2dbeb9b6be",
@@ -324,15 +324,15 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"description": "Sysplex",
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -340,6 +340,25 @@
"regex": "",
"skipUrlSync": false,
"type": "datasource"
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
}
]
},
diff --git a/grafana/rmf-app/src/dashboards/dds/Common Storage Activity (Timeline).json b/grafana/rmf-app/src/dashboards/dds/Common Storage Activity (Timeline).json
index 675e60c9..33ef0a97 100644
--- a/grafana/rmf-app/src/dashboards/dds/Common Storage Activity (Timeline).json
+++ b/grafana/rmf-app/src/dashboards/dds/Common Storage Activity (Timeline).json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -129,7 +129,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -151,7 +151,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"loadDataSource": "METRICS",
@@ -178,7 +178,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -259,7 +259,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -281,7 +281,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"loadDataSource": "METRICS",
@@ -308,7 +308,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -385,7 +385,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "e0bde46f-4da8-44b3-9d7a-47a1885e9c4c",
@@ -403,7 +403,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -480,7 +480,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "38368e80-de64-4bac-ae20-c18a53ad82e6",
@@ -505,14 +505,14 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -520,6 +520,25 @@
"regex": "",
"skipUrlSync": false,
"type": "datasource"
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
}
]
},
diff --git a/grafana/rmf-app/src/dashboards/dds/Common Storage Activity.json b/grafana/rmf-app/src/dashboards/dds/Common Storage Activity.json
index 00bcdc3b..3529c97c 100644
--- a/grafana/rmf-app/src/dashboards/dds/Common Storage Activity.json
+++ b/grafana/rmf-app/src/dashboards/dds/Common Storage Activity.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -171,7 +171,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -193,7 +193,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"loadDataSource": "METRICS",
@@ -229,7 +229,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -343,7 +343,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -365,7 +365,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"loadDataSource": "METRICS",
@@ -401,7 +401,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -497,7 +497,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -523,7 +523,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -621,7 +621,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -659,9 +659,9 @@
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -669,6 +669,25 @@
"regex": "",
"skipUrlSync": false,
"type": "datasource"
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
}
]
},
diff --git a/grafana/rmf-app/src/dashboards/dds/Coupling Facility Overview (Timeline).json b/grafana/rmf-app/src/dashboards/dds/Coupling Facility Overview (Timeline).json
index ebcaf8e9..29fc475f 100644
--- a/grafana/rmf-app/src/dashboards/dds/Coupling Facility Overview (Timeline).json
+++ b/grafana/rmf-app/src/dashboards/dds/Coupling Facility Overview (Timeline).json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "",
"fieldConfig": {
@@ -137,7 +137,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -164,7 +164,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "",
"fieldConfig": {
@@ -248,7 +248,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -275,7 +275,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "",
"fieldConfig": {
@@ -359,7 +359,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -381,7 +381,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"refId": "B",
@@ -408,14 +408,14 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -423,6 +423,25 @@
"regex": "",
"skipUrlSync": false,
"type": "datasource"
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
}
]
},
diff --git a/grafana/rmf-app/src/dashboards/dds/Coupling Facility Overview.json b/grafana/rmf-app/src/dashboards/dds/Coupling Facility Overview.json
index 67a4ab70..4601f4f3 100644
--- a/grafana/rmf-app/src/dashboards/dds/Coupling Facility Overview.json
+++ b/grafana/rmf-app/src/dashboards/dds/Coupling Facility Overview.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "",
"fieldConfig": {
@@ -155,7 +155,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -182,7 +182,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "",
"fieldConfig": {
@@ -273,7 +273,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -300,7 +300,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "",
"fieldConfig": {
@@ -415,7 +415,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -437,7 +437,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"refId": "B",
@@ -480,9 +480,9 @@
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -490,6 +490,25 @@
"regex": "",
"skipUrlSync": false,
"type": "datasource"
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
}
]
},
diff --git a/grafana/rmf-app/src/dashboards/dds/DELAY.json b/grafana/rmf-app/src/dashboards/dds/DELAY.json
index e789a543..46971326 100644
--- a/grafana/rmf-app/src/dashboards/dds/DELAY.json
+++ b/grafana/rmf-app/src/dashboards/dds/DELAY.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "All kinds of delays",
"fieldConfig": {
@@ -93,7 +93,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "b91a33da-135f-44a5-cfed-b3689f07856b",
@@ -122,7 +122,7 @@
"% Delay Mount": true,
"% Delay Quiesce": true,
"% Delay XCF": true,
- "ASID (dec)": true,
+ "ASID (dec)": false,
"Channel Measurement Group": true,
"FICON Deferred Operation Rate": true,
"LPAR MSG Rate": true,
@@ -155,14 +155,14 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -174,15 +174,34 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
},
- "definition": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "definition": "systems",
"hide": 0,
"includeAll": false,
"multi": false,
"name": "LPAR",
"options": [],
- "query": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "query": "systems",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
diff --git a/grafana/rmf-app/src/dashboards/dds/DEV.json b/grafana/rmf-app/src/dashboards/dds/DEV.json
index 76e901c1..65fd2089 100644
--- a/grafana/rmf-app/src/dashboards/dds/DEV.json
+++ b/grafana/rmf-app/src/dashboards/dds/DEV.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "Device delays",
"fieldConfig": {
@@ -93,7 +93,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "b088b1b8-86f7-4a06-ed7c-33f4859c3030",
@@ -159,14 +159,14 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -178,15 +178,34 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
},
- "definition": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "definition": "systems",
"hide": 0,
"includeAll": false,
"multi": false,
"name": "LPAR",
"options": [],
- "query": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "query": "systems",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
diff --git a/grafana/rmf-app/src/dashboards/dds/DEVR.json b/grafana/rmf-app/src/dashboards/dds/DEVR.json
index 9e034da9..f5fe7548 100644
--- a/grafana/rmf-app/src/dashboards/dds/DEVR.json
+++ b/grafana/rmf-app/src/dashboards/dds/DEVR.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "Device Resource Delays",
"fieldConfig": {
@@ -93,7 +93,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "5e502a01-3a37-4873-94ff-7b635ecaee3a",
@@ -190,14 +190,14 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -209,15 +209,34 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
},
- "definition": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "definition": "systems",
"hide": 0,
"includeAll": false,
"multi": false,
"name": "LPAR",
"options": [],
- "query": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "query": "systems",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
diff --git a/grafana/rmf-app/src/dashboards/dds/DSND.json b/grafana/rmf-app/src/dashboards/dds/DSND.json
index e6639037..a963352c 100644
--- a/grafana/rmf-app/src/dashboards/dds/DSND.json
+++ b/grafana/rmf-app/src/dashboards/dds/DSND.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "Dataset Delays",
"fieldConfig": {
@@ -93,7 +93,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "1f674985-8c23-483d-bf70-7d637d6e262",
@@ -142,14 +142,14 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -161,15 +161,34 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
},
- "definition": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "definition": "systems",
"hide": 0,
"includeAll": false,
"multi": false,
"name": "LPAR",
"options": [],
- "query": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "query": "systems",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
diff --git a/grafana/rmf-app/src/dashboards/dds/EADM.json b/grafana/rmf-app/src/dashboards/dds/EADM.json
index 89f2733b..3815f3fd 100644
--- a/grafana/rmf-app/src/dashboards/dds/EADM.json
+++ b/grafana/rmf-app/src/dashboards/dds/EADM.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "Extended Asynchronous Data Mover",
"fieldConfig": {
@@ -93,7 +93,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "dda59d24-7686-49e6-b45f-0f8e5b449dee",
@@ -156,14 +156,14 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -175,15 +175,34 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
},
- "definition": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "definition": "systems",
"hide": 0,
"includeAll": false,
"multi": false,
"name": "LPAR",
"options": [],
- "query": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "query": "systems",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
diff --git a/grafana/rmf-app/src/dashboards/dds/ENCLAVE.json b/grafana/rmf-app/src/dashboards/dds/ENCLAVE.json
index e660dc6e..86321333 100644
--- a/grafana/rmf-app/src/dashboards/dds/ENCLAVE.json
+++ b/grafana/rmf-app/src/dashboards/dds/ENCLAVE.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "Enclaves",
"fieldConfig": {
@@ -93,7 +93,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "87fa8279-0f6c-425e-835d-652e59e29ed9",
@@ -305,14 +305,14 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -324,15 +324,34 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
},
- "definition": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "definition": "systems",
"hide": 0,
"includeAll": false,
"multi": false,
"name": "LPAR",
"options": [],
- "query": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "query": "systems",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
diff --git a/grafana/rmf-app/src/dashboards/dds/ENQ.json b/grafana/rmf-app/src/dashboards/dds/ENQ.json
index 97f791f5..af1567ee 100644
--- a/grafana/rmf-app/src/dashboards/dds/ENQ.json
+++ b/grafana/rmf-app/src/dashboards/dds/ENQ.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "Enqueue Delays",
"fieldConfig": {
@@ -93,7 +93,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "2e245147-c660-4f64-bcaf-326ba6d434ac",
@@ -142,14 +142,14 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -161,15 +161,34 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
},
- "definition": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "definition": "systems",
"hide": 0,
"includeAll": false,
"multi": false,
"name": "LPAR",
"options": [],
- "query": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "query": "systems",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
diff --git a/grafana/rmf-app/src/dashboards/dds/Execution Velocity (Timeline).json b/grafana/rmf-app/src/dashboards/dds/Execution Velocity (Timeline).json
index 7a56b535..2e33ecc5 100644
--- a/grafana/rmf-app/src/dashboards/dds/Execution Velocity (Timeline).json
+++ b/grafana/rmf-app/src/dashboards/dds/Execution Velocity (Timeline).json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -137,7 +137,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -159,7 +159,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"loadDataSource": "METRICS",
@@ -187,7 +187,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -265,7 +265,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -298,14 +298,14 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -313,6 +313,25 @@
"regex": "",
"skipUrlSync": false,
"type": "datasource"
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
}
]
},
diff --git a/grafana/rmf-app/src/dashboards/dds/Execution Velocity.json b/grafana/rmf-app/src/dashboards/dds/Execution Velocity.json
index 1964f757..08eb46ea 100644
--- a/grafana/rmf-app/src/dashboards/dds/Execution Velocity.json
+++ b/grafana/rmf-app/src/dashboards/dds/Execution Velocity.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -167,7 +167,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -189,7 +189,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"loadDataSource": "METRICS",
@@ -225,7 +225,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -318,7 +318,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -359,9 +359,9 @@
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -369,6 +369,25 @@
"regex": "",
"skipUrlSync": false,
"type": "datasource"
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
}
]
},
diff --git a/grafana/rmf-app/src/dashboards/dds/General Activity (Timeline).json b/grafana/rmf-app/src/dashboards/dds/General Activity (Timeline).json
index 3dfd8020..be267f9a 100644
--- a/grafana/rmf-app/src/dashboards/dds/General Activity (Timeline).json
+++ b/grafana/rmf-app/src/dashboards/dds/General Activity (Timeline).json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -129,7 +129,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "b6137830-43ac-4fec-b516-07e80b0ab57a",
@@ -143,7 +143,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"refId": "B",
@@ -162,7 +162,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -239,7 +239,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "923072ca-7c82-42af-ea41-8c254f58da85",
@@ -253,7 +253,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"refId": "B",
@@ -268,7 +268,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"refId": "C",
@@ -287,7 +287,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -364,7 +364,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "ab8cdb99-7217-42df-e6c1-a1602887bbd8",
@@ -382,7 +382,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -459,7 +459,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "8cede5b5-8778-4862-8b7e-f476a6b9e56a",
@@ -484,14 +484,14 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -499,6 +499,25 @@
"regex": "",
"skipUrlSync": false,
"type": "datasource"
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
}
]
},
diff --git a/grafana/rmf-app/src/dashboards/dds/General Activity.json b/grafana/rmf-app/src/dashboards/dds/General Activity.json
index db70fe1e..c4b16dee 100644
--- a/grafana/rmf-app/src/dashboards/dds/General Activity.json
+++ b/grafana/rmf-app/src/dashboards/dds/General Activity.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -161,7 +161,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -183,7 +183,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"loadDataSource": "METRICS",
@@ -219,7 +219,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "",
"fieldConfig": {
@@ -302,7 +302,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -324,7 +324,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"loadDataSource": "METRICS",
@@ -347,7 +347,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"loadDataSource": "METRICS",
@@ -375,7 +375,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -468,7 +468,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -494,7 +494,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -587,7 +587,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -625,9 +625,9 @@
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -635,6 +635,25 @@
"regex": "",
"skipUrlSync": false,
"type": "datasource"
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
}
]
},
diff --git a/grafana/rmf-app/src/dashboards/dds/HSM.json b/grafana/rmf-app/src/dashboards/dds/HSM.json
index 4a03d484..ada9eaa0 100644
--- a/grafana/rmf-app/src/dashboards/dds/HSM.json
+++ b/grafana/rmf-app/src/dashboards/dds/HSM.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "Hierarchical Storage Manager Delays",
"fieldConfig": {
@@ -93,7 +93,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "4ca5f811-7ce7-4cb5-9c8e-e82c744f7689",
@@ -149,14 +149,14 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -168,15 +168,34 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
},
- "definition": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "definition": "systems",
"hide": 0,
"includeAll": false,
"multi": false,
"name": "LPAR",
"options": [],
- "query": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "query": "systems",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
diff --git a/grafana/rmf-app/src/dashboards/dds/IOQ.json b/grafana/rmf-app/src/dashboards/dds/IOQ.json
index eaa172fe..5497cc1c 100644
--- a/grafana/rmf-app/src/dashboards/dds/IOQ.json
+++ b/grafana/rmf-app/src/dashboards/dds/IOQ.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "I/O Queuing",
"fieldConfig": {
@@ -93,7 +93,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "c53199a2-81e7-4063-9aa8-814de9ddec89",
@@ -160,14 +160,14 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -179,15 +179,34 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
},
- "definition": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "definition": "systems",
"hide": 0,
"includeAll": false,
"multi": false,
"name": "LPAR",
"options": [],
- "query": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "query": "systems",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
diff --git a/grafana/rmf-app/src/dashboards/dds/JES.json b/grafana/rmf-app/src/dashboards/dds/JES.json
index 86c073c6..fd3a91b9 100644
--- a/grafana/rmf-app/src/dashboards/dds/JES.json
+++ b/grafana/rmf-app/src/dashboards/dds/JES.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "Job Entry Subsystem Delays",
"fieldConfig": {
@@ -93,7 +93,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "9b725562-731d-424f-840e-832de4a70f2c",
@@ -149,14 +149,14 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -168,15 +168,34 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
},
- "definition": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "definition": "systems",
"hide": 0,
"includeAll": false,
"multi": false,
"name": "LPAR",
"options": [],
- "query": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "query": "systems",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
diff --git a/grafana/rmf-app/src/dashboards/dds/LOCKSP.json b/grafana/rmf-app/src/dashboards/dds/LOCKSP.json
index 360dc13a..98137698 100644
--- a/grafana/rmf-app/src/dashboards/dds/LOCKSP.json
+++ b/grafana/rmf-app/src/dashboards/dds/LOCKSP.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "Spin Lock Report",
"fieldConfig": {
@@ -93,7 +93,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "1898c684-d2dd-4b95-a655-e1c7170ad8e8",
@@ -142,14 +142,14 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -161,15 +161,34 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
},
- "definition": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "definition": "systems",
"hide": 0,
"includeAll": false,
"multi": false,
"name": "LPAR",
"options": [],
- "query": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "query": "systems",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
diff --git a/grafana/rmf-app/src/dashboards/dds/LOCKSU.json b/grafana/rmf-app/src/dashboards/dds/LOCKSU.json
index 3cfc439a..eda2b2c9 100644
--- a/grafana/rmf-app/src/dashboards/dds/LOCKSU.json
+++ b/grafana/rmf-app/src/dashboards/dds/LOCKSU.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "Suspend Lock Report",
"fieldConfig": {
@@ -93,7 +93,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "8003e165-ab46-4b61-94b7-a37f69adc5c8",
@@ -142,14 +142,14 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -161,15 +161,34 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
},
- "definition": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "definition": "systems",
"hide": 0,
"includeAll": false,
"multi": false,
"name": "LPAR",
"options": [],
- "query": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "query": "systems",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
diff --git a/grafana/rmf-app/src/dashboards/dds/OPD.json b/grafana/rmf-app/src/dashboards/dds/OPD.json
index aae6683f..e1bd2f82 100644
--- a/grafana/rmf-app/src/dashboards/dds/OPD.json
+++ b/grafana/rmf-app/src/dashboards/dds/OPD.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "OMVS Process Data",
"fieldConfig": {
@@ -93,7 +93,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "1af174dd-1466-4d45-8c07-41f3f574f692",
@@ -151,14 +151,14 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -167,18 +167,37 @@
"skipUrlSync": false,
"type": "datasource"
},
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
+ },
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
- "definition": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "definition": "systems",
"hide": 0,
"includeAll": false,
"multi": false,
"name": "LPAR",
"options": [],
- "query": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "query": "systems",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
diff --git a/grafana/rmf-app/src/dashboards/dds/Overall Image Activity (Timeline).json b/grafana/rmf-app/src/dashboards/dds/Overall Image Activity (Timeline).json
index c237d4c4..ee3146f3 100644
--- a/grafana/rmf-app/src/dashboards/dds/Overall Image Activity (Timeline).json
+++ b/grafana/rmf-app/src/dashboards/dds/Overall Image Activity (Timeline).json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -130,7 +130,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -152,7 +152,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"loadDataSource": "METRICS",
@@ -179,7 +179,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "",
"fieldConfig": {
@@ -258,7 +258,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -284,7 +284,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -362,7 +362,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -388,7 +388,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -466,7 +466,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -499,14 +499,14 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -518,15 +518,34 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
},
- "definition": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "definition": "systems",
"hide": 0,
"includeAll": false,
"multi": false,
"name": "LPAR",
"options": [],
- "query": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "query": "systems",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
diff --git a/grafana/rmf-app/src/dashboards/dds/Overall Image Activity.json b/grafana/rmf-app/src/dashboards/dds/Overall Image Activity.json
index a2b8b445..7a861c80 100644
--- a/grafana/rmf-app/src/dashboards/dds/Overall Image Activity.json
+++ b/grafana/rmf-app/src/dashboards/dds/Overall Image Activity.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -145,7 +145,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -167,7 +167,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"loadDataSource": "METRICS",
@@ -203,7 +203,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "",
"fieldConfig": {
@@ -327,7 +327,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -353,7 +353,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -482,7 +482,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -508,7 +508,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -585,7 +585,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -623,9 +623,9 @@
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -634,19 +634,38 @@
"skipUrlSync": false,
"type": "datasource"
},
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
+ },
{
"current": {},
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
- "definition": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "definition": "systems",
"hide": 0,
"includeAll": false,
"multi": false,
"name": "LPAR",
"options": [],
- "query": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "query": "systems",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
diff --git a/grafana/rmf-app/src/dashboards/dds/PCIE.json b/grafana/rmf-app/src/dashboards/dds/PCIE.json
index cdf5cbd5..3ab1bcf3 100644
--- a/grafana/rmf-app/src/dashboards/dds/PCIE.json
+++ b/grafana/rmf-app/src/dashboards/dds/PCIE.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "PCIE Activity",
"fieldConfig": {
@@ -93,7 +93,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"refId": "A",
@@ -181,14 +181,14 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -200,15 +200,34 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
},
- "definition": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "definition": "systems",
"hide": 0,
"includeAll": false,
"multi": false,
"name": "LPAR",
"options": [],
- "query": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "query": "systems",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
diff --git a/grafana/rmf-app/src/dashboards/dds/PROC.json b/grafana/rmf-app/src/dashboards/dds/PROC.json
index 8779e370..6d07b194 100644
--- a/grafana/rmf-app/src/dashboards/dds/PROC.json
+++ b/grafana/rmf-app/src/dashboards/dds/PROC.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "Processor Delays",
"fieldConfig": {
@@ -93,7 +93,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "271e34ff-d57f-43d4-a897-6b8053983d24",
@@ -115,7 +115,7 @@
"% Using for Processor Type": false,
"% Workflow": true,
"AAP on CP % Using": true,
- "ASID (dec)": true,
+ "ASID (dec)": false,
"Appl % for Processor Type": true,
"CBP on CP % Using": true,
"Capping Delay %": true,
@@ -185,14 +185,14 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -204,15 +204,34 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
},
- "definition": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "definition": "systems",
"hide": 0,
"includeAll": false,
"multi": false,
"name": "LPAR",
"options": [],
- "query": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "query": "systems",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
diff --git a/grafana/rmf-app/src/dashboards/dds/PROCU.json b/grafana/rmf-app/src/dashboards/dds/PROCU.json
index a566cb52..9b65f8c6 100644
--- a/grafana/rmf-app/src/dashboards/dds/PROCU.json
+++ b/grafana/rmf-app/src/dashboards/dds/PROCU.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "Processor Usage",
"fieldConfig": {
@@ -93,7 +93,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "908ddeb5-eef7-4ab9-a3f0-4727805960d5",
@@ -113,7 +113,7 @@
"excludeByName": {
"AAP EAppl %": true,
"AAP Time on CP %": true,
- "ASID (dec)": true,
+ "ASID (dec)": false,
"CBP EAppl %": true,
"CBP Time on CP %": true,
"Channel Measurement Group": true,
@@ -157,14 +157,14 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -176,15 +176,34 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
},
- "definition": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "definition": "systems",
"hide": 0,
"includeAll": false,
"multi": false,
"name": "LPAR",
"options": [],
- "query": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "query": "systems",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
diff --git a/grafana/rmf-app/src/dashboards/dds/Performance Index (Timeline).json b/grafana/rmf-app/src/dashboards/dds/Performance Index (Timeline).json
index 85ffae53..a2cda9e4 100644
--- a/grafana/rmf-app/src/dashboards/dds/Performance Index (Timeline).json
+++ b/grafana/rmf-app/src/dashboards/dds/Performance Index (Timeline).json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -129,7 +129,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -155,7 +155,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -236,7 +236,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -269,14 +269,14 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -284,6 +284,25 @@
"regex": "",
"skipUrlSync": false,
"type": "datasource"
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
}
]
},
diff --git a/grafana/rmf-app/src/dashboards/dds/Performance Index.json b/grafana/rmf-app/src/dashboards/dds/Performance Index.json
index 51c781a7..a2ac9a56 100644
--- a/grafana/rmf-app/src/dashboards/dds/Performance Index.json
+++ b/grafana/rmf-app/src/dashboards/dds/Performance Index.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -171,7 +171,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -198,7 +198,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -316,7 +316,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -357,9 +357,9 @@
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -367,6 +367,25 @@
"regex": "",
"skipUrlSync": false,
"type": "datasource"
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
}
]
},
diff --git a/grafana/rmf-app/src/dashboards/dds/Response Time (Timeline).json b/grafana/rmf-app/src/dashboards/dds/Response Time (Timeline).json
index 634e99bd..13912433 100644
--- a/grafana/rmf-app/src/dashboards/dds/Response Time (Timeline).json
+++ b/grafana/rmf-app/src/dashboards/dds/Response Time (Timeline).json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -130,7 +130,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -152,7 +152,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"loadDataSource": "METRICS",
@@ -179,7 +179,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -257,7 +257,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -279,7 +279,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"loadDataSource": "METRICS",
@@ -306,7 +306,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "",
"fieldConfig": {
@@ -386,7 +386,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -412,7 +412,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -491,7 +491,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -524,14 +524,14 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -539,6 +539,25 @@
"regex": "",
"skipUrlSync": false,
"type": "datasource"
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
}
]
},
diff --git a/grafana/rmf-app/src/dashboards/dds/Response Time.json b/grafana/rmf-app/src/dashboards/dds/Response Time.json
index e32c7a0d..14ff318d 100644
--- a/grafana/rmf-app/src/dashboards/dds/Response Time.json
+++ b/grafana/rmf-app/src/dashboards/dds/Response Time.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -161,7 +161,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -183,7 +183,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"loadDataSource": "METRICS",
@@ -219,7 +219,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -328,7 +328,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"loadDataSource": "METRICS",
@@ -351,7 +351,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -386,7 +386,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "",
"fieldConfig": {
@@ -465,7 +465,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -491,7 +491,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -581,7 +581,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -622,9 +622,9 @@
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -632,6 +632,25 @@
"regex": "",
"skipUrlSync": false,
"type": "datasource"
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
}
]
},
diff --git a/grafana/rmf-app/src/dashboards/dds/SPACED.json b/grafana/rmf-app/src/dashboards/dds/SPACED.json
index 2132c296..6f2dd24f 100644
--- a/grafana/rmf-app/src/dashboards/dds/SPACED.json
+++ b/grafana/rmf-app/src/dashboards/dds/SPACED.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "Disk space",
"fieldConfig": {
@@ -95,7 +95,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "346e1b6d-c49a-455f-81af-b18f52fea63a",
@@ -296,15 +296,15 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"description": "Sysplex",
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -312,6 +312,25 @@
"regex": "",
"skipUrlSync": false,
"type": "datasource"
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
}
]
},
diff --git a/grafana/rmf-app/src/dashboards/dds/SPACEG.json b/grafana/rmf-app/src/dashboards/dds/SPACEG.json
index 16afe690..9a0a3a7c 100644
--- a/grafana/rmf-app/src/dashboards/dds/SPACEG.json
+++ b/grafana/rmf-app/src/dashboards/dds/SPACEG.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "Storage space",
"fieldConfig": {
@@ -95,7 +95,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "3414ef3c-2a88-49dc-a6a3-362d2b69c5b1",
@@ -296,15 +296,15 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"description": "Sysplex",
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -312,6 +312,25 @@
"regex": "",
"skipUrlSync": false,
"type": "datasource"
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
}
]
},
diff --git a/grafana/rmf-app/src/dashboards/dds/STOR.json b/grafana/rmf-app/src/dashboards/dds/STOR.json
index d2f49ad3..503ad7d2 100644
--- a/grafana/rmf-app/src/dashboards/dds/STOR.json
+++ b/grafana/rmf-app/src/dashboards/dds/STOR.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "Storage Delays",
"fieldConfig": {
@@ -93,7 +93,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "f171daf4-2cd7-4209-a752-3a901b8ff6c3",
@@ -114,7 +114,7 @@
"% Delay HIPR": true,
"% Delay VIO": true,
"% Delay XMEM": true,
- "ASID (dec)": true,
+ "ASID (dec)": false,
"Active Frames": true,
"Channel Measurement Group": true,
"FICON Deferred Operation Rate": true,
@@ -170,14 +170,14 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -189,15 +189,34 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
},
- "definition": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "definition": "systems",
"hide": 0,
"includeAll": false,
"multi": false,
"name": "LPAR",
"options": [],
- "query": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "query": "systems",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
diff --git a/grafana/rmf-app/src/dashboards/dds/STORC.json b/grafana/rmf-app/src/dashboards/dds/STORC.json
index 58ca486b..c6253543 100644
--- a/grafana/rmf-app/src/dashboards/dds/STORC.json
+++ b/grafana/rmf-app/src/dashboards/dds/STORC.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "Common Storage",
"fieldConfig": {
@@ -93,7 +93,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "b28c67d8-2f71-4e81-a797-b8b8ca413910",
@@ -206,14 +206,14 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -225,15 +225,34 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
},
- "definition": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "definition": "systems",
"hide": 0,
"includeAll": false,
"multi": false,
"name": "LPAR",
"options": [],
- "query": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "query": "systems",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
diff --git a/grafana/rmf-app/src/dashboards/dds/STORCR.json b/grafana/rmf-app/src/dashboards/dds/STORCR.json
index a1524647..59984487 100644
--- a/grafana/rmf-app/src/dashboards/dds/STORCR.json
+++ b/grafana/rmf-app/src/dashboards/dds/STORCR.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "Common Storage Remaining",
"fieldConfig": {
@@ -93,7 +93,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "d6900151-5042-4f06-aaa7-cc8088cdbe4e",
@@ -144,14 +144,14 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -163,15 +163,34 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
},
- "definition": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "definition": "systems",
"hide": 0,
"includeAll": false,
"multi": false,
"name": "LPAR",
"options": [],
- "query": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "query": "systems",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
diff --git a/grafana/rmf-app/src/dashboards/dds/STORF.json b/grafana/rmf-app/src/dashboards/dds/STORF.json
index e58f6335..20589c38 100644
--- a/grafana/rmf-app/src/dashboards/dds/STORF.json
+++ b/grafana/rmf-app/src/dashboards/dds/STORF.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "Storage Frames Overview",
"fieldConfig": {
@@ -93,7 +93,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "a3b4e537-0ff9-4b37-b673-d2d27d82d1e6",
@@ -113,7 +113,7 @@
"excludeByName": {
"1 MB Frames Fixed": true,
"2 GB Frames Fixed": true,
- "ASID (dec)": true,
+ "ASID (dec)": false,
"Channel Measurement Group": true,
"FICON Deferred Operation Rate": true,
"Freemained Frames": true,
@@ -153,14 +153,14 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -172,15 +172,34 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
},
- "definition": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "definition": "systems",
"hide": 0,
"includeAll": false,
"multi": false,
"name": "LPAR",
"options": [],
- "query": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "query": "systems",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
diff --git a/grafana/rmf-app/src/dashboards/dds/STORM.json b/grafana/rmf-app/src/dashboards/dds/STORM.json
index 9df35ecd..75a068ea 100644
--- a/grafana/rmf-app/src/dashboards/dds/STORM.json
+++ b/grafana/rmf-app/src/dashboards/dds/STORM.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "Storage Memory Objects",
"fieldConfig": {
@@ -93,7 +93,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "35036b16-3f54-4417-9905-c5644da37dd5",
@@ -231,14 +231,14 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -250,15 +250,34 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
},
- "definition": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "definition": "systems",
"hide": 0,
"includeAll": false,
"multi": false,
"name": "LPAR",
"options": [],
- "query": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "query": "systems",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
diff --git a/grafana/rmf-app/src/dashboards/dds/STORR.json b/grafana/rmf-app/src/dashboards/dds/STORR.json
index b34633e1..69d8639d 100644
--- a/grafana/rmf-app/src/dashboards/dds/STORR.json
+++ b/grafana/rmf-app/src/dashboards/dds/STORR.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "Storage Resource Delays",
"fieldConfig": {
@@ -93,7 +93,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "7eb3af2b-4fd9-4751-982a-05a7faa388b1",
@@ -224,14 +224,14 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -243,15 +243,34 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
},
- "definition": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "definition": "systems",
"hide": 0,
"includeAll": false,
"multi": false,
"name": "LPAR",
"options": [],
- "query": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "query": "systems",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
diff --git a/grafana/rmf-app/src/dashboards/dds/STORS.json b/grafana/rmf-app/src/dashboards/dds/STORS.json
index 07f1dac1..7f512ff7 100644
--- a/grafana/rmf-app/src/dashboards/dds/STORS.json
+++ b/grafana/rmf-app/src/dashboards/dds/STORS.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "Storage by WLM class",
"fieldConfig": {
@@ -93,7 +93,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "4289baf1-221c-4be3-b469-ad2ec1c31848",
@@ -197,14 +197,14 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -216,15 +216,34 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
},
- "definition": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "definition": "systems",
"hide": 0,
"includeAll": false,
"multi": false,
"name": "LPAR",
"options": [],
- "query": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "query": "systems",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
diff --git a/grafana/rmf-app/src/dashboards/dds/SYSINFO.json b/grafana/rmf-app/src/dashboards/dds/SYSINFO.json
index 7c75a93c..e5a27680 100644
--- a/grafana/rmf-app/src/dashboards/dds/SYSINFO.json
+++ b/grafana/rmf-app/src/dashboards/dds/SYSINFO.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "System Info by WLM class",
"fieldConfig": {
@@ -93,7 +93,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "6a55cb0b-c2bc-4586-b79d-53c103b29550",
@@ -317,14 +317,14 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -336,15 +336,34 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
},
- "definition": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "definition": "systems",
"hide": 0,
"includeAll": false,
"multi": false,
"name": "LPAR",
"options": [],
- "query": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "query": "systems",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
diff --git a/grafana/rmf-app/src/dashboards/dds/SYSRG.json b/grafana/rmf-app/src/dashboards/dds/SYSRG.json
index 6939ab50..8f8494d2 100644
--- a/grafana/rmf-app/src/dashboards/dds/SYSRG.json
+++ b/grafana/rmf-app/src/dashboards/dds/SYSRG.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "Sysplex WLM Resource Group Activity",
"fieldConfig": {
@@ -95,7 +95,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "1ba9a8c4-b112-48ab-b8ff-d7979197efc4",
@@ -268,15 +268,15 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"description": "Sysplex",
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -284,6 +284,25 @@
"regex": "",
"skipUrlSync": false,
"type": "datasource"
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
}
]
},
diff --git a/grafana/rmf-app/src/dashboards/dds/SYSSUM.json b/grafana/rmf-app/src/dashboards/dds/SYSSUM.json
index a3990783..dd999830 100644
--- a/grafana/rmf-app/src/dashboards/dds/SYSSUM.json
+++ b/grafana/rmf-app/src/dashboards/dds/SYSSUM.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "Sysplex WLM Classes Summary Report",
"fieldConfig": {
@@ -95,7 +95,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "48f2221c-2282-4937-85e0-b52a71e1d93e",
@@ -296,15 +296,15 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"description": "Sysplex",
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -312,6 +312,25 @@
"regex": "",
"skipUrlSync": false,
"type": "datasource"
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
}
]
},
diff --git a/grafana/rmf-app/src/dashboards/dds/USAGE.json b/grafana/rmf-app/src/dashboards/dds/USAGE.json
index 9e7f642b..1354fc95 100644
--- a/grafana/rmf-app/src/dashboards/dds/USAGE.json
+++ b/grafana/rmf-app/src/dashboards/dds/USAGE.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "Job Oriented Usage",
"fieldConfig": {
@@ -93,7 +93,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "aa2f5d29-d19b-4e8f-b782-32468729ab3f",
@@ -111,7 +111,7 @@
"id": "organize",
"options": {
"excludeByName": {
- "ASID (dec)": true,
+ "ASID (dec)": false,
"Channel Measurement Group": true,
"Dispatching Priority": true,
"FICON Deferred Operation Rate": true,
@@ -191,14 +191,14 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -210,15 +210,34 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
},
- "definition": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "definition": "systems",
"hide": 0,
"includeAll": false,
"multi": false,
"name": "LPAR",
"options": [],
- "query": "select label from resource where name=\"${sysplex}\" and type=\"SYSPLEX\" and filter=\"MVS_IMAGE\"",
+ "query": "systems",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
diff --git a/grafana/rmf-app/src/dashboards/dds/Using & Delays (Timeline).json b/grafana/rmf-app/src/dashboards/dds/Using & Delays (Timeline).json
index e3ee97bf..1f71261f 100644
--- a/grafana/rmf-app/src/dashboards/dds/Using & Delays (Timeline).json
+++ b/grafana/rmf-app/src/dashboards/dds/Using & Delays (Timeline).json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -129,7 +129,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -151,7 +151,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"loadDataSource": "METRICS",
@@ -174,7 +174,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"loadDataSource": "METRICS",
@@ -201,7 +201,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -278,7 +278,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -300,7 +300,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"loadDataSource": "METRICS",
@@ -323,7 +323,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"loadDataSource": "METRICS",
@@ -346,7 +346,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"loadDataSource": "METRICS",
@@ -369,7 +369,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"loadDataSource": "METRICS",
@@ -392,7 +392,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"loadDataSource": "METRICS",
@@ -415,7 +415,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"loadDataSource": "METRICS",
@@ -449,14 +449,14 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -464,6 +464,25 @@
"regex": "",
"skipUrlSync": false,
"type": "datasource"
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
}
]
},
diff --git a/grafana/rmf-app/src/dashboards/dds/Using & Delays.json b/grafana/rmf-app/src/dashboards/dds/Using & Delays.json
index db93eee4..d299eceb 100644
--- a/grafana/rmf-app/src/dashboards/dds/Using & Delays.json
+++ b/grafana/rmf-app/src/dashboards/dds/Using & Delays.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -175,7 +175,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -197,7 +197,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"loadDataSource": "METRICS",
@@ -220,7 +220,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"loadDataSource": "METRICS",
@@ -248,7 +248,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -431,7 +431,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"loadDataSource": "METRICS",
"refId": "A",
@@ -453,7 +453,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"loadDataSource": "METRICS",
@@ -476,7 +476,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"loadDataSource": "METRICS",
@@ -499,7 +499,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"loadDataSource": "METRICS",
@@ -522,7 +522,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"loadDataSource": "METRICS",
@@ -545,7 +545,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"loadDataSource": "METRICS",
@@ -568,7 +568,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"loadDataSource": "METRICS",
@@ -610,9 +610,9 @@
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -620,6 +620,25 @@
"regex": "",
"skipUrlSync": false,
"type": "datasource"
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
}
]
},
diff --git a/grafana/rmf-app/src/dashboards/dds/XCF Activity (Timeline).json b/grafana/rmf-app/src/dashboards/dds/XCF Activity (Timeline).json
index 6ee46fdd..84284714 100644
--- a/grafana/rmf-app/src/dashboards/dds/XCF Activity (Timeline).json
+++ b/grafana/rmf-app/src/dashboards/dds/XCF Activity (Timeline).json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -130,7 +130,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "3bdf9ae8-f62b-40ec-b854-6ed5b66656a0",
@@ -144,7 +144,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"refId": "B",
@@ -163,7 +163,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -241,7 +241,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "e074ed81-e389-4db3-bee6-ce27191643a2",
@@ -255,7 +255,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"refId": "B",
@@ -274,7 +274,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -352,7 +352,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "ab9c1f60-2901-4a38-9500-b775cd4df2b5",
@@ -370,7 +370,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -448,7 +448,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "03d3c3a6-1ba1-4c49-969b-2b904b785419",
@@ -473,14 +473,14 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -488,6 +488,25 @@
"regex": "",
"skipUrlSync": false,
"type": "datasource"
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
}
]
},
diff --git a/grafana/rmf-app/src/dashboards/dds/XCF Activity.json b/grafana/rmf-app/src/dashboards/dds/XCF Activity.json
index 2b6ae1c2..e462f4f9 100644
--- a/grafana/rmf-app/src/dashboards/dds/XCF Activity.json
+++ b/grafana/rmf-app/src/dashboards/dds/XCF Activity.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -160,7 +160,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "834a08f0-4082-498b-86fe-976e27223b27",
@@ -174,7 +174,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"refId": "B",
@@ -202,7 +202,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -310,7 +310,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "e75b194d-7adf-4104-beac-ca1a998154f8",
@@ -324,7 +324,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"hide": false,
"refId": "B",
@@ -352,7 +352,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -445,7 +445,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "fc948aa9-f052-4eab-ada8-e61c33ccc362",
@@ -463,7 +463,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
@@ -556,7 +556,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "31e6a5ca-3144-4422-9d08-25e3b319a833",
@@ -589,9 +589,9 @@
},
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -599,6 +599,25 @@
"regex": "",
"skipUrlSync": false,
"type": "datasource"
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
}
]
},
diff --git a/grafana/rmf-app/src/dashboards/dds/XCFGROUP.json b/grafana/rmf-app/src/dashboards/dds/XCFGROUP.json
index 18180edf..3d23d231 100644
--- a/grafana/rmf-app/src/dashboards/dds/XCFGROUP.json
+++ b/grafana/rmf-app/src/dashboards/dds/XCFGROUP.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "XCF Group Statistics",
"fieldConfig": {
@@ -95,7 +95,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "5e57a653-10c8-461d-8991-ada953c73ba8",
@@ -300,15 +300,15 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"description": "Sysplex",
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -316,6 +316,25 @@
"regex": "",
"skipUrlSync": false,
"type": "datasource"
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
}
]
},
diff --git a/grafana/rmf-app/src/dashboards/dds/XCFOVW.json b/grafana/rmf-app/src/dashboards/dds/XCFOVW.json
index 56d67182..51f0a9b1 100644
--- a/grafana/rmf-app/src/dashboards/dds/XCFOVW.json
+++ b/grafana/rmf-app/src/dashboards/dds/XCFOVW.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "XCF Systems Overview",
"fieldConfig": {
@@ -95,7 +95,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "aa73ed04-967c-469d-a5f8-9eb0d1c8b092",
@@ -300,15 +300,15 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"description": "Sysplex",
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -316,6 +316,25 @@
"regex": "",
"skipUrlSync": false,
"type": "datasource"
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
}
]
},
diff --git a/grafana/rmf-app/src/dashboards/dds/XCFPATH.json b/grafana/rmf-app/src/dashboards/dds/XCFPATH.json
index 98737444..b862cf89 100644
--- a/grafana/rmf-app/src/dashboards/dds/XCFPATH.json
+++ b/grafana/rmf-app/src/dashboards/dds/XCFPATH.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "XCF Path Statistics",
"fieldConfig": {
@@ -122,7 +122,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "3282dc77-1ad7-4380-9a9a-0f846ea8af6a",
@@ -306,15 +306,15 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"description": "Sysplex",
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -322,6 +322,25 @@
"regex": "",
"skipUrlSync": false,
"type": "datasource"
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
}
]
},
diff --git a/grafana/rmf-app/src/dashboards/dds/XCFSYS.json b/grafana/rmf-app/src/dashboards/dds/XCFSYS.json
index c2bff750..e16dcfa0 100644
--- a/grafana/rmf-app/src/dashboards/dds/XCFSYS.json
+++ b/grafana/rmf-app/src/dashboards/dds/XCFSYS.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "XCF System Statistics",
"fieldConfig": {
@@ -126,7 +126,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "056aa738-d1cf-46a4-aee4-2f7176b48b13",
@@ -295,15 +295,15 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"description": "Sysplex",
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -311,6 +311,25 @@
"regex": "",
"skipUrlSync": false,
"type": "datasource"
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
}
]
},
diff --git a/grafana/rmf-app/src/dashboards/dds/ZFSFS.json b/grafana/rmf-app/src/dashboards/dds/ZFSFS.json
index 1408bcf3..8b54c1c1 100644
--- a/grafana/rmf-app/src/dashboards/dds/ZFSFS.json
+++ b/grafana/rmf-app/src/dashboards/dds/ZFSFS.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "zFS File System",
"fieldConfig": {
@@ -95,7 +95,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "d4867b70-6f07-4a87-8390-5d947a775d05",
@@ -316,15 +316,15 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"description": "Sysplex",
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -332,6 +332,25 @@
"regex": "",
"skipUrlSync": false,
"type": "datasource"
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
}
]
},
diff --git a/grafana/rmf-app/src/dashboards/dds/ZFSKN.json b/grafana/rmf-app/src/dashboards/dds/ZFSKN.json
index 507400e3..c7d42900 100644
--- a/grafana/rmf-app/src/dashboards/dds/ZFSKN.json
+++ b/grafana/rmf-app/src/dashboards/dds/ZFSKN.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "(zFS Kernel",
"fieldConfig": {
@@ -95,7 +95,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "31e86a06-d0fb-46e5-970a-d86e4c098749",
@@ -296,15 +296,15 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"description": "Sysplex",
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -312,6 +312,25 @@
"regex": "",
"skipUrlSync": false,
"type": "datasource"
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
}
]
},
diff --git a/grafana/rmf-app/src/dashboards/dds/ZFSOVW.json b/grafana/rmf-app/src/dashboards/dds/ZFSOVW.json
index c306f6ff..b472e535 100644
--- a/grafana/rmf-app/src/dashboards/dds/ZFSOVW.json
+++ b/grafana/rmf-app/src/dashboards/dds/ZFSOVW.json
@@ -52,7 +52,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"description": "zFS Overview",
"fieldConfig": {
@@ -95,7 +95,7 @@
{
"datasource": {
"type": "ibm-rmf-datasource",
- "uid": "${sysplex}"
+ "uid": "${datasource}"
},
"refId": "A",
"rmfPanelGuid": "56006a7e-0517-4de8-80c8-29db0310d5a6",
@@ -346,15 +346,15 @@
{
"current": {
"selected": false,
- "text": "${sysplex}",
- "value": "${sysplex}"
+ "text": "${datasource}",
+ "value": "${datasource}"
},
"description": "Sysplex",
"hide": 0,
"includeAll": false,
- "label": "Sysplex",
+ "label": "Data source",
"multi": false,
- "name": "sysplex",
+ "name": "datasource",
"options": [],
"query": "ibm-rmf-datasource",
"queryValue": "",
@@ -362,6 +362,25 @@
"regex": "",
"skipUrlSync": false,
"type": "datasource"
+ },
+ {
+ "datasource": {
+ "type": "ibm-rmf-datasource",
+ "uid": "${datasource}"
+ },
+ "definition": "sysplex",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "sysplex",
+ "options": [],
+ "query": "sysplex",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "allowCustomValue": false
}
]
},
diff --git a/grafana/rmf-app/src/datasources/rmf-datasource/common/common.helper.ts b/grafana/rmf-app/src/datasources/rmf-datasource/common/common.helper.ts
index 2e2d29af..d6349d97 100644
--- a/grafana/rmf-app/src/datasources/rmf-datasource/common/common.helper.ts
+++ b/grafana/rmf-app/src/datasources/rmf-datasource/common/common.helper.ts
@@ -149,6 +149,15 @@ export const queryValidation = (query: string, resourceBaseData: any): QueryVali
columnName: '',
errorMessage: '',
};
+ //TODO remove when deprecated
+ if ("sysplex" == query.toLowerCase() ||
+ "systems" == query.toLowerCase() ||
+ "omegamonds" == query.toLowerCase()) {
+ queryResult.result = true;
+ queryResult.resourceCommand = query;
+ queryResult.columnName = "RESLABEL";
+ return queryResult;
+ }
let result = true;
if (query === '' || query.length < 20) {
result = false;
diff --git a/grafana/rmf-app/src/datasources/rmf-datasource/common/configSettings.ts b/grafana/rmf-app/src/datasources/rmf-datasource/common/configSettings.ts
index 432d9c08..aed3bd9f 100644
--- a/grafana/rmf-app/src/datasources/rmf-datasource/common/configSettings.ts
+++ b/grafana/rmf-app/src/datasources/rmf-datasource/common/configSettings.ts
@@ -27,3 +27,5 @@ export class ConfigSettings {
IMAGE_URL: `/gpm/include/`,
};
}
+
+export const OMEGAMON_DS_TYPE_NAME = "omegamon-datasource";
\ No newline at end of file
diff --git a/grafana/rmf-app/src/datasources/rmf-datasource/common/types.ts b/grafana/rmf-app/src/datasources/rmf-datasource/common/types.ts
index 3445c3af..703c6371 100644
--- a/grafana/rmf-app/src/datasources/rmf-datasource/common/types.ts
+++ b/grafana/rmf-app/src/datasources/rmf-datasource/common/types.ts
@@ -126,6 +126,7 @@ export interface RMFDataSourceJsonData extends DataSourceJsonData {
userName?: string;
// NB: the meaning of that is inverted. If set, we do verify certificates.
skipVerify?: boolean;
+ omegamonDs?: string;
}
/**
diff --git a/grafana/rmf-app/src/datasources/rmf-datasource/config-editor/config-editor.component.tsx b/grafana/rmf-app/src/datasources/rmf-datasource/config-editor/config-editor.component.tsx
index 03b21d56..2b4c4e2f 100644
--- a/grafana/rmf-app/src/datasources/rmf-datasource/config-editor/config-editor.component.tsx
+++ b/grafana/rmf-app/src/datasources/rmf-datasource/config-editor/config-editor.component.tsx
@@ -14,10 +14,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-import React, { PureComponent } from 'react';
+import React, { PureComponent, ReactNode } from 'react';
import { DataSourcePluginOptionsEditorProps } from '@grafana/data';
-import { FieldValidationMessage, InlineField, InlineSwitch, LegacyForms, SecretInput } from '@grafana/ui';
+import { FieldValidationMessage, InlineField, InlineSwitch, LegacyForms, SecretInput, Combobox, ComboboxOption } from '@grafana/ui';
import { RMFDataSourceSettings, RMFDataSourceJsonData, RMFDataSourceSecureJsonData } from '../common/types';
+import { OMEGAMON_DS_TYPE_NAME } from '../common/configSettings';
+import { getBackendSrv } from '@grafana/runtime';
require('./config-editor.component.css');
@@ -38,6 +40,7 @@ interface State {
httpTimeoutError?: string;
basicAuthUserError?: string;
cacheSizeError?: string;
+ omegOptionsArray?: Array;
}
// TODO: somehow prometheus can validate fields from "run and test" in v11
export default class ConfigEditor extends PureComponent {
@@ -68,6 +71,7 @@ export default class ConfigEditor extends PureComponent {
cacheSize: jsonData?.cacheSize || DEFAULT_CACHE_SIZE,
tlsSkipVerify: jsonData?.tlsSkipVerify || false,
disableCompression: jsonData?.disableCompression ?? false,
+ omegamonDs: jsonData?.omegamonDs ?? "",
};
}
onOptionsChange({ ...options });
@@ -136,6 +140,25 @@ export default class ConfigEditor extends PureComponent {
});
};
+ loadDatasourceList = async (inputValue: string) => {
+ var items: Set = new Set();
+ var optionsArray: Array> = new Array;
+ if (this.props.options.jsonData?.omegamonDs) {
+ items.add(this.props.options.jsonData?.omegamonDs);
+ optionsArray.push({value: this.props.options.jsonData?.omegamonDs} as ComboboxOption);
+ } else {
+ optionsArray.push({value: "