ebridges / elektrum

A platform for hosting and sharing media.
MIT License
0 stars 0 forks source link

Implement observability in lambda functions #92

Open ebridges opened 4 years ago

ebridges commented 4 years ago

Either dig into using AWS X-Ray, Dashbird or Epsagon, or configure thumbnail & processor services to route requests via NAT gateway.

ebridges commented 4 years ago

To implement Sentry for the media-processor service the following changes were investigated:

network/roles/lam/tasks/main.yml:45-52

+     SENTRY_RELEASE: "{{ service_name }}-processor/{{operating_env}}@{{app_version}}"
+     SENTRY_ENVIRONMENT: "{{operating_env}}"

processor/build.gradle

+    compile group: 'io.sentry', name: 'sentry-log4j2', version: '1.7.30'

processor/src/main/resources/log4j2.xml

    </Lambda>
+   <Sentry name="Sentry" />
  </Appenders>
  <Loggers>
    <Root level="info">
      <AppenderRef ref="Lambda" />
+     <AppenderRef ref="Sentry" level="WARN" />
    </Root>

processor/src/main/resources/sentry.properties

dsn=https://4c58bb8261854ccca9ab9832865b0345:aa7d18206b8b4d2b92d25f2eab18abf5@o397351.ingest.sentry.io/5253282
mdctags=user_id,image_id
sample.rate=0.50
ebridges commented 4 years ago

104

https://github.com/ebridges/thumbnailer/issues/5