Uploaded image for project: 'Project Quay'
  1. Project Quay
  2. PROJQUAY-113

As a Quay user, I would like to be able to configure Elasticsearch logging using the config app

XMLWordPrintable

    • Icon: Story Story
    • Resolution: Done
    • Icon: Minor Minor
    • quay-v3.3.0
    • None
    • None
    • Jango [Quay 177], Kamino [Quay 178], Lando [Quay 179], Mustafar [Quay 180], Naboo [Quay 181], Obi-Wan [Quay 182]

      Currently all usage logs of Quay for the last 3 months are stored in the database and exposed via UI on an organization or repo level. Equivalent admin privileges are required to see them.

      For large deployments with a huge amount of logged operations it's now possible to store the usage logs in Elasticsearch instead of the Quay database backend. The required Elasticsearch stack is a BYO customer prerequisite. We do not ship the backend with Quay or any other product as a customizable component. Using the OpenShift built-in Elasticsearch stack is planned for 3.4, see https://issues.redhat.com/browse/PROJQUAY-290 for further details.

      Access control still happens via Quay (admin privileges required), no further impact on the Quay UI or usage patterns.

      The feature needs to be enabled via the Config App and has corresponding entries in the config.yaml file.

      One slide on it will be added to the Quay technical deck.

      Usage
      The config app user is now given the option of two action logs storage options:

      • Elasticsearch
      • Database

      If database if is selected, no additional configuration is needed (the current behavior).

      If Elasticsearch is selected, various fields used to connect to the cluster that will be used should be filled. The AWS region can be left blank if it is not running on AWS.

      A producer must also be selected:

      • "Kinesis" will send the logs to an intermediate Kinesis stream on AWS, and it is up to the customer to setup the pipeline to send the logs from Kinesis to Elasticsearch (e.g Logstash)
      • "Elasticsearch" will send the logs directly to the Elasticsearch, without an intermediate queue.

      See attached images for more details.

        1. database_action_logs.png
          database_action_logs.png
          282 kB
        2. elasticsearch_action_logs.png
          elasticsearch_action_logs.png
          275 kB
        3. elasticsearch_producer.png
          elasticsearch_producer.png
          276 kB
        4. kinesis_producer.png
          kinesis_producer.png
          271 kB
        5. kinesis.log
          160 kB
        6. unable-connect-kinesis.png
          unable-connect-kinesis.png
          106 kB

              sleesinc Kenny Lee Sin Cheong
              sleesinc Kenny Lee Sin Cheong
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: