--- /dev/null
+.. This work is licensed under a Creative Commons Attribution 4.0 International
+.. License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) OPNFV, Authors of Clover
+
+========================
+OPNFV Clover Design Docs
+========================
+
+.. toctree::
+ :maxdepth: 2
+
+ logging
+ monitoring
+ tracing
+.. This work is licensed under a Creative Commons Attribution 4.0 International
+.. License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) OPNFV, Authors of Clover
+
+.. _logging:
+
#######
Logging
#######
python clover/logging/validate.py
-It validates the installation with the following criterias
+It validates the installation with the following criteria:
#. existence of fluented pod
#. fluentd input is configured correctly
-#. TBD
**************************
Understanding how it works
This rule specifies that all instances of ``newlog.logentry`` that matches the
expression will be handled by the specified handler ``handler.fluentd``. We
shall explain ``instances`` and ``handler`` later. The expression ``true`` means
-whenever a request arrive at Mixer, it will trigger the actions defined belows.
+whenever a request arrives at Mixer, it will trigger the actions defined below.
``rule`` is a custom resource definition from `Istio installation`_.
Where to log
============
-For log, the handler defines where these information will be handled, in this
+For log, the handler defines where this information will be handled, in this
example, a fluentd daemon on fluentd-es.logging:24224.
.. code-block:: yaml
+.. This work is licensed under a Creative Commons Attribution 4.0 International
+.. License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) OPNFV, Authors of Clover
+
+.. _monitoring:
+
##########
Monitoring
##########
Installation
************
-Currently, we use the Istio build-in prometheus addon to install prometheus::
+Currently, we use the Istio built-in Prometheus add-on to install Prometheus::
cd <istio-release-path>
kubectl apply -f install/kubernetes/addons/prometheus.yaml
+
+Alternatively, both Prometheus and Jaeger can be installed in combination with the
+Clover container using the command::
+
+ $ sudo docker run --rm \
+ -v ~/.kube/config:/root/.kube/config \
+ opnfv/clover \
+ /bin/bash -c '/home/opnfv/repos/clover/samples/scenarios/view.sh'
+
********
Validate
********
-Setup port-forwarding for prometheus by executing the following command::
+Setup port-forwarding for Prometheus by executing the following command::
kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=prometheus -o jsonpath='{.items[0].metadata.name}') 9090:9090 &
-Run the scripts in ``clover/monitoring`` validates prometheus installation::
+Run the scripts in ``clover/monitoring`` to validate the Prometheus installation::
python clover/monitoring/validate.py
-It validates the installation with the following criterias
+It validates the installation with the following criteria:
-#. [DONE] prometheus pod is in Running state
-#. [DONE] prometheus is conneted to monitoring targets
-#. [TODO] test collecting telemetry data from istio
-#. [TODO] TBD
+#. Prometheus pod is in running state
+#. Prometheus is connected to monitoring targets
+.. This work is licensed under a Creative Commons Attribution 4.0 International
+.. License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) OPNFV, Authors of Clover
+
+.. _tracing:
+
#######
Tracing
#######
kubectl apply -n istio-system -f https://raw.githubusercontent.com/jaegertracing/jaeger-kubernetes/master/all-in-one/jaeger-all-in-one-template.yml
+Alternatively, both Prometheus and Jaeger can be installed in combination with the
+Clover container using the command::
+
+ $ sudo docker run --rm \
+ -v ~/.kube/config:/root/.kube/config \
+ opnfv/clover \
+ /bin/bash -c '/home/opnfv/repos/clover/samples/scenarios/view.sh'
+
The standard Jaeger REST port is at 16686. To make this service available outside of the
Kubernetes cluster via any node IP in the cluster, use the following command::