summaryrefslogtreecommitdiffstats
path: root/docs/release/configguide
diff options
context:
space:
mode:
authorStephen Wong <stephen.kf.wong@gmail.com>2019-05-01 07:40:42 +0000
committerStephen Wong <stephen.kf.wong@gmail.com>2019-05-02 07:48:08 +0000
commit1301c1842b5b678a1c91ce6d81b1df85135186b6 (patch)
tree852a96d8a23662eb1471358121fae1306b1c2bf5 /docs/release/configguide
parent034240460ccc6cbf1ca063c09327b8ea7ed8c62c (diff)
Update Clover Hunter documentationsopnfv-8.0.0stable/hunter
Change-Id: I807a285f72bfd1b1d5f4611c484959327f8b6cb5 Signed-off-by: Stephen Wong <stephen.kf.wong@gmail.com>
Diffstat (limited to 'docs/release/configguide')
-rw-r--r--docs/release/configguide/clovisor_config_guide.rst33
1 files changed, 28 insertions, 5 deletions
diff --git a/docs/release/configguide/clovisor_config_guide.rst b/docs/release/configguide/clovisor_config_guide.rst
index 9b5f4a3..e486e3e 100644
--- a/docs/release/configguide/clovisor_config_guide.rst
+++ b/docs/release/configguide/clovisor_config_guide.rst
@@ -17,10 +17,10 @@ No Configuration
================
If redis server isn't running as service name **redis** in namespace
-**clover-system** or there isn't any configuration related to Clovisor in that
+**clovisor** or there isn't any configuration related to Clovisor in that
redis service, then Clovisor would monitor all pods under the **default**
namespace. The traces would be sent to **jaeger-collector** service under the
-**clover-system** namespace
+**clovisor** namespace
Using redis-cli
===============
@@ -29,7 +29,7 @@ Install ``redis-cli`` on the client machine, and look up redis IP address:
.. code-block:: bash
- $ kubectl get services -n clover-system
+ $ kubectl get services -n clovisor
which one may get something like the following:
@@ -51,13 +51,13 @@ plugin):
and one can connect to redis via::
- redis-cli -h 10.244.0.187 -p 6379
+ kubectl exec -n clovisor -it redis redis-cli
Jaeger Collector Configuration
==============================
Clovisor allows user to specify the Jaeger service for which Clovisor would send
-the network traces to. This is configured via setting the values for
+the network traces to, by default it is Jaegar service running in **clovisor** namespace. To change, user can configure via setting the values for
keys **clovisor_jaeger_collector** and **clovisor_jaeger_agent**::
redis> SET clovisor_jaeger_collector "jaeger-collector.istio-system:14268"
@@ -154,3 +154,26 @@ applied::
the command above will cause Clovisor to trace packets going out of pods under
monitoring which have name starting with the string "proxy" that match destination
TCP port 3456
+
+Clovisor in Hunter release supports the ability to run user-defined protocol analyzer as a plugin library --- and the corresponding traces will be sent to Jaeger just like all the default Clovisor network tracing. User needs to implement the following interface (only golang is supported at this time)::
+
+ type Parser interface {
+ Parse(session_key string, is_req bool,
+ data []byte)([]byte, map[string]string)
+ }
+
+and compile it with the following command::
+
+ go build --buildmode=plugin -o <something>.so <something>.go
+
+then, for Hunter, one needs to push the .so to each Clovisor instance::
+
+ kubectl cp <something>.so clovisor/clovisor-bnh2v:/proto/<something>.so
+
+do that for each Clovisor pods, and afterward, configure via::
+
+ redis> HSET clovisor_proto_cfg <protocol> "/proto/<something>.so"
+ (integer) 1
+ redis> PUBLISH clovisor_proto_plugin_cfg_chan <protocol>
+ (integer) 6
+