LogicMonitor Datamart

The LogicMonitor Datamart is now live! More here:

If you come across this error message:

System.UriFormatException: Invalid URI: The hostname could not be parsed.
at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind, UriCreationOptions& creationOptions)
… at LogicMonitor.Datamart.Cli.Program.Main(String args) in /src/LogicMonitor.Datamart.Cli/Program.cs:line 85

It means that your logicmonitor domain cannot be resolved. In my case, I had an erroneous space in

“LogicMonitorClientOptions”: {
“Account”: “MY :poop: ACCOUNT”,

How I got LogicMonitor Datamart depoyed with Docker (not K8s)

  1. Created a network
docker network create my-network
  1. Installed Postgres
docker run --name <postgres_container_name> -e POSTGRES_PASSWORD=<mypassword> -d -p 5432:5432 --network my-network -v postgres_data:/var/lib/postgresql/data postgres
  1. Created a database
docker exec -it <postgres_container_name> -U postgres -c "CREATE DATABASE <datamart_database_name>;"
  1. Pulled the datamart image
docker pull panoramicdata/logicmonitor-datamart
  1. From that clone, edited the appsettings.json file (copied from the example) to include:
		"DatabaseType": "postgres",
		"DatabaseServerName": "<postgres_container_name>",
		"DatabaseServerPort": 5432,
		"DatabaseRetryOnFailureCount": 0,
		"DatabaseName": "<datamart_database_name>",
		"DatabaseUsername": "postgres",
  1. Started the Datamart container:
docker run -d --name <datamart_container_name> -p 5001:8080 -v ./appsettings.json:/app/appsettings.json -e CONFIG_FILE=/app/appsettings.json --network my-network panoramicdata/logicmonitor-datamart:latest
  1. Validated the container was started, by navigating to http://localhost:5001/health

That’s it! Noting the example config file is only pulling a basic set of data. Time to go explore the data, and what we can do with the Datasources configurations.

Here’s a snapshot of DBViz showing the result: