Skip to content

Commit 7f4d34b

Browse files
review and edit docs (#130)
* review and edit docs * incorporate Dereks edits * incorporate Russ edit
1 parent 9d17454 commit 7f4d34b

File tree

14 files changed

+77
-75
lines changed

14 files changed

+77
-75
lines changed

README.md

+9-7
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,18 @@ It is deployed as a web application in a WebLogic Server (WLS) instance, version
88

99
## Downloading the release
1010

11-
You can find all the releases on the [releases page](https://github.com/oracle/weblogic-monitoring-exporter/releases).
12-
To download the web application wls-exporter.war and put your configuration file into the WAR, download the getXXX.sh script and then run:
11+
You can find all the releases on the [Releases page](https://github.com/oracle/weblogic-monitoring-exporter/releases).
12+
13+
To download the web application `wls-exporter.war` and put your configuration file into the WAR, download the `getXXX.sh` script, which is provided with each release and also can be downloaded from the Releases page, and then run:
1314

1415
```
1516
bash getXXX.sh <your-config-file>
1617
```
1718

1819
## Building from source
1920

20-
Use `mvn install` to build the web application. This will create `wls-exporter-<version>`, where <version>
21-
is the Maven-assigned version number, It is intended for release to Maven Central.
21+
Use `mvn install` to build the web application. This will create `wls-exporter-<version>`, where _version_
22+
is the Maven-assigned version number.
2223

2324
Adding `-Dconfiguration=<some-config-file>` will insert the specified configuration as its default and remove
2425
the version number to simplify deployment to WebLogic Server.
@@ -72,7 +73,7 @@ Within each section, there are a number of options:
7273

7374
Note that all fields other than the above, will be interpreted as collections of values.
7475

75-
In the above example, the presumed underlying data structure is:
76+
In the preceding example, the presumed underlying data structure is:
7677
```
7778
+---------------+ applicationRuntimes
7879
| ServerRuntime |-----------+
@@ -120,7 +121,7 @@ The exporter produces metrics for monitoring its own performance:
120121

121122
The exporter must be able to contact the REST API of the WLS instance on which it is deployed. It does so by using
122123
the primary host address of its server and the port on which the request for metrics was made. Usually, that will work;
123-
however, if the metrics request is made via a load balancer or Kubernetes NodePort service, the port to which the
124+
however, if the metrics request is made using a load balancer or Kubernetes NodePort service, the port to which the
124125
original request was made might not be the same as the instance's HTTP port. In such a case, the configuration should
125126
include the `restPort` configuration to tell the exporter which port to use.
126127

@@ -134,4 +135,5 @@ include the `restPort` configuration to tell the exporter which port to use.
134135

135136
## Copyright
136137

137-
Copyright &copy; 2017, 2020, Oracle Corporation and/or its affiliates.
138+
Copyright &copy; 2017, 2020, Oracle and/or its affiliates.
139+
Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.

config_coordinator/README.md

+11-11
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
WLS Prometheus Exporter Coordinator
1+
WebLogic Monitoring Exporter Coordinator
22
=====
33

4-
Each instance in a WLS cluster maintains the configuration for its
5-
[Prometheus Exporter](http://github.com/oracle/wls_exporter) locally. The coordinator allows them to share
4+
Each instance in a WLS cluster maintains the configuration locally for its
5+
WebLogic Monitoring Exporter. The coordinator allows them to share
66
changes to the query configurations.
77

88
The coordinator is a simple web server, listening on port 8999, which accepts two requests:
9-
- a GET request returns the latest configuration update
10-
- a PUT request provides a new configuration update
9+
- A GET request returns the latest configuration update
10+
- A PUT request provides a new configuration update
1111

1212
The following is an example configuration update:
1313
```
@@ -25,24 +25,24 @@ An update is a JSON object with two fields:
2525

2626
| Name | Description |
2727
| --- | --- |
28-
| timestamp | a long value, representing milliseconds since the epoch. |
29-
| configuration | a string representing the new YAML configuration. |
28+
| timestamp | A long value, representing milliseconds since the epoch. |
29+
| configuration | A string representing the new YAML configuration. |
3030

3131
## Building
3232

33-
This server is run in a docker container, which is built using
33+
This server is run in a Docker container, which is built using:
3434

3535
`docker build -t config_coordinator .`
3636

37-
from the config_coordinator directory, and may be run with
37+
from the config_coordinator directory, and may be run with:
3838

3939
`docker run --publish 8999:8999 --name coordinator --rm config_coordinator`
4040

4141
The `query_sync` section of the exporter configuration should point to this server
4242

4343
## Persistence
4444

45-
Passing the option "-db <file path>" will cause the coordinator to use the designated file path to persist changes
45+
Passing the option `-db <file path>` will cause the coordinator to use the designated file path to persist changes
4646
to the configuration. This will preserve changes across container restarts. When running in a container, the file
4747
must be in a mounted volume.
4848

@@ -53,7 +53,7 @@ docker run --publish 8999:8999 --name coordinator --rm -v /my/storage:/var/lib/c
5353
config_coordinator -db /var/lib/coordinator/configs.json
5454
```
5555

56-
will cause Docker to mount the host machine directory `/my/storage` at the path `/var/lib/coordinator`
56+
This will cause Docker to mount the host machine directory `/my/storage` at the path `/var/lib/coordinator`
5757
in the container, and to use a file named `configs.json` in that directory to persist its state.
5858

5959
## Copyright

samples/kubernetes/deployments/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@ For more details on how to set up and run Prometheus and Grafana with the WebLog
1212

1313
## Copyright
1414

15-
Copyright (c) 2017, 2019, Oracle Corporation and/or its affiliates. All rights reserved.
15+
Copyright (c) 2017, 2019, Oracle and/or its affiliates.

samples/kubernetes/end2end/README.md

+7-8
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
## Monitoring WebLogic Server with the Grafana Dashboard
2-
This is an end-to-end sample that shows you the steps to set up monitoring for WebLogic domains using Prometheus and Grafana. In the end, you'll have Prometheus, Grafana, and WebLogic domains installed, configured, and running. This sample includes Grafana dashboards to visualize the WebLogic Server runtime metrics. Also, we demonstrate how to fire alerts based on the metrics.
2+
This is an end-to-end sample that demonstrates setting up monitoring for WebLogic domains using Prometheus and Grafana. When completed, you'll have Prometheus, Grafana, and WebLogic domains installed, configured, and running. This sample includes Grafana dashboards to visualize the WebLogic Server runtime metrics and demonstrates how to fire alerts based on the metrics.
33

4-
First, let's look at [what's in the WebLogic Server Dashboard](docs/dashboard.md).
4+
First, look at [what's in the WebLogic Server Dashboard](docs/dashboard.md).
55

6-
Before going into the detailed steps, look at the diagram below for the overall architecture containing the basic components we'll deploy to a Kubernetes cluster.
6+
See the following diagram for the overall architecture containing the basic components that we'll deploy to a Kubernetes cluster.
77

88
![architecture](docs/images/architecture.png)
99

1010
Here's how the WebLogic runtime metrics are generated, scraped, stored, and used:
11-
- WebLogic Servers expose their runtime data via the REST API.
11+
- WebLogic Servers expose their runtime data using the REST API.
1212
- The exporter, running on each WebLogic Server instance, acquires WebLogic data by calling the REST API, which it then translates to the Prometheus metrics format and exposes in an HTTP endpoint.
1313
- The Prometheus server periodically scrapes the metrics from the endpoints and stores them in its time series database.
1414
- Graphing - The Grafana server queries the metrics from the Prometheus server using PromQL and displays the metrics and series in a visualization dashboard.
1515
- Alerting
1616
- Alerting rules are defined in the Prometheus server using PromQL expressions.
1717
- When alert conditions are met, the Prometheus server fires alerts to the Alertmanager.
18-
- The Alertmanager can potentially deduplicate, group, and route all the alerts and send notifications accordingly to various receivers like email, Slack, webhook, and such. In this sample, the Alertmanager simply sends notifications to a test webhook.
18+
- The Alertmanager can potentially deduplicate, group, and route all the alerts and send notifications accordingly to various receivers, like email, Slack, webhook, and such. In this sample, the Alertmanager simply sends notifications to a test webhook.
1919

2020
## Prerequisites
2121
- Have a running Kubernetes cluster version 1.10 or higher.
@@ -24,7 +24,7 @@ Here's how the WebLogic runtime metrics are generated, scraped, stored, and used
2424
```
2525
git clone https://github.com/oracle/weblogic-monitoring-exporter.git
2626
```
27-
- Change the directory to the root folder of this sample. All the commands in the step-by-step guide below are written to run under this root folder.
27+
- Change the directory to the root folder of this sample. All the commands in the step-by-step guide are written to run under this root folder.
2828
```
2929
cd weblogic-monitoring-exporter/samples/kubernetes/end2end/
3030
```
@@ -33,7 +33,7 @@ Here's how the WebLogic runtime metrics are generated, scraped, stored, and used
3333
1. [Configuring the PV Path](docs/01-pv-path.md)
3434
1. Preparing and Running a WebLogic Domain
3535
- [Setting up MYSQL Server](docs/02-mysql.md)
36-
- [Installing the WebLogic Kubernetes Operator](docs/03-wls-operator.md)
36+
- [Installing the WebLogic Server Kubernetes Operator](docs/03-wls-operator.md)
3737
- [Running a WebLogic Domain](docs/04-wls-domain.md)
3838
1. [Setting up Prometheus](docs/05-prometheus.md)
3939
1. [Setting up Grafana](docs/06-grafana.md)
@@ -42,4 +42,3 @@ Here's how the WebLogic runtime metrics are generated, scraped, stored, and used
4242
- [Firing Alerts](docs/08-alert.md)
4343
1. [How to Monitor an Existing WebLogic Domain](docs/existing-domain.md)
4444
1. [Cleanup](docs/cleanup.md)
45-

samples/kubernetes/end2end/docs/01-pv-path.md

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
## Configuring the PV Path
2-
In this sample, we need to create four Persistent Volumes (PV) and Persistent Volume Claims (PVC) to store data for MySQL, Prometheus server, Prometheus Alertmanager, and Grafana. See the YAML files for the four PVs/PVCs.
3-
- [PV and PVC for MYSQL server](../mysql/persistence.yaml).
4-
- [PV and PVC for Prometheus server](../prometheus/persistence.yaml).
5-
- [PV and PVC for Prometheus Alertmanager](../prometheus/alert-persistence.yaml).
6-
- [PV and PVC for Grafana server](../grafana/persistence.yaml).
2+
In this sample, we need to create four Persistent Volumes (PV) and Persistent Volume Claims (PVC) to store data for MySQL, Prometheus server, Prometheus Alertmanager, and Grafana. See the following YAML files for the four PVs/PVCs:
3+
- [PV and PVC for MYSQL server](../mysql/persistence.yaml)
4+
- [PV and PVC for Prometheus server](../prometheus/persistence.yaml)
5+
- [PV and PVC for Prometheus Alertmanager](../prometheus/alert-persistence.yaml)
6+
- [PV and PVC for Grafana server](../grafana/persistence.yaml)
77

8-
> **Note**: To simplify the configuration, we use `hostPath` PV that can work only in a single-node Kubernetes cluster; therefore, it's for demonstration purposes only. In a production environment, you would need to use a more sophisticated PV type like NFS, iSCSI. For detailed information, see the Kubernetes [Types of Persistent Volumes](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#types-of-persistent-volumes) document.
8+
> **Note**: To simplify the configuration, we use `hostPath` PV that works only in a single-node Kubernetes cluster; therefore, it's for demonstration purposes only. In a production environment, you would need to use a more sophisticated PV type like NFS, iSCSI. For detailed information, see the Kubernetes [Types of Persistent Volumes](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#types-of-persistent-volumes) document.
99
1010
To simplify the configuration and management, the four PVs will share the same root path. Prepare a host folder as the root path of the PVs.
1111

@@ -15,7 +15,7 @@ mkdir <someDIR>
1515
export PV_ROOT=<someDIR>
1616
```
1717

18-
Then use the following commands to auto-update the path values in the PV and PVC YAML files.
18+
Then use the following commands to auto-update the path values in the PV and PVC YAML files:
1919

2020
```
2121
sed -i 's@%PV_ROOT%@'"$PV_ROOT"'@' mysql/persistence.yaml

samples/kubernetes/end2end/docs/02-mysql.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
## Setting up MYSQL Server
22

3-
In this step, we describe how to set up MySQL database in the Kubernetes cluster. In this sample, we are using the MySQL database to store application data. The WebLogic domain created in a later step will store its data in the database, for example, persistent JMS messages.
3+
In this step, we describe how to set up MySQL database in the Kubernetes cluster. We are using the MySQL database to store application data. The WebLogic domain created in a later step, will store its data in the database, for example, persistent JMS messages.
44

55
Deploy the PV and PVC.
66
```
@@ -39,4 +39,4 @@ kubectl exec -it $POD_NAME -- mysql -u wluser1 -pwlpwd123 -D domain1 -e "show ta
3939
```
4040
Note that we have not created any user tables in the database. The purpose of running this query is to verify that the MySQL database has been created correctly.
4141

42-
Next: [Installing the WebLogic Kubernetes Operator](03-wls-operator.md)
42+
Next: [Installing the WebLogic Server Kubernetes Operator](03-wls-operator.md)

samples/kubernetes/end2end/docs/03-wls-operator.md

+9-10
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
1-
## Installing the WebLogic Kubernetes Operator
2-
We depend on the [WebLogic Kubernetes Operator](https://github.com/oracle/weblogic-kubernetes-operator) to create and manage WebLogic domains. For detailed installation information, see [Install the Operator](https://oracle.github.io/weblogic-kubernetes-operator/userguide/managing-operators/installation/).
1+
## Installing the WebLogic Server Kubernetes Operator
2+
We depend on the [WebLogic Server Kubernetes Operator](https://github.com/oracle/weblogic-kubernetes-operator) to create and manage WebLogic domains. For detailed installation information, see [Install the Operator](https://oracle.github.io/weblogic-kubernetes-operator/userguide/managing-operators/installation/).
33

4-
In this example, we provide the steps to install the 2.3.0 release of the WebLogic Kubernetes Operator.
4+
In this example, we provide the steps to install the operator 2.3.0 release.
55

66
### Pulling the Images
7-
We need two images, the WebLogic Kubernetes Operator image from [Docker Hub](https://hub.docker.com) and the WebLogic Server image from the [Oracle Container Registry](https://container-registry.oracle.com).
8-
Before pulling the image, you must:
7+
We need two images, the WebLogic Server Kubernetes Operator image from [Docker Hub](https://hub.docker.com) and the WebLogic Server image from the [Oracle Container Registry](https://container-registry.oracle.com). Before pulling the image, you must:
98
- Acquire a user account to the image sites.
109
If you do not already have Oracle Single Sign-On credentials, go to https://container-registry.oracle.com and create them by clicking the Sign In link at the top of the page.
1110
- Log in to the site in your browser, find the image, and accept the license.
1211

13-
Pull the WebLogic Kubernetes Operator 2.3.0 image.
12+
Pull the WebLogic Sever Kubernetes Operator 2.3.0 image.
1413
```
1514
docker login
1615
docker pull oracle/weblogic-kubernetes-operator:2.3.0
@@ -38,7 +37,7 @@ OPatch succeeded.
3837
```
3938
Confirm that patch set `29135930` is in the patch list.
4039

41-
### Installing the WebLogic Kubernetes Operator
40+
### Installing the WebLogic Server Kubernetes Operator
4241

4342
Create a namespace in which to run the operator.
4443
```
@@ -48,7 +47,7 @@ Create a service account.
4847
```
4948
kubectl create serviceaccount -n weblogic-operator1 sample-weblogic-operator-sa
5049
```
51-
Add the operator chart repository to helm.
50+
Add the operator chart repository to Helm.
5251
```
5352
helm repo add weblogic-operator https://oracle.github.io/weblogic-kubernetes-operator/charts
5453
```
@@ -87,8 +86,8 @@ Verify that the domain CRD version is correct.
8786
```
8887
kubectl get crd domains.weblogic.oracle -o jsonpath="{.spec.version}"
8988
```
90-
The expected version should be `v5`. Because the WebLogic operator is backward compatible, a domain resource with any version older than `v5` should be supported.
89+
The expected version should be `v5`. Because the operator is backward compatible, a domain resource with any version older than `v5` should be supported.
9190

92-
Now the WebLogic Kubernetes Operator is running and it's monitoring the default namespace. Later we'll deploy a domain resource to the default namespace and the operator will be responsible for creating, running, and managing the WebLogic domain.
91+
Now the WebLogic Server Kubernetes Operator is running and it's monitoring the default namespace. Later we'll deploy a domain resource to the default namespace and the operator will be responsible for creating, running, and managing the WebLogic domain.
9392

9493
Next: [Running a WebLogic Domain](04-wls-domain.md)

samples/kubernetes/end2end/docs/04-wls-domain.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
## Running a WebLogic Domain
2-
The WebLogic Kubernetes Operator has detailed documentation about creating domains, including important considerations and different options to consider. For more information, see the [Manage Domains](https://oracle.github.io/weblogic-kubernetes-operator/userguide/managing-domains/) guide. To integrate with Prometheus, the only extra step needed is to install the `wls-exporter` web application to WebLogic servers/clusters.
2+
The WebLogic Server Kubernetes Operator has detailed documentation about creating domains, including important considerations and different options to consider. For more information, see [Manage WebLogic Domains](https://oracle.github.io/weblogic-kubernetes-operator/userguide/managing-domains/). To integrate with Prometheus, the only extra step needed is to install the `wls-exporter` web application to WebLogic Servers/clusters.
33

4-
In this task, we provide scripts that create a demonstration domain.
4+
In this step, we provide scripts that create a demonstration domain.
55

66
### Set Proxy Before Run
7-
In the scripts below, we use `wget` to download the WebLogic Deploy Tool archive from GitHub. If you are behind a proxy, you need to configure the proxy settings properly. One approach is to use proxy variables:
7+
In the following scripts, we use `wget` to download the WebLogic Deploy Tool archive from GitHub. If you are behind a proxy, you need to configure the proxy settings properly. One approach is to use proxy variables:
88
```
99
export http_proxy=http://proxy_host:proxy_port
1010
export https_proxy=$http_proxy

samples/kubernetes/end2end/docs/06-grafana.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ curl -v -H 'Content-Type: application/json' -H "Content-Type: application/json"
7474
### Verification
7575
Use the Grafana web UI to confirm that the resources were created successfully.
7676

77-
Check the datasource.
77+
Check the data source.
7878
![datasource](images/datasource.png)
7979

8080
Check the WebLogic dashboard.

samples/kubernetes/end2end/docs/07-webhook.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
## Setting up a Webhook
2-
Let's set up a simple webhook as the notification receiver. The webhook is written in [a Python script](../webhook/scripts/server.py) which simply logs all the received notifications. Typically, webhook receivers are often used to notify systems that Alertmanager doesn’t support directly.
2+
We will set up a simple webhook as the notification receiver. The webhook is written as [a Python script](../webhook/scripts/server.py) which simply logs all the received notifications. Typically, webhook receivers are often used to notify systems that Alertmanager doesn’t support directly.
33

44
Build the webhook image.
55
```

0 commit comments

Comments
 (0)