From c95cd03d8e0249ee116e285c9b63b970de1963bd Mon Sep 17 00:00:00 2001 From: Ashish Chalak Date: Thu, 30 Apr 2020 14:46:12 +0530 Subject: [PATCH 1/3] Adding NFS support --- .../create-database/db-with-pv.yaml | 6 +- .../domain-home-on-pv/common/unicast.py | 234 +- .../ingress-per-domain/values.yaml | 50 +- .../utils/create-wcsites-pv-pvc-inputs.yaml | 7 +- .../create-wcsites-domains/_index.md | 8 +- ...n-with-WLS-Operator-and-WLS-server-logs.md | 9 +- ...k-setup-for-WCSites-domain-setup-on-K8S.md | 0 .../WebLogic-Monitoring-Exporter-Setup.md | 8 +- .../manage-wcsites-domains/_index.md | 0 .../images/logstash-kibana-1.png | Bin 0 -> 115448 bytes .../images/logstash-kibana-2.png | Bin 0 -> 96317 bytes .../weblogic_dashboard.json | 6622 ++++++++--------- .../wcsites-domains/pre-requisites/_index.md | 124 +- .../prepare-your-environment/_index.md | 57 +- 14 files changed, 3580 insertions(+), 3545 deletions(-) mode change 100644 => 100755 docs-source/content/wcsites-domains/manage-wcsites-domains/Loadbalancer-Traefik-setup-for-WCSites-domain-setup-on-K8S.md mode change 100644 => 100755 docs-source/content/wcsites-domains/manage-wcsites-domains/_index.md create mode 100644 docs-source/content/wcsites-domains/manage-wcsites-domains/elasticsearch-integration-with-wls-operator-and-wls-server-logs/images/logstash-kibana-1.png create mode 100644 docs-source/content/wcsites-domains/manage-wcsites-domains/elasticsearch-integration-with-wls-operator-and-wls-server-logs/images/logstash-kibana-2.png diff --git a/OracleWebCenterSites/kubernetes/2.4.0/create-wcsites-domain/create-database/db-with-pv.yaml b/OracleWebCenterSites/kubernetes/2.4.0/create-wcsites-domain/create-database/db-with-pv.yaml index 8b258c4f6..8e752e302 100644 --- a/OracleWebCenterSites/kubernetes/2.4.0/create-wcsites-domain/create-database/db-with-pv.yaml +++ b/OracleWebCenterSites/kubernetes/2.4.0/create-wcsites-domain/create-database/db-with-pv.yaml @@ -13,9 +13,9 @@ spec: - ReadWriteMany # Valid values are Retain, Delete or Recycle persistentVolumeReclaimPolicy: Retain - hostPath: - # nfs: - # server: %SAMPLE_STORAGE_NFS_SERVER% + #hostPath: + nfs: + server: %NFS_SERVER% path: "/scratch/K8SVolume/WCSitesDB" --- kind: PersistentVolumeClaim diff --git a/OracleWebCenterSites/kubernetes/2.4.0/create-wcsites-domain/domain-home-on-pv/common/unicast.py b/OracleWebCenterSites/kubernetes/2.4.0/create-wcsites-domain/domain-home-on-pv/common/unicast.py index 488527a3c..9b02bd150 100644 --- a/OracleWebCenterSites/kubernetes/2.4.0/create-wcsites-domain/domain-home-on-pv/common/unicast.py +++ b/OracleWebCenterSites/kubernetes/2.4.0/create-wcsites-domain/domain-home-on-pv/common/unicast.py @@ -1,117 +1,117 @@ -# Copyright 2020, Oracle Corporation and/or its affiliates. -# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. -import xml.dom.minidom -import re -import sys - -def getManagedServerCount(domainHome): -# use the parse() function to load and parse an XML file - doc = xml.dom.minidom.parse(domainHome + "/config/config.xml") - servers = doc.getElementsByTagName("server") - print "Total Configured Managed Servers: %d " % (servers.length - 1) - return servers.length - 1; - - -# Method to uncomment and comment the required tag and save back -def replaceXml(domainHome, ms_server): - f = open(domainHome + "/config/fmwconfig/servers/" + ms_server + "/config/ticket-cache.xml","r+w") - filecontent = f.read() - #Uncomment the one to be used - filecontent = re.sub ( r'','cas_tgt" />', filecontent,1) - #Comment the one not used - filecontent = re.sub ( r'','propertySeparator="," -->', filecontent,1) - f.seek(0) - f.write(filecontent) - f.write("\n\n\n") - f.close() - -# Method to replace the properties -def replaceRmiUrlsInCache(domainHome, prefix, n, ms_server, excludedServerNumber, filename, port): - doc = xml.dom.minidom.parse(domainHome + "/config/fmwconfig/servers/" + ms_server + "/config/" + filename) - abc = doc.getElementsByTagName("cacheManagerPeerProviderFactory") - processString = "peerDiscovery=manual,rmiUrls=//localhost:/notifier" - - for element in abc: - element.setAttribute("properties", processString) - - for x in range (1,n-1): - processString = processString + "|//localhost:/notifier" - - # We should have got the properties attribute now tokenized with localhost and 41001. Exclude 1 add the rest - for i in range (1,n+1): - if i <> int(excludedServerNumber): - processString = re.sub ( r'localhost',prefix + str(i), processString,1) - processString = re.sub ( r'',str(port), processString,1) - - element.setAttribute("properties", processString) - print(processString) - ghi = doc.getElementsByTagName("cacheManagerPeerListenerFactory") - for element in ghi: - processString = element.getAttribute("properties") - processString = "hostName="+prefix+ str(excludedServerNumber) +",port=" + str(port) +",remoteObjectPort=" + str(int(port)+1) + ",socketTimeoutMillis=12000" - element.setAttribute("properties", processString) - myfile = open(domainHome + "/config/fmwconfig/servers/" + ms_server + "/config/" + filename , "w") - myfile.write(doc.toxml()) - myfile.close() - print("Updated " + filename) - -# Method to replace the properties -def replaceRmiUrls(domainHome, prefix, n, ms_server, excludedServerNumber, port): - doc = xml.dom.minidom.parse(domainHome + "/config/fmwconfig/servers/" + ms_server + "/config/ticket-cache.xml") - abc = doc.getElementsByTagName("cacheManagerPeerProviderFactory") - processString = "" - - for element in abc: - processString = element.getAttribute("properties") - - for x in range (1,n-1): - processString = processString + "|//localhost:41001/cas_st|//localhost:41001/cas_tgt" - - # We should have got the properties attribute now tokenized with localhost and 41001. Exclude 1 add the rest - for i in range (1,n+1): - if i <> int(excludedServerNumber): - processString = re.sub ( r'localhost',prefix + str(i), processString,1) - processString = re.sub ( r'41001',str(port), processString,1) - processString = re.sub ( r'localhost',prefix + str(i), processString,1) - processString = re.sub ( r'41001',str(port), processString,1) - - element.setAttribute("properties", processString) - print(processString) - ghi = doc.getElementsByTagName("cacheManagerPeerListenerFactory") - for element in ghi: - processString = element.getAttribute("properties") - processString = "hostName=" + prefix + str(excludedServerNumber) + ",port=" + str(port) + ",remoteObjectPort=" + str(int(port)+1) + ",socketTimeoutMillis=12000" - element.setAttribute("properties", processString) - myfile = open(domainHome + "/config/fmwconfig/servers/" + ms_server + "/config/ticket-cache.xml", "w") - myfile.write(doc.toxml()) - myfile.close() - print("Updated " + "ticket-cache.xml") - -def main(): - # count the arguments - arguments = len(sys.argv) - 1 - print ("The script is called with %i arguments" % (arguments)) - domainHome = sys.argv[1] - serverPrefix = sys.argv[2] - ms_server = sys.argv[3] - port = sys.argv[4] - excludedServerNumber = ms_server[-1] - print("Host prefix set to " + serverPrefix) - print("Managed Server set to - " + ms_server) - print("Excluded Server Number set to - " + excludedServerNumber) - print("Starting port set to - " + port) - replaceXml(domainHome, ms_server) - servercount = getManagedServerCount(domainHome) - replaceRmiUrls(domainHome, serverPrefix, servercount, ms_server, excludedServerNumber, port) - replaceRmiUrlsInCache(domainHome, serverPrefix, servercount, ms_server, excludedServerNumber, "linked-cache.xml", int(port) + 2) - replaceRmiUrlsInCache(domainHome, serverPrefix, servercount, ms_server, excludedServerNumber, "cs-cache.xml", int(port) + 4) - replaceRmiUrlsInCache(domainHome, serverPrefix, servercount, ms_server, excludedServerNumber, "cas-cache.xml", int(port) + 6 ) - replaceRmiUrlsInCache(domainHome, serverPrefix, servercount, ms_server, excludedServerNumber, "ss-cache.xml", int(port) + 8 ) - - -if __name__ == "__main__": - # calling main function - main() - +# Copyright 2020, Oracle Corporation and/or its affiliates. +# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. +import xml.dom.minidom +import re +import sys + +def getManagedServerCount(domainHome): +# use the parse() function to load and parse an XML file + doc = xml.dom.minidom.parse(domainHome + "/config/config.xml") + servers = doc.getElementsByTagName("server") + print "Total Configured Managed Servers: %d " % (servers.length - 1) + return servers.length - 1; + + +# Method to uncomment and comment the required tag and save back +def replaceXml(domainHome, ms_server): + f = open(domainHome + "/config/fmwconfig/servers/" + ms_server + "/config/ticket-cache.xml","r+w") + filecontent = f.read() + #Uncomment the one to be used + filecontent = re.sub ( r'','cas_tgt" />', filecontent,1) + #Comment the one not used + filecontent = re.sub ( r'','propertySeparator="," -->', filecontent,1) + f.seek(0) + f.write(filecontent) + f.write("\n\n\n") + f.close() + +# Method to replace the properties +def replaceRmiUrlsInCache(domainHome, prefix, n, ms_server, excludedServerNumber, filename, port): + doc = xml.dom.minidom.parse(domainHome + "/config/fmwconfig/servers/" + ms_server + "/config/" + filename) + abc = doc.getElementsByTagName("cacheManagerPeerProviderFactory") + processString = "peerDiscovery=manual,rmiUrls=//localhost:/notifier" + + for element in abc: + element.setAttribute("properties", processString) + + for x in range (1,n-1): + processString = processString + "|//localhost:/notifier" + + # We should have got the properties attribute now tokenized with localhost and 41001. Exclude 1 add the rest + for i in range (1,n+1): + if i <> int(excludedServerNumber): + processString = re.sub ( r'localhost',prefix + str(i), processString,1) + processString = re.sub ( r'',str(port), processString,1) + + element.setAttribute("properties", processString) + print(processString) + ghi = doc.getElementsByTagName("cacheManagerPeerListenerFactory") + for element in ghi: + processString = element.getAttribute("properties") + processString = "hostName="+prefix+ str(excludedServerNumber) +",port=" + str(port) +",remoteObjectPort=" + str(int(port)+1) + ",socketTimeoutMillis=12000" + element.setAttribute("properties", processString) + myfile = open(domainHome + "/config/fmwconfig/servers/" + ms_server + "/config/" + filename , "w") + myfile.write(doc.toxml()) + myfile.close() + print("Updated " + filename) + +# Method to replace the properties +def replaceRmiUrls(domainHome, prefix, n, ms_server, excludedServerNumber, port): + doc = xml.dom.minidom.parse(domainHome + "/config/fmwconfig/servers/" + ms_server + "/config/ticket-cache.xml") + abc = doc.getElementsByTagName("cacheManagerPeerProviderFactory") + processString = "" + + for element in abc: + processString = element.getAttribute("properties") + + for x in range (1,n-1): + processString = processString + "|//localhost:41001/cas_st|//localhost:41001/cas_tgt" + + # We should have got the properties attribute now tokenized with localhost and 41001. Exclude 1 add the rest + for i in range (1,n+1): + if i <> int(excludedServerNumber): + processString = re.sub ( r'localhost',prefix + str(i), processString,1) + processString = re.sub ( r'41001',str(port), processString,1) + processString = re.sub ( r'localhost',prefix + str(i), processString,1) + processString = re.sub ( r'41001',str(port), processString,1) + + element.setAttribute("properties", processString) + print(processString) + ghi = doc.getElementsByTagName("cacheManagerPeerListenerFactory") + for element in ghi: + processString = element.getAttribute("properties") + processString = "hostName=" + prefix + str(excludedServerNumber) + ",port=" + str(port) + ",remoteObjectPort=" + str(int(port)+1) + ",socketTimeoutMillis=12000" + element.setAttribute("properties", processString) + myfile = open(domainHome + "/config/fmwconfig/servers/" + ms_server + "/config/ticket-cache.xml", "w") + myfile.write(doc.toxml()) + myfile.close() + print("Updated " + "ticket-cache.xml") + +def main(): + # count the arguments + arguments = len(sys.argv) - 1 + print ("The script is called with %i arguments" % (arguments)) + domainHome = sys.argv[1] + serverPrefix = sys.argv[2] + ms_server = sys.argv[3] + port = sys.argv[4] + excludedServerNumber = ms_server[-1] + print("Host prefix set to " + serverPrefix) + print("Managed Server set to - " + ms_server) + print("Excluded Server Number set to - " + excludedServerNumber) + print("Starting port set to - " + port) + replaceXml(domainHome, ms_server) + servercount = getManagedServerCount(domainHome) + replaceRmiUrls(domainHome, serverPrefix, servercount, ms_server, excludedServerNumber, port) + replaceRmiUrlsInCache(domainHome, serverPrefix, servercount, ms_server, excludedServerNumber, "linked-cache.xml", int(port) + 2) + replaceRmiUrlsInCache(domainHome, serverPrefix, servercount, ms_server, excludedServerNumber, "cs-cache.xml", int(port) + 4) + replaceRmiUrlsInCache(domainHome, serverPrefix, servercount, ms_server, excludedServerNumber, "cas-cache.xml", int(port) + 6 ) + replaceRmiUrlsInCache(domainHome, serverPrefix, servercount, ms_server, excludedServerNumber, "ss-cache.xml", int(port) + 8 ) + + +if __name__ == "__main__": + # calling main function + main() + diff --git a/OracleWebCenterSites/kubernetes/2.4.0/create-wcsites-domain/ingress-per-domain/values.yaml b/OracleWebCenterSites/kubernetes/2.4.0/create-wcsites-domain/ingress-per-domain/values.yaml index 427946af4..fa9546d58 100644 --- a/OracleWebCenterSites/kubernetes/2.4.0/create-wcsites-domain/ingress-per-domain/values.yaml +++ b/OracleWebCenterSites/kubernetes/2.4.0/create-wcsites-domain/ingress-per-domain/values.yaml @@ -1,25 +1,25 @@ -# Copyright 2020, Oracle Corporation and/or its affiliates. -# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. - -# Default values for ingress-per-domain. -# This is a YAML-formatted file. -# Declare variables to be passed into your templates. - -# Load balancer type. Supported values are: TRAEFIK, VOYAGER -type: TRAEFIK -#type: VOYAGER - -# WLS domain as backend to the load balancer -wlsDomain: - domainUID: wcsitesinfra - adminServerName: adminserver - adminServerPort: 7001 - wcsitesClusterName: wcsites_cluster - wcsitesManagedServerPort: 8001 - -# Voyager specific values -voyager: - # web port - webPort: 30305 - # stats port - statsPort: 30317 +# Copyright 2020, Oracle Corporation and/or its affiliates. +# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. + +# Default values for ingress-per-domain. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +# Load balancer type. Supported values are: TRAEFIK, VOYAGER +type: TRAEFIK +#type: VOYAGER + +# WLS domain as backend to the load balancer +wlsDomain: + domainUID: wcsitesinfra + adminServerName: adminserver + adminServerPort: 7001 + wcsitesClusterName: wcsites_cluster + wcsitesManagedServerPort: 8001 + +# Voyager specific values +voyager: + # web port + webPort: 30305 + # stats port + statsPort: 30317 diff --git a/OracleWebCenterSites/kubernetes/2.4.0/create-wcsites-domain/utils/create-wcsites-pv-pvc-inputs.yaml b/OracleWebCenterSites/kubernetes/2.4.0/create-wcsites-domain/utils/create-wcsites-pv-pvc-inputs.yaml index d450565c2..f1e253463 100644 --- a/OracleWebCenterSites/kubernetes/2.4.0/create-wcsites-domain/utils/create-wcsites-pv-pvc-inputs.yaml +++ b/OracleWebCenterSites/kubernetes/2.4.0/create-wcsites-domain/utils/create-wcsites-pv-pvc-inputs.yaml @@ -18,11 +18,11 @@ namespace: wcsites-ns # Persistent volume type for the persistent storage. # The value must be 'HOST_PATH' or 'NFS'. # If using 'NFS', weblogicDomainStorageNFSServer must be specified. -weblogicDomainStorageType: HOST_PATH +weblogicDomainStorageType: NFS # The server name or ip address of the NFS server to use for the persistent storage. # The following line must be uncomment and customized if weblogicDomainStorateType is NFS: -#weblogicDomainStorageNFSServer: nfsServer +weblogicDomainStorageNFSServer: %NFS_SERVER% # Physical path of the persistent storage. # When weblogicDomainStorageType is set to HOST_PATH, this value should be set the to path to the @@ -39,5 +39,4 @@ weblogicDomainStoragePath: /scratch/K8SVolume/WCSites weblogicDomainStorageReclaimPolicy: Retain # Total storage allocated to the persistent storage. -weblogicDomainStorageSize: 10Gi - +weblogicDomainStorageSize: 10Gi \ No newline at end of file diff --git a/docs-source/content/wcsites-domains/create-wcsites-domains/_index.md b/docs-source/content/wcsites-domains/create-wcsites-domains/_index.md index 09b75a167..51784f57e 100644 --- a/docs-source/content/wcsites-domains/create-wcsites-domains/_index.md +++ b/docs-source/content/wcsites-domains/create-wcsites-domains/_index.md @@ -425,10 +425,10 @@ to create the domain home for other use cases. You can modify the generated doma To start the domain, apply the above `domain.yaml`: - ```bash - $ kubectl apply -f kubernetes/samples/scripts/create-wcsites-domain/output/weblogic-domains/wcsitesinfra/domain.yaml - domain.weblogic.oracle/wcsitesinfra created - ``` +```bash +$ kubectl apply -f kubernetes/samples/scripts/create-wcsites-domain/output/weblogic-domains/wcsitesinfra/domain.yaml +domain.weblogic.oracle/wcsitesinfra created +``` #### Verify the WebCenter Sites Domain Verify that the domain and servers pods and services are created and in the READY state: diff --git a/docs-source/content/wcsites-domains/manage-wcsites-domains/Elasticsearch-integration-with-WLS-Operator-and-WLS-server-logs.md b/docs-source/content/wcsites-domains/manage-wcsites-domains/Elasticsearch-integration-with-WLS-Operator-and-WLS-server-logs.md index b28c67665..1f1f22263 100644 --- a/docs-source/content/wcsites-domains/manage-wcsites-domains/Elasticsearch-integration-with-WLS-Operator-and-WLS-server-logs.md +++ b/docs-source/content/wcsites-domains/manage-wcsites-domains/Elasticsearch-integration-with-WLS-Operator-and-WLS-server-logs.md @@ -149,4 +149,11 @@ elasticsearch ClusterIP 10.100.11.154 9200/TCP,9300/TCP 4m kibana NodePort 10.97.205.0 5601:31884/TCP 4m32s kubernetes ClusterIP 10.96.0.1 443/TCP 71d ``` -You can access the Kibana dashboard at `http://mycompany.com:kibana-nodeport/`. In our example, the node port would be 31884. \ No newline at end of file +You can access the Kibana dashboard at `http://mycompany.com:kibana-nodeport/`. In our example, the node port would be 31884. + +##### Create an Index Pattern in Kibana +Create an index pattern `logstash*` in **Kibana > Management**. After the servers are started, you will see the log data in the Kibana dashboard: + +![WLE-Kibana-Dashboard](images/logstash-kibana-1.png) + +![WLE-Kibana-Dashboard](images/logstash-kibana-2.png) \ No newline at end of file diff --git a/docs-source/content/wcsites-domains/manage-wcsites-domains/Loadbalancer-Traefik-setup-for-WCSites-domain-setup-on-K8S.md b/docs-source/content/wcsites-domains/manage-wcsites-domains/Loadbalancer-Traefik-setup-for-WCSites-domain-setup-on-K8S.md old mode 100644 new mode 100755 diff --git a/docs-source/content/wcsites-domains/manage-wcsites-domains/WebLogic-Monitoring-Exporter-Setup.md b/docs-source/content/wcsites-domains/manage-wcsites-domains/WebLogic-Monitoring-Exporter-Setup.md index 738e0fbfe..062fa4e85 100644 --- a/docs-source/content/wcsites-domains/manage-wcsites-domains/WebLogic-Monitoring-Exporter-Setup.md +++ b/docs-source/content/wcsites-domains/manage-wcsites-domains/WebLogic-Monitoring-Exporter-Setup.md @@ -221,7 +221,7 @@ RoleBinding is required for Prometheus to access the endpoints provided by the W subjects: - kind: ServiceAccount name: prometheus-k8s - namespace: monitoring + namespace: monitoring ``` Similarly, add the `Role` for the namespace under which the WebLogic Servers pods are running in the Kubernetes cluster. Edit `kube-prometheus/manifests/prometheus-roleSpecificNamespaces.yaml` in the Prometheus Operator deployment manifests and add the `Role` for the namespace (`wcsites-ns`) similar to the following example: ``` @@ -254,6 +254,11 @@ To deploy the service monitor, use the above wls-exporter.yaml deployment YAML a ``` $ kubectl create -f kubernetes/samples/scripts/create-wcsites-domain/utils/weblogic-monitoring-exporter/wls-exporter.yaml ``` + +#### Additional Setup For LoadBalancer Voyager + +In step 2 of [Configure voyager to manage ingresses]({{< relref "/wcsites-domains/manage-wcsites-domains/loadbalancer-voyager-setup-for-wcsites-domain-setup-on-k8s#configure-voyager-to-manage-ingresses">}}), for wcsites-cluster, enable the last rule for path ‘wls-exporter’ and then redeploy voyager LoadBalancer. + #### Enable Prometheus to Discover the Service After the deployment of the service monitor, Prometheus should be able to discover wls-exporter and export metrics. @@ -262,7 +267,6 @@ You can access the Prometheus dashboard at `http://mycompany.com:32101/`. ![Wme-Service-Discovery](images/wme-service-discovery.png) - #### Deploy Grafana Dashboard To view the domain metrics, deploy the Grafana dashboard provided in the [WebLogic Monitoring Exporter](https://github.com/oracle/weblogic-monitoring-exporter/tree/master/samples/kubernetes/end2end#monitoring-weblogic-server-with-the-grafana-dashboard). diff --git a/docs-source/content/wcsites-domains/manage-wcsites-domains/_index.md b/docs-source/content/wcsites-domains/manage-wcsites-domains/_index.md old mode 100644 new mode 100755 diff --git a/docs-source/content/wcsites-domains/manage-wcsites-domains/elasticsearch-integration-with-wls-operator-and-wls-server-logs/images/logstash-kibana-1.png b/docs-source/content/wcsites-domains/manage-wcsites-domains/elasticsearch-integration-with-wls-operator-and-wls-server-logs/images/logstash-kibana-1.png new file mode 100644 index 0000000000000000000000000000000000000000..0ec116e3054a9d28d8ed0474be1b6fad4219e496 GIT binary patch literal 115448 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�{#p@X-CIXdY*^Wy?Yzh82A0m6k?s`YF>>e{?( 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 Z>UU#G?5O?4Fs)zd*3CYfN;d2}@n3gGNcsQ( literal 0 HcmV?d00001 diff --git a/docs-source/content/wcsites-domains/manage-wcsites-domains/elasticsearch-integration-with-wls-operator-and-wls-server-logs/images/logstash-kibana-2.png b/docs-source/content/wcsites-domains/manage-wcsites-domains/elasticsearch-integration-with-wls-operator-and-wls-server-logs/images/logstash-kibana-2.png new file mode 100644 index 0000000000000000000000000000000000000000..9bc027a8a5574ac402a1477ce0ca7fee5e88c82d GIT binary patch literal 96317 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 W5el8Z=UGBoG>t2|Dy5gNh5rw4qJ`Z6 literal 0 HcmV?d00001 diff --git a/docs-source/content/wcsites-domains/manage-wcsites-domains/weblogic-monitoring-exporter-setup/weblogic_dashboard.json b/docs-source/content/wcsites-domains/manage-wcsites-domains/weblogic-monitoring-exporter-setup/weblogic_dashboard.json index e68f7a964..f7dc1ec6d 100644 --- a/docs-source/content/wcsites-domains/manage-wcsites-domains/weblogic-monitoring-exporter-setup/weblogic_dashboard.json +++ b/docs-source/content/wcsites-domains/manage-wcsites-domains/weblogic-monitoring-exporter-setup/weblogic_dashboard.json @@ -1,3312 +1,3312 @@ -{ - "__inputs": [], - "__requires": [ - { - "type": "grafana", - "id": "grafana", - "name": "Grafana", - "version": "5.2.4" - }, - { - "type": "panel", - "id": "graph", - "name": "Graph", - "version": "5.0.0" - }, - { - "type": "panel", - "id": "singlestat", - "name": "Singlestat", - "version": "5.0.0" - }, - { - "type": "panel", - "id": "table", - "name": "Table", - "version": "5.0.0" - } - ], - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": "-- Grafana --", - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "type": "dashboard" - } - ] - }, - "editable": true, - "gnetId": null, - "graphTooltip": 0, - "id": null, - "iteration": 1563266678971, - "links": [], - "panels": [ - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 0 - }, - "id": 32, - "panels": [], - "title": "Servers", - "type": "row" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "$datasource", - "decimals": 0, - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 3, - "w": 13, - "x": 0, - "y": 1 - }, - "hideTimeOverride": true, - "id": 16, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false - }, - "tableColumn": "", - "targets": [ - { - "expr": "count(count (wls_jvm_uptime{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\"}) by (name))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{weblogic_serverName}}", - "refId": "A" - } - ], - "thresholds": "", - "timeFrom": null, - "timeShift": null, - "title": "Running Servers", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "avg" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "$datasource", - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 3, - "w": 11, - "x": 13, - "y": 1 - }, - "id": 23, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false - }, - "tableColumn": "", - "targets": [ - { - "expr": "count(count(wls_webapp_config_deployment_state{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\"}) by (app))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "", - "refId": "A" - } - ], - "thresholds": "", - "timeFrom": null, - "timeShift": null, - "title": "Deployed Applications", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "avg" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": true, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "$datasource", - "decimals": 1, - "description": "", - "format": "percent", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 3, - "w": 6, - "x": 0, - "y": 4 - }, - "hideTimeOverride": true, - "id": 104, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "repeat": "serverName", - "repeatDirection": "v", - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false - }, - "tableColumn": "weblogic_serverName", - "targets": [ - { - "expr": "wls_server_activation_time{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\",weblogic_serverName=\"$serverName\"}", - "format": "table", - "hide": false, - "instant": true, - "interval": "10s", - "intervalFactor": 2, - "legendFormat": "", - "refId": "A" - } - ], - "thresholds": "50,80", - "timeFrom": null, - "timeShift": null, - "title": "Server Name", - "type": "singlestat", - "valueFontSize": "50%", - "valueMaps": [ - { - "op": "=", - "text": "", - "value": "" - } - ], - "valueName": "current" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": true, - "colors": [ - "#56A64B", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "$datasource", - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 3, - "w": 4, - "x": 6, - "y": 4 - }, - "id": 84, - "interval": "", - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "repeat": "serverName", - "repeatDirection": "v", - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false - }, - "tableColumn": "", - "targets": [ - { - "expr": "wls_server_state_val{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=\"$serverName\"}", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": "", - "timeFrom": null, - "timeShift": null, - "title": "Server Status", - "type": "singlestat", - "valueFontSize": "50%", - "valueMaps": [ - { - "op": "=", - "text": "SHUTDOWN", - "value": "0" - }, - { - "op": "=", - "text": "STARTING", - "value": "1" - }, - { - "op": "=", - "text": "RUNNING", - "value": "2" - }, - { - "op": "=", - "text": "STANDBY", - "value": "3" - }, - { - "op": "=", - "text": "FAILED", - "value": "8" - }, - { - "op": "=", - "text": "FAILED", - "value": "17" - } - ], - "valueName": "current" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": true, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "$datasource", - "decimals": 1, - "description": "", - "format": "percent", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": true, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 3, - "w": 4, - "x": 10, - "y": 4 - }, - "hideTimeOverride": true, - "id": 27, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "repeat": "serverName", - "repeatDirection": "v", - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": true - }, - "tableColumn": "instance", - "targets": [ - { - "expr": "100 - wls_jvm_heap_free_percent{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=\"$serverName\"}", - "format": "time_series", - "hide": false, - "instant": true, - "interval": "10s", - "intervalFactor": 2, - "legendFormat": "", - "refId": "A" - } - ], - "thresholds": "50,80", - "timeFrom": null, - "timeShift": null, - "title": "Heap Usage", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "", - "value": "" - } - ], - "valueName": "current" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorPostfix": false, - "colorValue": true, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "$datasource", - "decimals": 1, - "description": "", - "format": "ms", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 3, - "w": 5, - "x": 14, - "y": 4 - }, - "hideTimeOverride": true, - "id": 91, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "repeat": "serverName", - "repeatDirection": "v", - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false - }, - "tableColumn": "instance", - "targets": [ - { - "expr": "wls_jvm_uptime{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=\"$serverName\"}", - "format": "time_series", - "hide": false, - "instant": true, - "interval": "10s", - "intervalFactor": 2, - "legendFormat": "", - "refId": "A" - } - ], - "thresholds": "50,80", - "timeFrom": null, - "timeShift": null, - "title": "Running Time", - "type": "singlestat", - "valueFontSize": "50%", - "valueMaps": [ - { - "op": "=", - "text": "", - "value": "" - } - ], - "valueName": "current" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorPostfix": false, - "colorValue": true, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "$datasource", - "decimals": 0, - "description": "", - "format": "short", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 3, - "w": 5, - "x": 19, - "y": 4 - }, - "hideTimeOverride": true, - "id": 96, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "repeat": "serverName", - "repeatDirection": "v", - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false - }, - "tableColumn": "instance", - "targets": [ - { - "expr": "wls_server_open_sockets_current_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=\"$serverName\"}", - "format": "time_series", - "hide": false, - "instant": true, - "interval": "10s", - "intervalFactor": 2, - "legendFormat": "", - "refId": "A" - } - ], - "thresholds": "50,80", - "timeFrom": null, - "timeShift": null, - "title": "Open Sockets", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "", - "value": "" - } - ], - "valueName": "current" - }, - { - "aliasColors": { - " heap free managed-server-1": "super-light-green", - " heap free managed-server-2": "dark-green", - "heap size managed-server-1 ": "super-light-red", - "heap size managed-server-2 ": "dark-red" - }, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$datasource", - "fill": 1, - "gridPos": { - "h": 10, - "w": 24, - "x": 0, - "y": 7 - }, - "id": 12, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "max": true, - "min": false, - "rightSide": false, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "paceLength": 10, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "wls_jvm_heap_free_current{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": " Heap Free ({{weblogic_serverName}})", - "refId": "B" - }, - { - "expr": "wls_jvm_heap_size_current{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}", - "format": "time_series", - "instant": false, - "intervalFactor": 1, - "legendFormat": "Heap Size ({{weblogic_serverName}})", - "refId": "A" - }, - { - "expr": "wls_jvm_heap_size_max{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}", - "format": "time_series", - "hide": true, - "intervalFactor": 1, - "legendFormat": "Heap Max ({{weblogic_serverName}})", - "refId": "C" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "JVM Heap", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "decbytes", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": { - " heap free managed-server-1": "super-light-green", - " heap free managed-server-2": "dark-green", - "heap size managed-server-1 ": "super-light-red", - "heap size managed-server-2 ": "dark-red" - }, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$datasource", - "fill": 1, - "gridPos": { - "h": 7, - "w": 12, - "x": 0, - "y": 17 - }, - "id": 21, - "legend": { - "alignAsTable": false, - "avg": false, - "current": true, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "paceLength": 10, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "wls_jvm_process_cpu_load{weblogic_domainUID=~\"$domainName\", weblogic_clusterName=~\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"} * 100", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": " {{weblogic_serverName}}", - "refId": "B" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "CPU Load", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "percent", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$datasource", - "fill": 1, - "gridPos": { - "h": 7, - "w": 12, - "x": 12, - "y": 17 - }, - "id": 10, - "legend": { - "alignAsTable": false, - "avg": false, - "current": true, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "paceLength": 10, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "wls_threadpool_execute_thread_total_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Total Threads ({{weblogic_serverName}})", - "refId": "A" - }, - { - "expr": "wls_threadpool_stuck_thread_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Stuck Threads ({{weblogic_serverName}})", - "refId": "D" - }, - { - "expr": "wls_threadpool_queue_length{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}", - "format": "time_series", - "hide": true, - "intervalFactor": 1, - "legendFormat": "queue", - "refId": "C" - }, - { - "expr": "wls_threadpool_hogging_thread_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}", - "format": "time_series", - "hide": true, - "intervalFactor": 1, - "legendFormat": "hogging", - "refId": "B" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Thread Pool", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "collapsed": true, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 24 - }, - "id": 35, - "panels": [ - { - "columns": [], - "datasource": "$datasource", - "fontSize": "100%", - "gridPos": { - "h": 7, - "w": 8, - "x": 0, - "y": 28 - }, - "hideTimeOverride": true, - "id": 126, - "links": [], - "pageSize": null, - "scroll": true, - "showHeader": true, - "sort": { - "col": 13, - "desc": true - }, - "styles": [ - { - "alias": "Time", - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "pattern": "Time", - "type": "hidden" - }, - { - "alias": "Webapp", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 2, - "mappingType": 1, - "pattern": "app", - "thresholds": [], - "type": "string", - "unit": "short" - }, - { - "alias": "Total Sessions", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 0, - "mappingType": 1, - "pattern": "Value", - "thresholds": [], - "type": "number", - "unit": "short" - }, - { - "alias": "", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "decimals": 2, - "pattern": "/.*/", - "thresholds": [], - "type": "hidden", - "unit": "short" - } - ], - "targets": [ - { - "expr": "topk($topN,sum(wls_webapp_config_sessions_opened_total_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (app))", - "format": "table", - "instant": true, - "intervalFactor": 1, - "refId": "B" - } - ], - "timeFrom": null, - "timeShift": null, - "title": "Total Sessions (top $topN)", - "transform": "table", - "type": "table" - }, - { - "columns": [], - "datasource": "$datasource", - "fontSize": "100%", - "gridPos": { - "h": 7, - "w": 8, - "x": 8, - "y": 28 - }, - "hideTimeOverride": true, - "id": 136, - "links": [], - "pageSize": null, - "scroll": true, - "showHeader": true, - "sort": { - "col": 13, - "desc": true - }, - "styles": [ - { - "alias": "Time", - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "pattern": "Time", - "type": "hidden" - }, - { - "alias": "Webapp", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 2, - "mappingType": 1, - "pattern": "app", - "thresholds": [], - "type": "string", - "unit": "short" - }, - { - "alias": "Total Requests", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 0, - "mappingType": 1, - "pattern": "Value", - "thresholds": [], - "type": "number", - "unit": "short" - }, - { - "alias": "", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "decimals": 2, - "pattern": "/.*/", - "thresholds": [], - "type": "hidden", - "unit": "short" - } - ], - "targets": [ - { - "expr": "topk($topN,sum(wls_servlet_invocation_total_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (app))", - "format": "table", - "instant": true, - "intervalFactor": 1, - "refId": "B" - } - ], - "timeFrom": null, - "timeShift": null, - "title": "Total Requests (top $topN)", - "transform": "table", - "type": "table" - }, - { - "columns": [], - "datasource": "$datasource", - "fontSize": "100%", - "gridPos": { - "h": 7, - "w": 8, - "x": 16, - "y": 28 - }, - "hideTimeOverride": true, - "id": 134, - "links": [], - "pageSize": null, - "scroll": true, - "showHeader": true, - "sort": { - "col": 13, - "desc": true - }, - "styles": [ - { - "alias": "Time", - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "pattern": "Time", - "type": "hidden" - }, - { - "alias": "Webapp", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 2, - "mappingType": 1, - "pattern": "app", - "thresholds": [], - "type": "string", - "unit": "short" - }, - { - "alias": "Total Time", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 0, - "mappingType": 1, - "pattern": "Value", - "thresholds": [], - "type": "number", - "unit": "ms" - }, - { - "alias": "", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "decimals": 2, - "pattern": "/.*/", - "thresholds": [], - "type": "hidden", - "unit": "short" - } - ], - "targets": [ - { - "expr": "topk($topN,sum(wls_servlet_execution_time_total{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (app))", - "format": "table", - "instant": true, - "intervalFactor": 1, - "refId": "B" - } - ], - "timeFrom": null, - "timeShift": null, - "title": "Total Execution Time (top $topN)", - "transform": "table", - "type": "table" - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$datasource", - "fill": 1, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 35 - }, - "id": 14, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "sort": "current", - "sortDesc": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "paceLength": 10, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(wls_webapp_config_open_sessions_current_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (app)", - "format": "time_series", - "interval": "", - "intervalFactor": 1, - "legendFormat": "{{app}}", - "refId": "A" - }, - { - "expr": "", - "format": "time_series", - "intervalFactor": 1, - "refId": "B" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Current Sessions ", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": "", - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "$datasource", - "fill": 1, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 35 - }, - "id": 128, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "sort": "current", - "sortDesc": true, - "total": false, - "values": false - }, - "lines": false, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "paceLength": 10, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": " sum(irate(wls_webapp_config_sessions_opened_total_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}[5m])) by (app)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{app}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Session Rate ", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "decimals": 0, - "format": "short", - "label": "per second", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$datasource", - "fill": 1, - "gridPos": { - "h": 7, - "w": 12, - "x": 0, - "y": 43 - }, - "id": 132, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "sort": "current", - "sortDesc": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "paceLength": 10, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "(sum(wls_servlet_execution_time_average{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (app)) / (count(wls_servlet_execution_time_average{weblogic_domainUID=\"domain1\", weblogic_clusterName=\"cluster-1\"}) by (app))", - "format": "time_series", - "interval": "", - "intervalFactor": 1, - "legendFormat": "{{app}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Execution Time per Request ", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "ms", - "label": "", - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "$datasource", - "fill": 1, - "gridPos": { - "h": 7, - "w": 12, - "x": 12, - "y": 43 - }, - "id": 138, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "sort": "current", - "sortDesc": true, - "total": false, - "values": false - }, - "lines": false, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "paceLength": 10, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(irate(wls_servlet_invocation_total_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}[5m])) by (app)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{app}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Request Rate ", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "decimals": 0, - "format": "short", - "label": "per second", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - } - ], - "title": "Web Applications", - "type": "row" - }, - { - "collapsed": true, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 25 - }, - "id": 43, - "panels": [ - { - "columns": [], - "datasource": "$datasource", - "fontSize": "100%", - "gridPos": { - "h": 4, - "w": 24, - "x": 0, - "y": 29 - }, - "hideTimeOverride": true, - "id": 111, - "links": [], - "pageSize": null, - "scroll": true, - "showHeader": true, - "sort": { - "col": 0, - "desc": true - }, - "styles": [ - { - "alias": "Time", - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "pattern": "Time", - "type": "hidden" - }, - { - "alias": "Server", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 2, - "mappingType": 1, - "pattern": "weblogic_serverName", - "thresholds": [], - "type": "string", - "unit": "short" - }, - { - "alias": "Name", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 2, - "mappingType": 1, - "pattern": "name", - "thresholds": [], - "type": "string", - "unit": "short" - }, - { - "alias": "Active Connections", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 0, - "mappingType": 1, - "pattern": "Value #A", - "thresholds": [], - "type": "number", - "unit": "short" - }, - { - "alias": "Current Capacity", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 0, - "mappingType": 1, - "pattern": "Value #C", - "thresholds": [], - "type": "number", - "unit": "short" - }, - { - "alias": "Total Connections", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 0, - "mappingType": 1, - "pattern": "Value #D", - "thresholds": [], - "type": "number", - "unit": "short" - }, - { - "alias": "Total Connections", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 0, - "mappingType": 1, - "pattern": "Value #D", - "thresholds": [], - "type": "number", - "unit": "short" - }, - { - "alias": "", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "decimals": 2, - "pattern": "/.*/", - "thresholds": [], - "type": "hidden", - "unit": "short" - } - ], - "targets": [ - { - "expr": "sum(wls_datasource_curr_capacity{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (weblogic_serverName,name)", - "format": "table", - "instant": true, - "intervalFactor": 1, - "refId": "C" - }, - { - "expr": "sum(wls_datasource_active_connections_current_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (weblogic_serverName,name)", - "format": "table", - "instant": true, - "intervalFactor": 1, - "refId": "A" - }, - { - "expr": "sum(wls_datasource_connections_total_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (weblogic_serverName,name)", - "format": "table", - "instant": true, - "intervalFactor": 1, - "refId": "D" - } - ], - "timeFrom": null, - "timeShift": null, - "title": "Overview", - "transform": "table", - "type": "table" - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$datasource", - "fill": 1, - "gridPos": { - "h": 8, - "w": 13, - "x": 0, - "y": 33 - }, - "id": 50, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "sort": "current", - "sortDesc": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "paceLength": 10, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "wls_datasource_active_connections_current_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": " {{name}} @ {{weblogic_serverName}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Active Connections", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "decimals": 0, - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "$datasource", - "fill": 1, - "gridPos": { - "h": 8, - "w": 11, - "x": 13, - "y": 33 - }, - "id": 71, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "paceLength": 10, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "irate(wls_datasource_connections_total_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}[5m])", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": " {{name}} @ {{weblogic_serverName}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Connection Rate", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "decimals": 0, - "format": "short", - "label": "per second", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$datasource", - "fill": 1, - "gridPos": { - "h": 9, - "w": 11, - "x": 0, - "y": 41 - }, - "id": 46, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "paceLength": 10, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "wls_datasource_waiting_for_connection_current_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": " {{name}} @ {{weblogic_serverName}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Pending Connection Requests", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "decimals": 0, - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$datasource", - "fill": 1, - "gridPos": { - "h": 9, - "w": 13, - "x": 11, - "y": 41 - }, - "id": 73, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "paceLength": 10, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "wls_datasource_connection_delay_time{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": " {{name}} @ {{weblogic_serverName}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Average Connection Delay Time", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "decimals": 0, - "format": "ms", - "label": null, - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - } - ], - "title": "Data Sources", - "type": "row" - }, - { - "collapsed": true, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 26 - }, - "id": 40, - "panels": [ - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$datasource", - "fill": 1, - "gridPos": { - "h": 6, - "w": 12, - "x": 0, - "y": 30 - }, - "id": 145, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "paceLength": 10, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(wls_jmsruntime_connections_current_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (weblogic_serverName)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{weblogic_serverName}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "JMS Connections", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "decimals": 0, - "format": "short", - "label": "", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$datasource", - "fill": 1, - "gridPos": { - "h": 6, - "w": 12, - "x": 12, - "y": 30 - }, - "id": 147, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "paceLength": 10, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(irate(wls_jmsruntime_connections_total_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}[5m])) by (weblogic_serverName)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{weblogic_serverName}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "JMS Connection Rate", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "decimals": null, - "format": "short", - "label": "", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "columns": [], - "datasource": "$datasource", - "fontSize": "100%", - "gridPos": { - "h": 4, - "w": 24, - "x": 0, - "y": 36 - }, - "hideTimeOverride": true, - "id": 113, - "links": [], - "pageSize": null, - "scroll": true, - "showHeader": true, - "sort": { - "col": 0, - "desc": true - }, - "styles": [ - { - "alias": "Time", - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "pattern": "Time", - "type": "hidden" - }, - { - "alias": "Name", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 2, - "mappingType": 1, - "pattern": "jmsserver", - "thresholds": [], - "type": "string", - "unit": "short" - }, - { - "alias": "Current Dests", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 0, - "mappingType": 1, - "pattern": "Value #B", - "thresholds": [], - "type": "number", - "unit": "short" - }, - { - "alias": "Total Msgs", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 0, - "mappingType": 1, - "pattern": "Value #A", - "thresholds": [], - "type": "number", - "unit": "short" - }, - { - "alias": "Total Bytes", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 0, - "mappingType": 1, - "pattern": "Value #D", - "thresholds": [], - "type": "number", - "unit": "bytes" - }, - { - "alias": "Total Dests", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 0, - "mappingType": 1, - "pattern": "Value #E", - "thresholds": [], - "type": "number", - "unit": "short" - }, - { - "alias": "", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "decimals": 2, - "pattern": "/.*/", - "thresholds": [], - "type": "hidden", - "unit": "short" - } - ], - "targets": [ - { - "expr": "sum(wls_jms_destinations_current_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (jmsserver)", - "format": "table", - "instant": true, - "intervalFactor": 1, - "refId": "B" - }, - { - "expr": "sum(wls_jms_messages_received_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (jmsserver)", - "format": "table", - "instant": true, - "intervalFactor": 1, - "refId": "A" - }, - { - "expr": "sum(wls_jms_bytes_received_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (jmsserver)", - "format": "table", - "instant": true, - "intervalFactor": 1, - "refId": "D" - }, - { - "expr": "sum(wls_jms_destinations_total_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (jmsserver)", - "format": "table", - "instant": true, - "intervalFactor": 1, - "refId": "E" - }, - { - "expr": "sum(wls_jms_destinations_current_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (jmsserver)", - "format": "table", - "instant": true, - "intervalFactor": 1, - "refId": "F" - } - ], - "timeFrom": null, - "timeShift": null, - "title": "JMSServer Overview", - "transform": "table", - "type": "table" - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$datasource", - "fill": 1, - "gridPos": { - "h": 7, - "w": 12, - "x": 0, - "y": 40 - }, - "id": 54, - "legend": { - "alignAsTable": false, - "avg": false, - "current": true, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "paceLength": 10, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(wls_jms_messages_current_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (jmsserver)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Current ({{jmsserver}})", - "refId": "A" - }, - { - "expr": "sum(wls_jms_messages_pending_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (jmsserver)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Pending ({{jmsserver}})", - "refId": "B" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Messages", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "decimals": 0, - "format": "short", - "label": "", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$datasource", - "fill": 1, - "gridPos": { - "h": 7, - "w": 12, - "x": 12, - "y": 40 - }, - "id": 56, - "legend": { - "alignAsTable": false, - "avg": false, - "current": true, - "max": false, - "min": false, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "paceLength": 10, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(wls_jms_bytes_current_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (jmsserver)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Current ({{jmsserver}})", - "refId": "A" - }, - { - "expr": "sum(wls_jms_bytes_pending_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (jmsserver)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Pending ({{jmsserver}})", - "refId": "B" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Bytes", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "decimals": 0, - "format": "short", - "label": "", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "$datasource", - "fill": 1, - "gridPos": { - "h": 7, - "w": 12, - "x": 0, - "y": 47 - }, - "id": 58, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "paceLength": 10, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(irate(wls_jms_messages_received_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}[5m])) by (jmsserver)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{jmsserver}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Received Message Rate ", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "decimals": null, - "format": "short", - "label": "", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "$datasource", - "fill": 1, - "gridPos": { - "h": 7, - "w": 12, - "x": 12, - "y": 47 - }, - "id": 117, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "paceLength": 10, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(irate(wls_jms_bytes_received_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}[5m])) by (jmsserver)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{jmsserver}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Received Byte Rate", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "decimals": null, - "format": "short", - "label": "", - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "columns": [], - "datasource": "$datasource", - "fontSize": "100%", - "gridPos": { - "h": 5, - "w": 24, - "x": 0, - "y": 54 - }, - "hideTimeOverride": true, - "id": 119, - "links": [], - "pageSize": null, - "scroll": true, - "showHeader": true, - "sort": { - "col": 3, - "desc": false - }, - "styles": [ - { - "alias": "Time", - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "pattern": "Time", - "type": "hidden" - }, - { - "alias": "Destination", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 2, - "mappingType": 1, - "pattern": "destination", - "thresholds": [], - "type": "string", - "unit": "short" - }, - { - "alias": "Current Consumers", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 0, - "mappingType": 1, - "pattern": "Value #A", - "thresholds": [], - "type": "number", - "unit": "short" - }, - { - "alias": "Current Msgs", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 0, - "mappingType": 1, - "pattern": "Value #B", - "thresholds": [], - "type": "number", - "unit": "short" - }, - { - "alias": "Pending Msgs", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 0, - "mappingType": 1, - "pattern": "Value #C", - "thresholds": [], - "type": "number", - "unit": "short" - }, - { - "alias": "Currrent Bytes", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 0, - "mappingType": 1, - "pattern": "Value #D", - "thresholds": [], - "type": "number", - "unit": "bytes" - }, - { - "alias": "Pending Bytes", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 0, - "mappingType": 1, - "pattern": "Value #E", - "thresholds": [], - "type": "number", - "unit": "short" - }, - { - "alias": "Total Msgs", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 0, - "mappingType": 1, - "pattern": "Value #F", - "thresholds": [], - "type": "number", - "unit": "short" - }, - { - "alias": "Total Bytes", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 0, - "mappingType": 1, - "pattern": "Value #G", - "thresholds": [], - "type": "number", - "unit": "short" - }, - { - "alias": "", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "decimals": 2, - "pattern": "/.*/", - "thresholds": [], - "type": "hidden", - "unit": "short" - } - ], - "targets": [ - { - "expr": "sum(wls_jms_dest_consumers_current_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (destination)", - "format": "table", - "instant": true, - "intervalFactor": 1, - "refId": "A" - }, - { - "expr": "sum(wls_jms_dest_messages_current_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (destination)", - "format": "table", - "instant": true, - "intervalFactor": 1, - "refId": "B" - }, - { - "expr": "sum(wls_jms_dest_messages_pending_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (destination)", - "format": "table", - "instant": true, - "intervalFactor": 1, - "refId": "C" - }, - { - "expr": "sum(wls_jms_dest_bytes_current_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (destination)", - "format": "table", - "instant": true, - "intervalFactor": 1, - "refId": "D" - }, - { - "expr": "sum(wls_jms_dest_bytes_pending_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (destination)", - "format": "table", - "instant": true, - "intervalFactor": 1, - "refId": "E" - }, - { - "expr": "sum(wls_jms_dest_messages_received_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (destination)", - "format": "table", - "instant": true, - "interval": "", - "intervalFactor": 1, - "refId": "F" - }, - { - "expr": "sum(wls_jms_dest_bytes_received_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (destination)", - "format": "table", - "instant": true, - "intervalFactor": 1, - "refId": "G" - } - ], - "timeFrom": null, - "timeShift": null, - "title": "Destinations Overview", - "transform": "table", - "type": "table" - } - ], - "title": "JMS Services", - "type": "row" - } - ], - "refresh": false, - "schemaVersion": 16, - "style": "dark", - "tags": [], - "templating": { - "list": [ - { - "current": { - "text": "prometheus", - "value": "Prometheus-1" - }, - "hide": 0, - "label": null, - "name": "datasource", - "options": [], - "query": "prometheus", - "refresh": 1, - "regex": "", - "type": "datasource" - }, - { - "allValue": null, - "current": {}, - "datasource": "$datasource", - "hide": 0, - "includeAll": false, - "label": "Domain", - "multi": false, - "name": "domainName", - "options": [], - "query": "label_values(weblogic_domainUID)", - "refresh": 1, - "regex": "", - "sort": 2, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "allValue": null, - "current": {}, - "datasource": "$datasource", - "hide": 0, - "includeAll": false, - "label": "Cluster", - "multi": false, - "name": "clusterName", - "options": [], - "query": "label_values(wls_jvm_uptime{weblogic_domainUID=\"$domainName\"},weblogic_clusterName)", - "refresh": 1, - "regex": "", - "sort": 2, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "allValue": null, - "current": {}, - "datasource": "$datasource", - "hide": 0, - "includeAll": true, - "label": "Server", - "multi": true, - "name": "serverName", - "options": [], - "query": "label_values(wls_jvm_uptime{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\"},weblogic_serverName)", - "refresh": 1, - "regex": "", - "sort": 2, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "allValue": null, - "current": { - "selected": false, - "tags": [], - "text": "5", - "value": "5" - }, - "hide": 0, - "includeAll": false, - "label": "Top N", - "multi": false, - "name": "topN", - "options": [ - { - "selected": false, - "text": "3", - "value": "3" - }, - { - "selected": true, - "text": "5", - "value": "5" - }, - { - "selected": false, - "text": "7", - "value": "7" - }, - { - "selected": false, - "text": "10", - "value": "10" - } - ], - "query": "3, 5, 7, 10", - "skipUrlSync": false, - "type": "custom" - } - ] - }, - "time": { - "from": "now-30m", - "to": "now" - }, - "timepicker": { - "hidden": false, - "refresh_intervals": [ - "5s", - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], - "time_options": [ - "5m", - "15m", - "1h", - "6h", - "12h", - "24h", - "2d", - "7d", - "30d" - ] - }, - "timezone": "", - "title": "WebLogic Server Dashboard", - "uid": "5yUwzbZWz", - "version": 6 +{ + "__inputs": [], + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "5.2.4" + }, + { + "type": "panel", + "id": "graph", + "name": "Graph", + "version": "5.0.0" + }, + { + "type": "panel", + "id": "singlestat", + "name": "Singlestat", + "version": "5.0.0" + }, + { + "type": "panel", + "id": "table", + "name": "Table", + "version": "5.0.0" + } + ], + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "editable": true, + "gnetId": null, + "graphTooltip": 0, + "id": null, + "iteration": 1563266678971, + "links": [], + "panels": [ + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 32, + "panels": [], + "title": "Servers", + "type": "row" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "$datasource", + "decimals": 0, + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 13, + "x": 0, + "y": 1 + }, + "hideTimeOverride": true, + "id": 16, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "expr": "count(count (wls_jvm_uptime{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\"}) by (name))", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{weblogic_serverName}}", + "refId": "A" + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "Running Servers", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "avg" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "$datasource", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 11, + "x": 13, + "y": 1 + }, + "id": 23, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "expr": "count(count(wls_webapp_config_deployment_state{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\"}) by (app))", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "", + "refId": "A" + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "Deployed Applications", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "avg" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "$datasource", + "decimals": 1, + "description": "", + "format": "percent", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 6, + "x": 0, + "y": 4 + }, + "hideTimeOverride": true, + "id": 104, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": "serverName", + "repeatDirection": "v", + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "weblogic_serverName", + "targets": [ + { + "expr": "wls_server_activation_time{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\",weblogic_serverName=\"$serverName\"}", + "format": "table", + "hide": false, + "instant": true, + "interval": "10s", + "intervalFactor": 2, + "legendFormat": "", + "refId": "A" + } + ], + "thresholds": "50,80", + "timeFrom": null, + "timeShift": null, + "title": "Server Name", + "type": "singlestat", + "valueFontSize": "50%", + "valueMaps": [ + { + "op": "=", + "text": "", + "value": "" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#56A64B", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "$datasource", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 4, + "x": 6, + "y": 4 + }, + "id": 84, + "interval": "", + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": "serverName", + "repeatDirection": "v", + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "expr": "wls_server_state_val{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=\"$serverName\"}", + "format": "time_series", + "intervalFactor": 1, + "refId": "A" + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "Server Status", + "type": "singlestat", + "valueFontSize": "50%", + "valueMaps": [ + { + "op": "=", + "text": "SHUTDOWN", + "value": "0" + }, + { + "op": "=", + "text": "STARTING", + "value": "1" + }, + { + "op": "=", + "text": "RUNNING", + "value": "2" + }, + { + "op": "=", + "text": "STANDBY", + "value": "3" + }, + { + "op": "=", + "text": "FAILED", + "value": "8" + }, + { + "op": "=", + "text": "FAILED", + "value": "17" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "$datasource", + "decimals": 1, + "description": "", + "format": "percent", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": true, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 4, + "x": 10, + "y": 4 + }, + "hideTimeOverride": true, + "id": 27, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": "serverName", + "repeatDirection": "v", + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": true + }, + "tableColumn": "instance", + "targets": [ + { + "expr": "100 - wls_jvm_heap_free_percent{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=\"$serverName\"}", + "format": "time_series", + "hide": false, + "instant": true, + "interval": "10s", + "intervalFactor": 2, + "legendFormat": "", + "refId": "A" + } + ], + "thresholds": "50,80", + "timeFrom": null, + "timeShift": null, + "title": "Heap Usage", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "", + "value": "" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorPostfix": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "$datasource", + "decimals": 1, + "description": "", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 5, + "x": 14, + "y": 4 + }, + "hideTimeOverride": true, + "id": 91, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": "serverName", + "repeatDirection": "v", + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "instance", + "targets": [ + { + "expr": "wls_jvm_uptime{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=\"$serverName\"}", + "format": "time_series", + "hide": false, + "instant": true, + "interval": "10s", + "intervalFactor": 2, + "legendFormat": "", + "refId": "A" + } + ], + "thresholds": "50,80", + "timeFrom": null, + "timeShift": null, + "title": "Running Time", + "type": "singlestat", + "valueFontSize": "50%", + "valueMaps": [ + { + "op": "=", + "text": "", + "value": "" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorPostfix": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "$datasource", + "decimals": 0, + "description": "", + "format": "short", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 5, + "x": 19, + "y": 4 + }, + "hideTimeOverride": true, + "id": 96, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": "serverName", + "repeatDirection": "v", + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "instance", + "targets": [ + { + "expr": "wls_server_open_sockets_current_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=\"$serverName\"}", + "format": "time_series", + "hide": false, + "instant": true, + "interval": "10s", + "intervalFactor": 2, + "legendFormat": "", + "refId": "A" + } + ], + "thresholds": "50,80", + "timeFrom": null, + "timeShift": null, + "title": "Open Sockets", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "", + "value": "" + } + ], + "valueName": "current" + }, + { + "aliasColors": { + " heap free managed-server-1": "super-light-green", + " heap free managed-server-2": "dark-green", + "heap size managed-server-1 ": "super-light-red", + "heap size managed-server-2 ": "dark-red" + }, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$datasource", + "fill": 1, + "gridPos": { + "h": 10, + "w": 24, + "x": 0, + "y": 7 + }, + "id": 12, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": false, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "wls_jvm_heap_free_current{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": " Heap Free ({{weblogic_serverName}})", + "refId": "B" + }, + { + "expr": "wls_jvm_heap_size_current{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}", + "format": "time_series", + "instant": false, + "intervalFactor": 1, + "legendFormat": "Heap Size ({{weblogic_serverName}})", + "refId": "A" + }, + { + "expr": "wls_jvm_heap_size_max{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}", + "format": "time_series", + "hide": true, + "intervalFactor": 1, + "legendFormat": "Heap Max ({{weblogic_serverName}})", + "refId": "C" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "JVM Heap", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": { + " heap free managed-server-1": "super-light-green", + " heap free managed-server-2": "dark-green", + "heap size managed-server-1 ": "super-light-red", + "heap size managed-server-2 ": "dark-red" + }, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$datasource", + "fill": 1, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 17 + }, + "id": 21, + "legend": { + "alignAsTable": false, + "avg": false, + "current": true, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "wls_jvm_process_cpu_load{weblogic_domainUID=~\"$domainName\", weblogic_clusterName=~\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"} * 100", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": " {{weblogic_serverName}}", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "CPU Load", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "percent", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$datasource", + "fill": 1, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 17 + }, + "id": 10, + "legend": { + "alignAsTable": false, + "avg": false, + "current": true, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "wls_threadpool_execute_thread_total_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "Total Threads ({{weblogic_serverName}})", + "refId": "A" + }, + { + "expr": "wls_threadpool_stuck_thread_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "Stuck Threads ({{weblogic_serverName}})", + "refId": "D" + }, + { + "expr": "wls_threadpool_queue_length{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}", + "format": "time_series", + "hide": true, + "intervalFactor": 1, + "legendFormat": "queue", + "refId": "C" + }, + { + "expr": "wls_threadpool_hogging_thread_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}", + "format": "time_series", + "hide": true, + "intervalFactor": 1, + "legendFormat": "hogging", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Thread Pool", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 24 + }, + "id": 35, + "panels": [ + { + "columns": [], + "datasource": "$datasource", + "fontSize": "100%", + "gridPos": { + "h": 7, + "w": 8, + "x": 0, + "y": 28 + }, + "hideTimeOverride": true, + "id": 126, + "links": [], + "pageSize": null, + "scroll": true, + "showHeader": true, + "sort": { + "col": 13, + "desc": true + }, + "styles": [ + { + "alias": "Time", + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "pattern": "Time", + "type": "hidden" + }, + { + "alias": "Webapp", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "app", + "thresholds": [], + "type": "string", + "unit": "short" + }, + { + "alias": "Total Sessions", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 0, + "mappingType": 1, + "pattern": "Value", + "thresholds": [], + "type": "number", + "unit": "short" + }, + { + "alias": "", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "decimals": 2, + "pattern": "/.*/", + "thresholds": [], + "type": "hidden", + "unit": "short" + } + ], + "targets": [ + { + "expr": "topk($topN,sum(wls_webapp_config_sessions_opened_total_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (app))", + "format": "table", + "instant": true, + "intervalFactor": 1, + "refId": "B" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Total Sessions (top $topN)", + "transform": "table", + "type": "table" + }, + { + "columns": [], + "datasource": "$datasource", + "fontSize": "100%", + "gridPos": { + "h": 7, + "w": 8, + "x": 8, + "y": 28 + }, + "hideTimeOverride": true, + "id": 136, + "links": [], + "pageSize": null, + "scroll": true, + "showHeader": true, + "sort": { + "col": 13, + "desc": true + }, + "styles": [ + { + "alias": "Time", + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "pattern": "Time", + "type": "hidden" + }, + { + "alias": "Webapp", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "app", + "thresholds": [], + "type": "string", + "unit": "short" + }, + { + "alias": "Total Requests", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 0, + "mappingType": 1, + "pattern": "Value", + "thresholds": [], + "type": "number", + "unit": "short" + }, + { + "alias": "", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "decimals": 2, + "pattern": "/.*/", + "thresholds": [], + "type": "hidden", + "unit": "short" + } + ], + "targets": [ + { + "expr": "topk($topN,sum(wls_servlet_invocation_total_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (app))", + "format": "table", + "instant": true, + "intervalFactor": 1, + "refId": "B" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Total Requests (top $topN)", + "transform": "table", + "type": "table" + }, + { + "columns": [], + "datasource": "$datasource", + "fontSize": "100%", + "gridPos": { + "h": 7, + "w": 8, + "x": 16, + "y": 28 + }, + "hideTimeOverride": true, + "id": 134, + "links": [], + "pageSize": null, + "scroll": true, + "showHeader": true, + "sort": { + "col": 13, + "desc": true + }, + "styles": [ + { + "alias": "Time", + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "pattern": "Time", + "type": "hidden" + }, + { + "alias": "Webapp", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "app", + "thresholds": [], + "type": "string", + "unit": "short" + }, + { + "alias": "Total Time", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 0, + "mappingType": 1, + "pattern": "Value", + "thresholds": [], + "type": "number", + "unit": "ms" + }, + { + "alias": "", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "decimals": 2, + "pattern": "/.*/", + "thresholds": [], + "type": "hidden", + "unit": "short" + } + ], + "targets": [ + { + "expr": "topk($topN,sum(wls_servlet_execution_time_total{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (app))", + "format": "table", + "instant": true, + "intervalFactor": 1, + "refId": "B" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Total Execution Time (top $topN)", + "transform": "table", + "type": "table" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$datasource", + "fill": 1, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 35 + }, + "id": 14, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "sort": "current", + "sortDesc": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(wls_webapp_config_open_sessions_current_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (app)", + "format": "time_series", + "interval": "", + "intervalFactor": 1, + "legendFormat": "{{app}}", + "refId": "A" + }, + { + "expr": "", + "format": "time_series", + "intervalFactor": 1, + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Current Sessions ", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": "", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "$datasource", + "fill": 1, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 35 + }, + "id": 128, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "sort": "current", + "sortDesc": true, + "total": false, + "values": false + }, + "lines": false, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": " sum(irate(wls_webapp_config_sessions_opened_total_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}[5m])) by (app)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{app}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Session Rate ", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": 0, + "format": "short", + "label": "per second", + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$datasource", + "fill": 1, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 43 + }, + "id": 132, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "sort": "current", + "sortDesc": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "(sum(wls_servlet_execution_time_average{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (app)) / (count(wls_servlet_execution_time_average{weblogic_domainUID=\"domain1\", weblogic_clusterName=\"cluster-1\"}) by (app))", + "format": "time_series", + "interval": "", + "intervalFactor": 1, + "legendFormat": "{{app}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Execution Time per Request ", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ms", + "label": "", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "$datasource", + "fill": 1, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 43 + }, + "id": 138, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "sort": "current", + "sortDesc": true, + "total": false, + "values": false + }, + "lines": false, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(irate(wls_servlet_invocation_total_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}[5m])) by (app)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{app}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Request Rate ", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": 0, + "format": "short", + "label": "per second", + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "title": "Web Applications", + "type": "row" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 25 + }, + "id": 43, + "panels": [ + { + "columns": [], + "datasource": "$datasource", + "fontSize": "100%", + "gridPos": { + "h": 4, + "w": 24, + "x": 0, + "y": 29 + }, + "hideTimeOverride": true, + "id": 111, + "links": [], + "pageSize": null, + "scroll": true, + "showHeader": true, + "sort": { + "col": 0, + "desc": true + }, + "styles": [ + { + "alias": "Time", + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "pattern": "Time", + "type": "hidden" + }, + { + "alias": "Server", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "weblogic_serverName", + "thresholds": [], + "type": "string", + "unit": "short" + }, + { + "alias": "Name", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "name", + "thresholds": [], + "type": "string", + "unit": "short" + }, + { + "alias": "Active Connections", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 0, + "mappingType": 1, + "pattern": "Value #A", + "thresholds": [], + "type": "number", + "unit": "short" + }, + { + "alias": "Current Capacity", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 0, + "mappingType": 1, + "pattern": "Value #C", + "thresholds": [], + "type": "number", + "unit": "short" + }, + { + "alias": "Total Connections", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 0, + "mappingType": 1, + "pattern": "Value #D", + "thresholds": [], + "type": "number", + "unit": "short" + }, + { + "alias": "Total Connections", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 0, + "mappingType": 1, + "pattern": "Value #D", + "thresholds": [], + "type": "number", + "unit": "short" + }, + { + "alias": "", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "decimals": 2, + "pattern": "/.*/", + "thresholds": [], + "type": "hidden", + "unit": "short" + } + ], + "targets": [ + { + "expr": "sum(wls_datasource_curr_capacity{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (weblogic_serverName,name)", + "format": "table", + "instant": true, + "intervalFactor": 1, + "refId": "C" + }, + { + "expr": "sum(wls_datasource_active_connections_current_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (weblogic_serverName,name)", + "format": "table", + "instant": true, + "intervalFactor": 1, + "refId": "A" + }, + { + "expr": "sum(wls_datasource_connections_total_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (weblogic_serverName,name)", + "format": "table", + "instant": true, + "intervalFactor": 1, + "refId": "D" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Overview", + "transform": "table", + "type": "table" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$datasource", + "fill": 1, + "gridPos": { + "h": 8, + "w": 13, + "x": 0, + "y": 33 + }, + "id": 50, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "sort": "current", + "sortDesc": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "wls_datasource_active_connections_current_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": " {{name}} @ {{weblogic_serverName}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Active Connections", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": 0, + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "$datasource", + "fill": 1, + "gridPos": { + "h": 8, + "w": 11, + "x": 13, + "y": 33 + }, + "id": 71, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "irate(wls_datasource_connections_total_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}[5m])", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": " {{name}} @ {{weblogic_serverName}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Connection Rate", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": 0, + "format": "short", + "label": "per second", + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$datasource", + "fill": 1, + "gridPos": { + "h": 9, + "w": 11, + "x": 0, + "y": 41 + }, + "id": 46, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "wls_datasource_waiting_for_connection_current_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": " {{name}} @ {{weblogic_serverName}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Pending Connection Requests", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": 0, + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$datasource", + "fill": 1, + "gridPos": { + "h": 9, + "w": 13, + "x": 11, + "y": 41 + }, + "id": 73, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "wls_datasource_connection_delay_time{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": " {{name}} @ {{weblogic_serverName}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Average Connection Delay Time", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": 0, + "format": "ms", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "title": "Data Sources", + "type": "row" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 26 + }, + "id": 40, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$datasource", + "fill": 1, + "gridPos": { + "h": 6, + "w": 12, + "x": 0, + "y": 30 + }, + "id": 145, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(wls_jmsruntime_connections_current_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (weblogic_serverName)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{weblogic_serverName}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "JMS Connections", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": 0, + "format": "short", + "label": "", + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$datasource", + "fill": 1, + "gridPos": { + "h": 6, + "w": 12, + "x": 12, + "y": 30 + }, + "id": 147, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(irate(wls_jmsruntime_connections_total_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}[5m])) by (weblogic_serverName)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{weblogic_serverName}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "JMS Connection Rate", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": null, + "format": "short", + "label": "", + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "columns": [], + "datasource": "$datasource", + "fontSize": "100%", + "gridPos": { + "h": 4, + "w": 24, + "x": 0, + "y": 36 + }, + "hideTimeOverride": true, + "id": 113, + "links": [], + "pageSize": null, + "scroll": true, + "showHeader": true, + "sort": { + "col": 0, + "desc": true + }, + "styles": [ + { + "alias": "Time", + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "pattern": "Time", + "type": "hidden" + }, + { + "alias": "Name", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "jmsserver", + "thresholds": [], + "type": "string", + "unit": "short" + }, + { + "alias": "Current Dests", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 0, + "mappingType": 1, + "pattern": "Value #B", + "thresholds": [], + "type": "number", + "unit": "short" + }, + { + "alias": "Total Msgs", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 0, + "mappingType": 1, + "pattern": "Value #A", + "thresholds": [], + "type": "number", + "unit": "short" + }, + { + "alias": "Total Bytes", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 0, + "mappingType": 1, + "pattern": "Value #D", + "thresholds": [], + "type": "number", + "unit": "bytes" + }, + { + "alias": "Total Dests", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 0, + "mappingType": 1, + "pattern": "Value #E", + "thresholds": [], + "type": "number", + "unit": "short" + }, + { + "alias": "", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "decimals": 2, + "pattern": "/.*/", + "thresholds": [], + "type": "hidden", + "unit": "short" + } + ], + "targets": [ + { + "expr": "sum(wls_jms_destinations_current_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (jmsserver)", + "format": "table", + "instant": true, + "intervalFactor": 1, + "refId": "B" + }, + { + "expr": "sum(wls_jms_messages_received_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (jmsserver)", + "format": "table", + "instant": true, + "intervalFactor": 1, + "refId": "A" + }, + { + "expr": "sum(wls_jms_bytes_received_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (jmsserver)", + "format": "table", + "instant": true, + "intervalFactor": 1, + "refId": "D" + }, + { + "expr": "sum(wls_jms_destinations_total_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (jmsserver)", + "format": "table", + "instant": true, + "intervalFactor": 1, + "refId": "E" + }, + { + "expr": "sum(wls_jms_destinations_current_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (jmsserver)", + "format": "table", + "instant": true, + "intervalFactor": 1, + "refId": "F" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "JMSServer Overview", + "transform": "table", + "type": "table" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$datasource", + "fill": 1, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 40 + }, + "id": 54, + "legend": { + "alignAsTable": false, + "avg": false, + "current": true, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(wls_jms_messages_current_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (jmsserver)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "Current ({{jmsserver}})", + "refId": "A" + }, + { + "expr": "sum(wls_jms_messages_pending_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (jmsserver)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "Pending ({{jmsserver}})", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Messages", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": 0, + "format": "short", + "label": "", + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$datasource", + "fill": 1, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 40 + }, + "id": 56, + "legend": { + "alignAsTable": false, + "avg": false, + "current": true, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(wls_jms_bytes_current_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (jmsserver)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "Current ({{jmsserver}})", + "refId": "A" + }, + { + "expr": "sum(wls_jms_bytes_pending_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (jmsserver)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "Pending ({{jmsserver}})", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Bytes", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": 0, + "format": "short", + "label": "", + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "$datasource", + "fill": 1, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 47 + }, + "id": 58, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(irate(wls_jms_messages_received_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}[5m])) by (jmsserver)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{jmsserver}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Received Message Rate ", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": null, + "format": "short", + "label": "", + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "$datasource", + "fill": 1, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 47 + }, + "id": 117, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(irate(wls_jms_bytes_received_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}[5m])) by (jmsserver)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{jmsserver}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Received Byte Rate", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": null, + "format": "short", + "label": "", + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "columns": [], + "datasource": "$datasource", + "fontSize": "100%", + "gridPos": { + "h": 5, + "w": 24, + "x": 0, + "y": 54 + }, + "hideTimeOverride": true, + "id": 119, + "links": [], + "pageSize": null, + "scroll": true, + "showHeader": true, + "sort": { + "col": 3, + "desc": false + }, + "styles": [ + { + "alias": "Time", + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "pattern": "Time", + "type": "hidden" + }, + { + "alias": "Destination", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "destination", + "thresholds": [], + "type": "string", + "unit": "short" + }, + { + "alias": "Current Consumers", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 0, + "mappingType": 1, + "pattern": "Value #A", + "thresholds": [], + "type": "number", + "unit": "short" + }, + { + "alias": "Current Msgs", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 0, + "mappingType": 1, + "pattern": "Value #B", + "thresholds": [], + "type": "number", + "unit": "short" + }, + { + "alias": "Pending Msgs", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 0, + "mappingType": 1, + "pattern": "Value #C", + "thresholds": [], + "type": "number", + "unit": "short" + }, + { + "alias": "Currrent Bytes", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 0, + "mappingType": 1, + "pattern": "Value #D", + "thresholds": [], + "type": "number", + "unit": "bytes" + }, + { + "alias": "Pending Bytes", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 0, + "mappingType": 1, + "pattern": "Value #E", + "thresholds": [], + "type": "number", + "unit": "short" + }, + { + "alias": "Total Msgs", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 0, + "mappingType": 1, + "pattern": "Value #F", + "thresholds": [], + "type": "number", + "unit": "short" + }, + { + "alias": "Total Bytes", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 0, + "mappingType": 1, + "pattern": "Value #G", + "thresholds": [], + "type": "number", + "unit": "short" + }, + { + "alias": "", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "decimals": 2, + "pattern": "/.*/", + "thresholds": [], + "type": "hidden", + "unit": "short" + } + ], + "targets": [ + { + "expr": "sum(wls_jms_dest_consumers_current_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (destination)", + "format": "table", + "instant": true, + "intervalFactor": 1, + "refId": "A" + }, + { + "expr": "sum(wls_jms_dest_messages_current_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (destination)", + "format": "table", + "instant": true, + "intervalFactor": 1, + "refId": "B" + }, + { + "expr": "sum(wls_jms_dest_messages_pending_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (destination)", + "format": "table", + "instant": true, + "intervalFactor": 1, + "refId": "C" + }, + { + "expr": "sum(wls_jms_dest_bytes_current_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (destination)", + "format": "table", + "instant": true, + "intervalFactor": 1, + "refId": "D" + }, + { + "expr": "sum(wls_jms_dest_bytes_pending_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (destination)", + "format": "table", + "instant": true, + "intervalFactor": 1, + "refId": "E" + }, + { + "expr": "sum(wls_jms_dest_messages_received_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (destination)", + "format": "table", + "instant": true, + "interval": "", + "intervalFactor": 1, + "refId": "F" + }, + { + "expr": "sum(wls_jms_dest_bytes_received_count{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\", weblogic_serverName=~\"${serverName:regex}\"}) by (destination)", + "format": "table", + "instant": true, + "intervalFactor": 1, + "refId": "G" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Destinations Overview", + "transform": "table", + "type": "table" + } + ], + "title": "JMS Services", + "type": "row" + } + ], + "refresh": false, + "schemaVersion": 16, + "style": "dark", + "tags": [], + "templating": { + "list": [ + { + "current": { + "text": "prometheus", + "value": "Prometheus-1" + }, + "hide": 0, + "label": null, + "name": "datasource", + "options": [], + "query": "prometheus", + "refresh": 1, + "regex": "", + "type": "datasource" + }, + { + "allValue": null, + "current": {}, + "datasource": "$datasource", + "hide": 0, + "includeAll": false, + "label": "Domain", + "multi": false, + "name": "domainName", + "options": [], + "query": "label_values(weblogic_domainUID)", + "refresh": 1, + "regex": "", + "sort": 2, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": {}, + "datasource": "$datasource", + "hide": 0, + "includeAll": false, + "label": "Cluster", + "multi": false, + "name": "clusterName", + "options": [], + "query": "label_values(wls_jvm_uptime{weblogic_domainUID=\"$domainName\"},weblogic_clusterName)", + "refresh": 1, + "regex": "", + "sort": 2, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": {}, + "datasource": "$datasource", + "hide": 0, + "includeAll": true, + "label": "Server", + "multi": true, + "name": "serverName", + "options": [], + "query": "label_values(wls_jvm_uptime{weblogic_domainUID=\"$domainName\", weblogic_clusterName=\"$clusterName\"},weblogic_serverName)", + "refresh": 1, + "regex": "", + "sort": 2, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": { + "selected": false, + "tags": [], + "text": "5", + "value": "5" + }, + "hide": 0, + "includeAll": false, + "label": "Top N", + "multi": false, + "name": "topN", + "options": [ + { + "selected": false, + "text": "3", + "value": "3" + }, + { + "selected": true, + "text": "5", + "value": "5" + }, + { + "selected": false, + "text": "7", + "value": "7" + }, + { + "selected": false, + "text": "10", + "value": "10" + } + ], + "query": "3, 5, 7, 10", + "skipUrlSync": false, + "type": "custom" + } + ] + }, + "time": { + "from": "now-30m", + "to": "now" + }, + "timepicker": { + "hidden": false, + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ] + }, + "timezone": "", + "title": "WebLogic Server Dashboard", + "uid": "5yUwzbZWz", + "version": 6 } \ No newline at end of file diff --git a/docs-source/content/wcsites-domains/pre-requisites/_index.md b/docs-source/content/wcsites-domains/pre-requisites/_index.md index c1ecaf9b5..82e2eb940 100644 --- a/docs-source/content/wcsites-domains/pre-requisites/_index.md +++ b/docs-source/content/wcsites-domains/pre-requisites/_index.md @@ -1,62 +1,62 @@ ---- -title: "Pre-requisites " -weight: 1 -pre : "1. " -description: "Pre-requisites for setting up WebCenter Sites domains with WebLogic Kubernetes Operator" ---- - - -#### Contents - -* [Introduction](#introduction) -* [System Requirements](#system-requirements) -* [Limitations](#limitations) -* [WebCenter Sites Cluster Sizing Recommendations](#webcenter-sites-cluster-sizing-recommendations) - -#### Introduction - -This document describes the special considerations for deploying and running a WebCenter Sites domain with the WebLogic Kubernetes Operator. -Other than those considerations listed here, WebCenter Sites domains work in the same way as Fusion Middleware Infrastructure domains and WebLogic Server domains. - -In this release, WebCenter Sites domains are supported using the `domain on a persistent volume` -[model](https://oracle.github.io/weblogic-kubernetes-operator/userguide/managing-domains/choosing-a-model/) only where a WebCenter Sites domain is located in a persistent volume (PV). - -#### System Requirements -* Kubernetes 1.13.0+, 1.14.0+, and 1.15.0+ (check with `kubectl version`). -* Flannel networking v0.9.1-amd64 (check with `docker images | grep flannel`). -* Docker 18.9.1 (check with `docker version`) -* Helm 2.14.3+ (check with `helm version`). -* Oracle Fusion Middleware Infrastructure 12.2.1.4.0 image. -* You must have the `cluster-admin` role to install the operator. -* These proxy setup are used for pulling the required binaries and source code from the respective repositories: - * export NO_PROXY="localhost,127.0.0.0/8,$(hostname -i),.your-company.com,/var/run/docker.sock" - * export no_proxy="localhost,127.0.0.0/8,$(hostname -i),.your-company.com,/var/run/docker.sock" - * export http_proxy=http://www-proxy-your-company.com:80 - * export https_proxy=http://www-proxy-your-company.com:80 - * export HTTP_PROXY=http://www-proxy-your-company.com:80 - * export HTTPS_PROXY=http://www-proxy-your-company.com:80 - -NOTE: Add your host IP by using `hostname -i` and also `nslookup` IP addresses to the no_proxy, NO_PROXY list above. - -#### Limitations - -Compared to running a WebLogic Server domain in Kubernetes using the Operator, the -following limitations currently exist for WebCenter Sites domain: - -* `Domain in image` model is not supported in this version of the Operator. -* Only configured clusters are supported. Dynamic clusters are not supported for WebCenter Sites domains. Note that you can still use all of the scaling features. You just need to define the maximum size of your cluster at domain creation time. -* We do not currently support running WebCenter Sites in non-Linux containers. -* Deploying and running a WebCenter Sites domain is supported only in Operator versions 2.4.0 and later. -* The [WebLogic Logging Exporter](https://github.com/oracle/weblogic-logging-exporter) - currently supports WebLogic Server logs only. Other logs will not be sent to Elasticsearch. Note, however, that you can use a sidecar with a log handling tool like Logstash or fluentd to get logs. -* The [WebLogic Monitoring Exporter](https://github.com/oracle/weblogic-monitoring-exporter) - currently supports the WebLogic MBean trees only. Support for JRF MBeans has not been added yet. - -#### WebCenter Sites Cluster Sizing Recommendations - -WebCenter Sites | Normal Usage | Moderate Usage | High Usage ---- | --- | --- | --- -Admin Server | No of CPU(s) : 1, Memory : 4GB | No of CPU(s) : 1, Memory : 4GB | No of CPU(s) : 1, Memory : 4GB -Managed Server | No of Servers : 2, No of CPU(s) : 2, Memory : 16GB | No of Servers : 2, No of CPU(s) : 4, Memory : 16GB | No of Servers : 3, No of CPU(s) : 6, Memory : 16-32GB -PV Storage | Minimum 250GB | Minimum 250GB | Minimum 500GB - +--- +title: "Pre-requisites " +weight: 1 +pre : "1. " +description: "Pre-requisites for setting up WebCenter Sites domains with WebLogic Kubernetes Operator" +--- + + +#### Contents + +* [Introduction](#introduction) +* [System Requirements](#system-requirements) +* [Limitations](#limitations) +* [WebCenter Sites Cluster Sizing Recommendations](#webcenter-sites-cluster-sizing-recommendations) + +#### Introduction + +This document describes the special considerations for deploying and running a WebCenter Sites domain with the WebLogic Kubernetes Operator. +Other than those considerations listed here, WebCenter Sites domains work in the same way as Fusion Middleware Infrastructure domains and WebLogic Server domains. + +In this release, WebCenter Sites domains are supported using the `domain on a persistent volume` +[model](https://oracle.github.io/weblogic-kubernetes-operator/userguide/managing-domains/choosing-a-model/) only where a WebCenter Sites domain is located in a persistent volume (PV). + +#### System Requirements +* Kubernetes 1.13.0+, 1.14.0+, and 1.15.0+ (check with `kubectl version`). +* Flannel networking v0.9.1-amd64 (check with `docker images | grep flannel`). +* Docker 18.9.1 (check with `docker version`) +* Helm 2.14.3+ (check with `helm version`). +* Oracle Fusion Middleware Infrastructure 12.2.1.4.0 image. +* You must have the `cluster-admin` role to install the operator. +* These proxy setup are used for pulling the required binaries and source code from the respective repositories: + * export NO_PROXY="localhost,127.0.0.0/8,$(hostname -i),.your-company.com,/var/run/docker.sock" + * export no_proxy="localhost,127.0.0.0/8,$(hostname -i),.your-company.com,/var/run/docker.sock" + * export http_proxy=http://www-proxy-your-company.com:80 + * export https_proxy=http://www-proxy-your-company.com:80 + * export HTTP_PROXY=http://www-proxy-your-company.com:80 + * export HTTPS_PROXY=http://www-proxy-your-company.com:80 + +NOTE: Add your host IP by using `hostname -i` and also `nslookup` IP addresses to the no_proxy, NO_PROXY list above. + +#### Limitations + +Compared to running a WebLogic Server domain in Kubernetes using the Operator, the +following limitations currently exist for WebCenter Sites domain: + +* `Domain in image` model is not supported in this version of the Operator. +* Only configured clusters are supported. Dynamic clusters are not supported for WebCenter Sites domains. Note that you can still use all of the scaling features. You just need to define the maximum size of your cluster at domain creation time. +* We do not currently support running WebCenter Sites in non-Linux containers. +* Deploying and running a WebCenter Sites domain is supported only in Operator versions 2.4.0 and later. +* The [WebLogic Logging Exporter](https://github.com/oracle/weblogic-logging-exporter) + currently supports WebLogic Server logs only. Other logs will not be sent to Elasticsearch. Note, however, that you can use a sidecar with a log handling tool like Logstash or fluentd to get logs. +* The [WebLogic Monitoring Exporter](https://github.com/oracle/weblogic-monitoring-exporter) + currently supports the WebLogic MBean trees only. Support for JRF MBeans has not been added yet. + +#### WebCenter Sites Cluster Sizing Recommendations + +WebCenter Sites | Normal Usage | Moderate Usage | High Usage +--- | --- | --- | --- +Admin Server | No of CPU(s) : 1, Memory : 4GB | No of CPU(s) : 1, Memory : 4GB | No of CPU(s) : 1, Memory : 4GB +Managed Server | No of Servers : 2, No of CPU(s) : 2, Memory : 16GB | No of Servers : 2, No of CPU(s) : 4, Memory : 16GB | No of Servers : 3, No of CPU(s) : 6, Memory : 16-32GB +PV Storage | Minimum 250GB | Minimum 250GB | Minimum 500GB + diff --git a/docs-source/content/wcsites-domains/prepare-your-environment/_index.md b/docs-source/content/wcsites-domains/prepare-your-environment/_index.md index 14c3f818d..e57862b89 100644 --- a/docs-source/content/wcsites-domains/prepare-your-environment/_index.md +++ b/docs-source/content/wcsites-domains/prepare-your-environment/_index.md @@ -14,6 +14,7 @@ This document describes the steps to set up the environment that includes settin * [Set Up the Code Repository to Deploy Oracle WebCenter Sites Domain](#set-up-the-code-repository-to-deploy-oracle-webcenter-sites-domain) * [Grant Roles and Clear Stale Resources](#grant-roles-and-clear-stale-resources) * [Install the WebLogic Kubernetes Operator](#install-the-weblogic-kubernetes-operator) +* [Configure NFS Server](#configure-nfs-server) * [Prepare the Environment for the WebCenter Sites Domain](#prepare-the-environment-for-the-webcenter-sites-domain) * [Set Up the Database](#set-up-the-database) @@ -21,7 +22,7 @@ This document describes the steps to set up the environment that includes settin #### Set Up your Kubernetes Cluster -If you need help in setting up a Kubernetes environment, check our [cheat sheet](https://oracle.github.io/weblogic-kubernetes-operator/userguide/overview/k8s-setup/). +If you need help in setting up a Kubernetes environment, check our [cheat sheet](https://oracle.github.io/weblogic-kubernetes-operator/userguide/overview/k8s-setup). After creating Kubernetes clusters, you can optionally: @@ -262,6 +263,29 @@ $ cd /weblogic-kubernetes-operator-2.4.0 {"timestamp":"03-14-2020T06:49:57.910+0000","thread":21,"fiber":"fiber-1","domainUID":"","level":"INFO","class":"oracle.kubernetes.operator.rest.RestServer","method":"start","timeInMillis":1584168597910,"message":"Started the internal ssl REST server on https://0.0.0.0:8082/operator","exception":"","code":"","headers":{},"body":""} {"timestamp":"03-14-2020T06:49:57.913+0000","thread":21,"fiber":"fiber-1","domainUID":"","level":"INFO","class":"oracle.kubernetes.operator.Main","method":"markReadyAndStartLivenessThread","timeInMillis":1584168597913,"message":"Starting Operator Liveness Thread","exception":"","code":"","headers":{},"body":""} ``` +#### Configure NFS(Network File System) Server +To configure NFS server, install the nfs-utils package preferably on Master node: + +```bash +$ sudo yum install nfs-utils +``` + +To start the nfs-server service, and configure the service to start following a system reboot: + +```bash +$ sudo systemctl start nfs-server +$ sudo systemctl enable nfs-server +``` + +Create the directory you want to export as the NFS share, for example `/scratch/K8SVolume`: + +```bash +$ sudo mkdir -p /scratch/K8SVolume +$ sudo chown -R 1000:1000 /scratch/K8SVolume +``` + +Note: NFS Server host name or IP address and NFS Share path which is used when you create PV/PVC in further sections. + #### Prepare the Environment for the WebCenter Sites Domain 1. Unless you would like to use the default namespace, create a Kubernetes namespace that can host one or more domains: @@ -382,15 +406,18 @@ $ cd /weblogic-kubernetes-operator-2.4.0 4. Create a Kubernetes PV and PVC (Persistent Volume and Persistent Volume Claim): - a. Update the `weblogicDomainStoragePath` paramter in `kubernetes/samples/scripts/create-wcsites-domain/utils/create-wcsites-pv-pvc-inputs.yaml`. - - Use network location prefferably similar to: ```/net/$(hostname)/scratch/K8SVolume/WCSites``` - - Make sure permissions are granted correctly as given below: + a. Update the `kubernetes/samples/scripts/create-wcsites-domain/utils/create-wcsites-pv-pvc-inputs.yaml`. + + Replace the token `%NFS_SERVER%` with the host name/IP of NFS Server created in [Configure NFS Server](#configure-nfs-server) section. + + In the NFS Server, create a folder and grant permissions as given below: ```bash $ sudo rm -rf /scratch/K8SVolume/WCSites && sudo mkdir -p /scratch/K8SVolume/WCSites && sudo chown 1000:1000 /scratch/K8SVolume/WCSites ``` + + Update the `weblogicDomainStoragePath` paramter with `/scratch/K8SVolume/WCSites`. + b. Execute the `create-pv-pvc.sh` script to create the PV and PVC configuration files: @@ -459,16 +486,16 @@ You must set up the database before you create your domain. For testing and deve * Database Creation with PV: (Recommended) For testing and development of ```heavy``` usage, you may choose to run your database inside Kubernetes or outside of Kubernetes. - - Use network location for Persistent Volume prefferably similar to: ```/net/$(hostname)/scratch/K8SVolume/WCSitesDB``` - - Make sure Persistent Volume permissions are granted correctly as given below: + + Replace the token `%NFS_SERVER%` with the host name/IP of NFS Server created in [Configure NFS Server](#configure-nfs-server) section. + + In the NFS Server, create a folder and grant permissions as given below: ```bash $ sudo rm -rf /scratch/K8SVolume/WCSitesDB && sudo mkdir -p /scratch/K8SVolume/WCSitesDB && sudo chown 54321 /scratch/K8SVolume/WCSitesDB ``` - - Update the above Persistent Volume created value for the `path` parameter in `kubernetes/samples/scripts/create-wcsites-domain/create-database/db-with-pv.yaml` + + Update the above Persistent Volume created value for the `path` parameter in `kubernetes/samples/scripts/create-wcsites-domain/create-database/db-with-pv.yaml` Create a Kubernetes namespace for database. @@ -538,7 +565,7 @@ You must set up the database before you create your domain. For testing and deve -h Help ``` - To create and start the database, execute the below command and then monitor the status till the database is ready for use: + To create and start the database, run the below command and then monitor the status till the database is ready for use: ```bash -bash-4.2$ sh kubernetes/samples/scripts/create-oracle-db-service/start-db-service.sh -n wcsitesdb-ns @@ -587,6 +614,4 @@ You must set up the database before you create your domain. For testing and deve ``` - Now, for creating a Fusion Middleware domain, you can use the database connection string, `oracle-db.wcsitesdb-ns.svc.cluster.local:1521/devpdb.k8s`, as an `rcuDatabaseURL` parameter in the `domain.input.yaml` file. - - + Now, for creating a Fusion Middleware domain, you can use the database connection string, `oracle-db.wcsitesdb-ns.svc.cluster.local:1521/devpdb.k8s`, as an `rcuDatabaseURL` parameter in the `domain.input.yaml` file. \ No newline at end of file From 2a6ef1034f0f184addba79ae628f1900b1be085b Mon Sep 17 00:00:00 2001 From: Ashish Chalak Date: Thu, 30 Apr 2020 18:59:51 +0530 Subject: [PATCH 2/3] Reveiw Feedback Incorporated --- .../WebLogic-Monitoring-Exporter-Setup.md | 4 ++-- .../content/wcsites-domains/pre-requisites/_index.md | 2 +- .../wcsites-domains/prepare-your-environment/_index.md | 7 ++++--- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/docs-source/content/wcsites-domains/manage-wcsites-domains/WebLogic-Monitoring-Exporter-Setup.md b/docs-source/content/wcsites-domains/manage-wcsites-domains/WebLogic-Monitoring-Exporter-Setup.md index 062fa4e85..b155b0a33 100644 --- a/docs-source/content/wcsites-domains/manage-wcsites-domains/WebLogic-Monitoring-Exporter-Setup.md +++ b/docs-source/content/wcsites-domains/manage-wcsites-domains/WebLogic-Monitoring-Exporter-Setup.md @@ -255,9 +255,9 @@ To deploy the service monitor, use the above wls-exporter.yaml deployment YAML a $ kubectl create -f kubernetes/samples/scripts/create-wcsites-domain/utils/weblogic-monitoring-exporter/wls-exporter.yaml ``` -#### Additional Setup For LoadBalancer Voyager +#### Additional Setup For Load Balancer Voyager -In step 2 of [Configure voyager to manage ingresses]({{< relref "/wcsites-domains/manage-wcsites-domains/loadbalancer-voyager-setup-for-wcsites-domain-setup-on-k8s#configure-voyager-to-manage-ingresses">}}), for wcsites-cluster, enable the last rule for path ‘wls-exporter’ and then redeploy voyager LoadBalancer. +In step 2 of [Configure Voyager to Manage Ingresses]({{< relref "/wcsites-domains/manage-wcsites-domains/loadbalancer-voyager-setup-for-wcsites-domain-setup-on-k8s#configure-voyager-to-manage-ingresses">}}), for wcsites-cluster, enable the last rule for path ‘wls-exporter’ and then re-deploy Voyager Load Balancer. #### Enable Prometheus to Discover the Service diff --git a/docs-source/content/wcsites-domains/pre-requisites/_index.md b/docs-source/content/wcsites-domains/pre-requisites/_index.md index 82e2eb940..634427c5c 100644 --- a/docs-source/content/wcsites-domains/pre-requisites/_index.md +++ b/docs-source/content/wcsites-domains/pre-requisites/_index.md @@ -48,7 +48,7 @@ following limitations currently exist for WebCenter Sites domain: * We do not currently support running WebCenter Sites in non-Linux containers. * Deploying and running a WebCenter Sites domain is supported only in Operator versions 2.4.0 and later. * The [WebLogic Logging Exporter](https://github.com/oracle/weblogic-logging-exporter) - currently supports WebLogic Server logs only. Other logs will not be sent to Elasticsearch. Note, however, that you can use a sidecar with a log handling tool like Logstash or fluentd to get logs. + currently supports WebLogic Server logs only. Other logs will not be sent to Elasticsearch. Note, however, that you can use a sidecar with a log handling tool like Logstash or Fluentd to get logs. * The [WebLogic Monitoring Exporter](https://github.com/oracle/weblogic-monitoring-exporter) currently supports the WebLogic MBean trees only. Support for JRF MBeans has not been added yet. diff --git a/docs-source/content/wcsites-domains/prepare-your-environment/_index.md b/docs-source/content/wcsites-domains/prepare-your-environment/_index.md index e57862b89..d571bf532 100644 --- a/docs-source/content/wcsites-domains/prepare-your-environment/_index.md +++ b/docs-source/content/wcsites-domains/prepare-your-environment/_index.md @@ -29,7 +29,6 @@ After creating Kubernetes clusters, you can optionally: * Create load balancers to direct traffic to backend domains. * Configure Kibana and Elasticsearch for your operator logs. - #### Build Oracle WebCenter Sites Image Build Oracle WebCenter Sites 12.2.1.4.0 Image by following steps 4A, 4C, 4D and 5 from this [document](https://github.com/oracle/docker-images/tree/master/OracleWebCenterSites/dockerfiles/12.2.1.4). @@ -263,7 +262,7 @@ $ cd /weblogic-kubernetes-operator-2.4.0 {"timestamp":"03-14-2020T06:49:57.910+0000","thread":21,"fiber":"fiber-1","domainUID":"","level":"INFO","class":"oracle.kubernetes.operator.rest.RestServer","method":"start","timeInMillis":1584168597910,"message":"Started the internal ssl REST server on https://0.0.0.0:8082/operator","exception":"","code":"","headers":{},"body":""} {"timestamp":"03-14-2020T06:49:57.913+0000","thread":21,"fiber":"fiber-1","domainUID":"","level":"INFO","class":"oracle.kubernetes.operator.Main","method":"markReadyAndStartLivenessThread","timeInMillis":1584168597913,"message":"Starting Operator Liveness Thread","exception":"","code":"","headers":{},"body":""} ``` -#### Configure NFS(Network File System) Server +#### Configure NFS (Network File System) Server To configure NFS server, install the nfs-utils package preferably on Master node: ```bash @@ -284,7 +283,9 @@ $ sudo mkdir -p /scratch/K8SVolume $ sudo chown -R 1000:1000 /scratch/K8SVolume ``` -Note: NFS Server host name or IP address and NFS Share path which is used when you create PV/PVC in further sections. +host name or IP address of the NFS Server + +Note: Host name or IP address of the NFS Server and NFS Share path which is used when you create PV/PVC in further sections. #### Prepare the Environment for the WebCenter Sites Domain 1. Unless you would like to use the default namespace, create a Kubernetes namespace that can host one or more domains: From 894d702693a0e5db537faf4ce4a13fdfe69668f4 Mon Sep 17 00:00:00 2001 From: Ashish Chalak Date: Thu, 30 Apr 2020 19:13:48 +0530 Subject: [PATCH 3/3] Reveiw Feedback Incorporated --- .../WebLogic-Monitoring-Exporter-Setup.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs-source/content/wcsites-domains/manage-wcsites-domains/WebLogic-Monitoring-Exporter-Setup.md b/docs-source/content/wcsites-domains/manage-wcsites-domains/WebLogic-Monitoring-Exporter-Setup.md index b155b0a33..8173ecaff 100644 --- a/docs-source/content/wcsites-domains/manage-wcsites-domains/WebLogic-Monitoring-Exporter-Setup.md +++ b/docs-source/content/wcsites-domains/manage-wcsites-domains/WebLogic-Monitoring-Exporter-Setup.md @@ -255,7 +255,7 @@ To deploy the service monitor, use the above wls-exporter.yaml deployment YAML a $ kubectl create -f kubernetes/samples/scripts/create-wcsites-domain/utils/weblogic-monitoring-exporter/wls-exporter.yaml ``` -#### Additional Setup For Load Balancer Voyager +#### Additional Setup For Voyager Load Balancer In step 2 of [Configure Voyager to Manage Ingresses]({{< relref "/wcsites-domains/manage-wcsites-domains/loadbalancer-voyager-setup-for-wcsites-domain-setup-on-k8s#configure-voyager-to-manage-ingresses">}}), for wcsites-cluster, enable the last rule for path ‘wls-exporter’ and then re-deploy Voyager Load Balancer.