Getting Started

With Log Owl, production is no longer a black box. Log Owl's adapters and open interface allow you to get started rapidly. The documentation will guide you on your first steps with Log Owl. You are going to learn how to set up your organization and invite users. There are also guides, that help you install and configuring the Log Owl adapters.

About

Log Owl can be used as a fully managed service or hosted by yourself in your own infrastructure. The Log Owl app consists of four components. They are all open-source and available for free use. Please find the source code on GitHub.

  • Service: Log Owl's backend, written in Go. The service can be built from source or conveniently deployed as Docker image. The latest versions are available on Docker Hub. This allows you to host your own Log Owl service.

  • MongoDB: Log Owl uses MongoDB as a persistence layer. It can be a MongoDB instance managed by services such as mLab or Atlas or a self-hosted instance.

  • Client: the Log Owl client is a React app, that can be hosted by yourself and easily be connected to your own Log Owl service.

  • Adapters: adapters are installed on the services that you want to monitor. Log Owl also offers an open interface that allows users to develop their custom adapters that fit their individual needs.

Managed Service

Using the managed Log Owl service is the quickest way to get started. Head over to Log Owl.io and create a new organization. Log Owl's managed service is currently free to use with the following limits:

  • 50.000 logging events per month
  • 5 users per organization

The limit is being resetted on the first day of each month. The monthly volume is shown in the organizations settings. Please contact hey@Log Owl.io if you need to increase the limits.

Self-Hosted

Log Owl can also be self-hosted in your own infrastructure. You can either build the service from source or use the Docker image from Docker Hub.

Service

Log Owl Docker image

Running the Log Owl Docker image is the easiest way to run Log Owl in your own infrastructure. All you need is Docker and a MongoDB instance. You can install MongoDB locally, run it as a separate container or use a remote instance provided by services like mLab or Atlas.

docker run \
--env PORT=2800 \
--env SECRET=secret \
--env MONGO_URI=mongodb://admin:password0@ds263108.mlab.com:63108/logowl-test\?retryWrites=false \
--env MONGO_DB_NAME=logowl-test \
--env MAILGUN_PRIVATE_KEY=aaa-aaa-aaa \
--env MAILGUN_DOMAIN=example.com \
--env MAILGUN_API_BASE=eu \
--env CLIENT_URL=http://localhost:3000 \
--env MONTHLY_REQUEST_LIMIT=50000 \
--env IS_SELFHOSTED=true \
-p 2800:2800 \
-it \
jz222/logowl:2.0.0

The following environment variables need to be provided.

Environment VariableDescription
PORTDetermines the port that the server should listen on.
SECRETSecret key that is used to sign JWT's. Make sure to provide a strong key.
MONGO_URIThe connection string of the MongoDB. Please refer to the MongoDB documentation for the format of the connection string.
MONGO_DB_NAMEThe name of the actual database.
MAILGUN_PRIVATE_KEYPrivate key for Mailgun. The private key can be found in the Mailgun settings. This environment variable is optional.
MAILGUN_DOMAINThe domain that is connected to your Mailgun account. This environment variable is optional.
MAILGUN_API_BASEThe API base of your Mailgun domain. Either eu or us.
CLIENT_URLThe URL of the Log Owl client.
MONTHLY_REQUEST_LIMITDefines the maximum amount of requests tracked per month. If the limit was reached, incoming requests will no longer be tracked.
IS_SELFHOSTEDCan either be true or false. If this environment variable is set to true, only one organization can be set up.

Building from source

Clone the repository and install dependencies with go get. After adding an .env file that corresponds to the .example.env file, you can start the server with go run cmd/log-owl/main.go.

Client

Local Setup

Clone the repository and install dependencies with npm i or yarn and start the development server with npm start or yarn start. To create a bundled production build run npm run build or yarn build.

Configuration

By default, the client is expecting the backend to be available at http://localhost:2800. If you use a different port or host Log Owl yourself, you can set the address in public/config.js before you create a production build.

Hosting

If you want to host Log Owl yourself, but don't want to create your own production build, you can find the static files in the dist/ folder. These files can be hosted like any other website, just make sure to update the backend URL in dist/config.js.

caution

Log Owl uses cookies to perform authentication. Therefore, it is important that the client and the service share the same top-level domain.

Troubleshooting