TimescaleDB, AcraServer in Transparent encryption mode.
curl https://raw.githubusercontent.com/cossacklabs/acra-engineering-demo/master/run.sh | \
bash -s -- timescaledb
This command:
- downloads AcraServer, TimescaleDB, Prometheus, Grafana and PgAdmin images
- build
metricsource
image - configures environment and starts demo stand using docker-compose
Demo stand based on TimescaleDB, which stores encrypted data. That data produced by metricsource
container which connected to TimescaleDB through AcraServer.
At the initial stage, the TimescaleDB database will be filled with randomly generated metric data. Once started, the small daemon running in the metricsource
container will continue to insert records into the database to simulate real processes.
Grafana also connected through AcraServer to TimescaleDB and can get decrypted data to build Temperature (demo data)
graph.
Prometheus collects real metrics from AcraServer and show it on the dashboard AcraServer (real data)
.
Grafana shows dashboard with metrics collected from AcraServer and Prometheus.
-
Log into web TimescaleDB interface http://localhost:8008 using user/password:
test@test.test
/test
. -
Go to the
Servers > postgresql > databases > test > Schemas > public > Tables > versions
and open context menu with right-click. SelectView/Edit Data > All rows
and now you can see content of the table. Fieldsdevice
andunit_id
are encrypted. So, the data is stored in an encrypted form, but it is transparent for the Grafana.
You can easily interact with TimescaleDB through AcraServer:
docker exec -it \
-ePGSSLMODE='verify-full' \
-ePGSSLROOTCERT='scripts/ca.crt' \
-ePGSSLKEY='/scripts/acra-client.key' \
-ePGSSLCERT='/scripts/acra-client.crt' \
timescaledb-metricsource-1 \
psql 'postgres://postgres:test@acra-server:9393/test'
or directly:
docker exec -it -u postgres timescaledb-timescaledb-1 \
psql test
-
TimescaleDB - connect to the database using the admin account
postgres
/test
: postgresql://$HOST:5432. -
pgAdmin - connect directly to the database using WebUI and user account
login:test@test.test
/password:test
: http://localhost:8008 -
Grafana – see the dashboards with Acra metrics: http://localhost:3000.
-
Prometheus – examine the collected metrics: http://localhost:9090.
-
AcraServer – send some data directly through AcraServer: tcp://localhost:9393.