diff options
Diffstat (limited to 'docs/development/design')
-rw-r--r-- | docs/development/design/logging.rst | 36 |
1 files changed, 28 insertions, 8 deletions
diff --git a/docs/development/design/logging.rst b/docs/development/design/logging.rst index 05f3f5b..2c2dfe6 100644 --- a/docs/development/design/logging.rst +++ b/docs/development/design/logging.rst @@ -9,7 +9,27 @@ Installation Currently, we use the `sample configuration`_ in Istio to install fluentd:: cd clover/logging - kubectl apply -f install + +First, install logging stack Elasticsearch, Fluentd and Kibana:: + + kubectl apply -f install/logging-stack.yaml + +Note that, it must be done in separated steps. If you run ``kubectl apply -f +install`` instead, the mixer adapter may fail to intialize because the target +service can not be found. You may find an error message from mixer container:: + + 2018-05-09T02:43:14.435156Z error Unable to initialize adapter: + snapshot='6', handler='handler.fluentd.istio-system', adapter='fluentd', + err='adapter instantiation error: dial tcp: lookup fluentd-es.logging on + 10.96.0.10:53: no such host'. + +Then configure fluentd for istio:: + + kubectl apply -f install/fluentd-istio.yaml + +Configure fluentd for node level logging:: + + kubectl apply -f install/fluentd-daemonset-elasticsearch-rbac.yaml .. _sample configuration: https://istio.io/docs/tasks/telemetry/fluentd.html @@ -50,14 +70,14 @@ Istio defines when to log by creating a custom resource ``rule``. For example: apiVersion: "config.istio.io/v1alpha2" kind: rule metadata: - name: newlogtofluentd - namespace: istio-system + name: newlogtofluentd + namespace: istio-system spec: - match: "true" # match for all requests - actions: - - handler: handler.fluentd - instances: - - newlog.logentry + match: "true" # match for all requests + actions: + - handler: handler.fluentd + instances: + - newlog.logentry This rule specifies that all instances of ``newlog.logentry`` that matches the expression will be handled by the specified handler ``handler.fluentd``. We |