ControlCenter
Mirrored from GitLab! Monitoring and automation for Open Source email servers, starting with Postfix. Please do not submit issues or PRs here - join us at: https://gitlab.com/lightmeter
Install / Use
/learn @lightmeterio/ControlCenterREADME
Lightmeter ControlCenter
Note: This application has been deprecated and is unlikely to receive future updates.
Contents
- Introduction
- Supported Mail Transfer Agents
- Quickstart
- Install
- Upgrade
- Usage
- Feature documentation
- Known issues
- Development
- Troubleshooting
- Supported by
- License and Copyright information
Introduction
Welcome to Lightmeter Control Center, the Open Source mailops monitoring application.
<img src="https://gitlab.com/lightmeter/controlcenter/-/raw/master/docs/assets/screenshot.png" width="600"/>Supported Mail Transfer Agents
Currently Postfix MTA is supported. Future support for additional MTAs is planned.
Quickstart
- Install Lightmeter Control Center as you prefer:
- When using the binaries you can run Lightmeter using
./lightmeter -workspace ~/lightmeter_workspace -watch_dir /var/logThis command will start the application monitoring/var/login real time (including old logs found there), and store operation files inlightmeter_workspacefolder in your user's home directory. - If you are using the docker image, please look at the Usage, Docker image section in the README.md
- Open
http://localhost:8080/to see the web interface - Secure web access to the Web UI as necessary (see Known issues)
- If necessary, change the date range to see charts for the period of the logs you just imported
Installation
Install using Docker
Docker images are generated for each release and are published in the Lightmeter registry on Gitlab and in the Docker Hub.
You can use the latest tag if desired. For usage see Docker image.
Additionally we publish every night (in UTC time) two docker images with the tags nightly-master and nightly-develop. nightly-develop consists on a build from the develop branch, containing the latest changes, very unstable and suitable for use in production. nightly-master is more stable, containing changes that will be included in the next release, but isn't recommended to be used in production either.
Build from source code
The following dependencies are needed during development:
- Bash
- Git on any recent (as in 2020) version.
- Go compiler version 1.18 or newer.
- GCC version 9.3 or newer.
- Libc development files. Both glibc and musl have been successfully tested.
- GNU Make or compatible.
- Ragel version 6.X. We have successfully tested version 6.10. Ragel 7 is currently NOT supported.
- vue cli - Used for the web based UI.
For instance, on Alpine Linux 3.12, they can be installed with:
$ apk add git make gcc go libc-dev ragel npm
$ npm install -g @vue/cli@v4.5.9 @vue/cli-service-global@4.5.9
To build a release version, dynamically linked to the local libc, execute:
make release
And to create a static linked (supported only if your libc can be statically linked) version, execute:
make static_release
That will download all the dependencies and build a file called lightmeter,
which you can simply copy to your Postfix server and use it as described in the Usage section.
If you are planning to contribute with code (Thank you! :-)), please check Development.
Upgrade
Limited Automatic data migration during upgrade is supported. As the data format is not yet stable, we cannot guarantee 100% data safety.
We advice you to create a backup of the workspace directory before a major upgrade. A backup can be performed by stopping controlcenter, copying the workspace directory somewhere else (or creating an archive, etc.), upgrade controlcenter, and finally start it again.
Achieving this is easy using manual upgrade based on replacing binary files. For Docker-based installations you should configure a workspace directory outside of the Lightmeter Docker container. See 'Usage' on how to specify which workspace directory Lightmeter should use.
We have planned support for on-the-fly backup for future releases, where this procedure will become easier, safer and more flexible.
Install
Install from binaries
We provide pre-build architecture dependent binaries on Gitlab that should run on any modern Linux distribution. Just download them, set them as executable and executed as described in Usage.
Your operating system should provide certificate authority certificates (ca-certificates package in many distributions) by default,
but in case you are keeping your own CA certificates, you'll need to set the environment variable SSL_CERT_DIR to it.
For instance, on Alpine linux, you can use, before executing the binary:
export SSL_CERT_DIR=/usr/share/ca-certificates/mozilla
But this is almost always not needed as Control Center is able to properly find them.
For more information about how the CA certificates are found, please check the correspondent Go source code.
Rsync managed logs
In case the logs directory passed via -watch_dir is not in the same filesystem as postfix writes them, but instead copied via rsync,
you must pass the command line argument -logs_use_rsync, otherwise new log lines received after the first rsync execution won't be noticed.
When using rsync, re
Related Skills
imsg
339.3kiMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.
oracle
339.3kBest practices for using the oracle CLI (prompt + file bundling, engines, sessions, and file attachment patterns).
tmux
339.3kRemote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.
lobster
339.3kLobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (s
