LogDB
LogDB is an ad-hoc logging database for distributed infrastructure.
Warning
LogDB is experimental, and may not work as expected or intended.
Please report any new bugs and issues that you happen to stumble upon to the LogDB issue tracker at dev.noccylabs.info
Built on the Shoulders of Giants
LogDB is built on top of these excellent libraries:
- Doctrine DBAL for database access
- ReactPHP for the runtime
Roadmap
- Core event functionality
- event management
- scope management
- source management
- origin management
- HTTP SSE event streaming for live updates
- API documentation in openapi yaml format
- UDP support
- Security and ACL
- Event retention/pruning (mostly)
- Default event retention/pruning
- Event hooks
- Builds
- PHAR
- Docker image
- Debian package
- Decent unit testing coverage
- Refactoring
- Extract database logic to Database class
- Extract command bus logic to BusCommands class
Installing
Docker
This is the recommended way for running within a stack.
services:
logdb:
image: dev.noccylabs.info/logdb/logdb:latest
volumes:
- ./data/logdb:/app/var
ports:
# bind to your VPN or internal IP here
- 10.147.1.2:7000:7000
restart: unless-stopped
From phar
You need to build it yourself for now. Use the makefile.
$ make phar
$ sudo cp logdbd.phar /usr/local/bin/logdbd
$ sudo chown root:root /usr/local/bin/logdbd
$ sudo chmod 744 /usr/local/bin/logdbd
You also need to start it somehow. See the next section for instructions on how to setup a SystemD service for LogDB.
Debian package
The Debian package allows you to install LogDB using aptitude on Debian- and Ubuntu based distributions.
$ sudo curl https://dev.noccylabs.info/api/packages/logdb/debian/repository.key \
-o /etc/apt/keyrings/noccylabs-logdb.asc
$ echo "deb [arch=all,signed-by=/etc/apt/keyrings/noccylabs-logdb.asc] \
https://dev.noccylabs.info/api/packages/logdb/debian ubuntu main" \
| sudo tee -a /etc/apt/sources.list.d/noccylabs.list
$ sudo apt update
$ sudo apt install logdb
Install the service to have LogDB start with SystemD:
$ sudo curl https://dev.noccylabs.info/logdb/logdb/raw/branch/master/doc/logdb.service \
-o /etc/systemd/system/logdb.service
$ sudo systemctl daemon-reload
$ sudo systemctl enable logdb
$ sudo systemctl start logdb
Security
Right now there is no security. Eventually, the classic permission/scope based security will be implemented.