Search code examples
scalaakkatelemetry

How to set up Lightbend's Telemetry Developer sandbox


I am trying to setup the developer's sandbox for the telemetry as provided by Lightbend.

From the introduction page about telemetry here it is stated that:

Using Lightbend Telemetry is free during development, but you must have a valid license to use it in production. To gain access to the required libraries you need a Lightbend account

Which leads me to believe that, it is possible to have the telemetry feature during development.

Also on the sandbox page here it is stated:

The developer sandbox is only meant for development and testing purposes and should not be used in production.

But instructions are scanty regarding how to set it up. I followed the instruction to get telemetry working as outlined here but has not been successful.

I am using sbt 1.2.7

What I have done so far include:

  1. Added the Cinnamon dependency:

    libraryDependencies ++= Seq( Cinnamon.library.cinnamonCHMetrics, Cinnamon.library.cinnamonCHMetricsElasticsearchReporter, Cinnamon.library.cinnamonSlf4jEvents )

  2. Created an account on Lightbend.com

  3. Created an account on bintray.com

  4. Created file at ~/.lightbend/commercial.credentials with the following content:

    realm = Bintray
    host = dl.bintray.com
    user = <uname> tried both lightbend and bintray username
    password = <pass> tried both lightbend and bintray password
    
  5. Added the following to plugins.sbt

    
    addSbtPlugin("com.lightbend.cinnamon" % "sbt-cinnamon" % "2.12.1")
    
    credentials += Credentials(Path.userHome / ".lightbend" / "commercial.credentials")
    
    resolvers += Resolver.url("lightbend-commercial", url("https://repo.lightbend.com/commercial-releases"))(Resolver.ivyStylePatterns)```
    
  6. Added the following to build.sbt

      ...
      Cinnamon.library.cinnamonPrometheus,
      Cinnamon.library.cinnamonPrometheusHttpServer
      ...
    )```
    
    and
    
    ```enablePlugins(Cinnamon)```
    

And then when I try to run the application, the build process fails with the following messages:

[warn] CLIENT ERROR: 401 Unauthorized. Check your resolvers username and password. [warn] module not found: com.lightbend.cinnamon#sbt-cinnamon;2.12.1 [warn] ==== typesafe-ivy-releases: tried [warn] https://repo.typesafe.com/typesafe/ivy-releases/com.lightbend.cinnamon/sbt-cinnamon/scala_2.12/sbt_1.0/2.12.1/ivys/ivy.xml [warn] ==== sbt-plugin-releases: tried [warn] https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.lightbend.cinnamon/sbt-cinnamon/scala_2.12/sbt_1.0/2.12.1/ivys/ivy.xml [warn] ==== local: tried [warn] /home/.ivy2/local/com.lightbend.cinnamon/sbt-cinnamon/scala_2.12/sbt_1.0/2.12.1/ivys/ivy.xml [warn] ==== public: tried [warn] https://repo1.maven.org/maven2/com/lightbend/cinnamon/sbt-cinnamon_2.12_1.0/2.12.1/sbt-cinnamon-2.12.1.pom [warn] ==== local-preloaded-ivy: tried [warn] /home/.sbt/preloaded/com.lightbend.cinnamon/sbt-cinnamon/2.12.1/ivys/ivy.xml [warn] ==== local-preloaded: tried [warn] file:////home/.sbt/preloaded/com/lightbend/cinnamon/sbt-cinnamon_2.12_1.0/2.12.1/sbt-cinnamon-2.12.1.pom [warn] ==== lightbend-commercial: tried [warn] https://repo.lightbend.com/commercial-releases/com.lightbend.cinnamon/sbt-cinnamon/scala_2.12/sbt_1.0/2.12.1/ivys/ivy.xml [warn] :::::::::::::::::::::::::::::::::::::::::::::: [warn] :: UNRESOLVED DEPENDENCIES :: [warn] :::::::::::::::::::::::::::::::::::::::::::::: [warn] :: com.lightbend.cinnamon#sbt-cinnamon;2.12.1: not found [warn] :::::::::::::::::::::::::::::::::::::::::::::: [warn] [warn] Note: Some unresolved dependencies have extra attributes. Check that these dependencies exist with the requested attributes. [warn] com.lightbend.cinnamon:sbt-cinnamon:2.12.1 (scalaVersion=2.12, sbtVersion=1.0) [warn] [warn] Note: Unresolved dependencies path: [warn] com.lightbend.cinnamon:sbt-cinnamon:2.12.1 (scalaVersion=2.12, sbtVersion=1.0) (/home/Documents/masters/large_systems/project/akka-cluster-playground/project/plugins.sbt#L2-3) [warn] +- default:akka-cluster-playground-build:0.1.0-SNAPSHOT (scalaVersion=2.12, sbtVersion=1.0) [error] sbt.librarymanagement.ResolveException: unresolved dependency: com.lightbend.cinnamon#sbt-cinnamon;2.12.1: not found [error] at sbt.internal.librarymanagement.IvyActions$.resolveAndRetrieve(IvyActions.scala:332)

The CLIENT ERROR: 401 Unauthorized in the message indicates this error is mostly caused by an authorisation problem, but I am not sure where to fix it. The steps in the documentation is not that details so I am also not sure what the right way to set the sandbox is.

Does anybody know how to fix this? Help will be appreciated!

Update 1

Found this page that talks about credentials, and it seems what needs to be go into ~/.lightbend/commercial.credentials is a username and a token. But from the link, it seems the token is only available with a subscription.

The question now is, is the information in previous section of the telemetry guide incorrect regarding the possibility to use the telemetry in development? If not, then how can this be done without a subscription?


Solution

  • You can contact Lightbend to request an evaluation and learn how to get started with Lightbend Telemetry.