Skip to content
This repository has been archived by the owner on Feb 5, 2021. It is now read-only.

Latest commit

 

History

History
138 lines (121 loc) · 6.05 KB

cellery-observability.md

File metadata and controls

138 lines (121 loc) · 6.05 KB

Cellery Observability

Cellery Observability brings along the capability to observe the Cells deployed on Cellery Mesh. It provides overview of the deployed cells with dependency diagrams, runtime metrics of the cells, and distributed tracing for the request that pass through each cells and components. This is very helpful tool for developers, devops, and also archietects to derive the runtime dependencies among cells and components, and to find the actual root cause of any problem in the runtime.

This README covers,

For additional information,

Enable observability

Basic cellery installation does not include the Observability component by default, but the complete cellery installation includes the observability. You can either enable observability in interactive method or inline method.

Interactive method

  1. Run cellery setup command.
   cellery setup
  1. Select modify option.
    cellery setup
    [Use arrow keys]
    ? Setup Cellery runtime
        Create
        Manage
      ➤ Modify
        Switch
        EXIT
  1. Enable/disable Observability, go into Observability option and select enable. Select Back after the selection.
    cellery setup
    ✔ Modify
    ...
    ✔ Observability
    [Use arrow keys]
    ? Observability
      ➤ Enable
        BACK
  1. Select Done option in the main modify menu to complete the modify operation.
 cellery setup
 ✔ Modify
 ...
 ✔ BACK
 [Use arrow keys]
 ? Select a runtime component
     API Manager
     Autoscaling
     Observability
   ➤ DONE
  BACK
  1. The prompt will be appearing with components that is being enabled and disabled, and asking a confirmation to continue. Validate your changes by reviewing the list, and select yes to continue.
 Following modifications to the runtime will be applied
 Enabling : Observability
 Use the arrow keys to navigate: ↓ ↑ → ←
 ? Do you wish to continue:
   ▸ Yes
     No

Inline method

Execute below command to enable observability component in your setup. You may need to add other components if you want to have other components enabled as well, please check here for more details.

    cellery setup modify --observability=enable

Use Cellery dashboard

The cellery dashboard is available in http://cellery-dashboard, and go to the link to get more information about your running cells. Login with username: admin, password: admin.

Note: If you have any trouble in accessing Cellery dashboard. Make sure you have the /etc/host entries added to the cellery-dashboard hostname based on your Cellery setup (Local, GCP, Existing kubernetes Cluster).

Cell and component dependency diagrams

The landing page of the cellery dashboard will show the cell dependencies, and overall metrics of the system. The health of the cells also will be shown in this page. cellery overview cellery component summary cellery component overview

Cell, Component, Pod, and Node Metrics

The metrics are collected from all components and gateways, and based on this the health of a component and cell is determined. The metrics can be visualized both per component and cell basis. Also Cellery provides both kubernetes pod and node level metrics (system metrics) which provides CPU, memory, network, and file system usage, and request and response metrics (application metrics).

Kubernetes pods of components

Node metrics

Pod metrics

Cell metrics summary

Cell metrics details

Component metrics summary

Component metrics details

Distributed Tracing

Each requests that comes into Cellery system is traced, and a request can be viewed in three perspectives; timeline view, sequence diagram view, and dependency diagram view. Timeline view mainly focuses on the time that the request spent on a particular operation, and hence it is easy to findout the time consuming component and operation. The sequence diagram view depicts the cells and component interactions. Finally the dependency diagram shows the request path. The trace view can be filtered from metrics view, and a seperate distributed tracing search page.

Distributed trace search

Timeline view

Sequence diagram view Sequence diagram view

Request Path

What's Next?