64 lines
1.3 KiB
Markdown
64 lines
1.3 KiB
Markdown
# DAQ Ingest
|
|
|
|
## Build
|
|
|
|
```
|
|
cargo build --release
|
|
```
|
|
|
|
The resulting binary is found at `target/release/daqingest` and dynamically links only
|
|
to the most basic linux system libraries.
|
|
|
|
|
|
## Run
|
|
|
|
```
|
|
./daqingest channel-access ca-ingest <CONFIG.YML>
|
|
```
|
|
|
|
|
|
## Config file example
|
|
|
|
```yml
|
|
# Address to bind the HTTP API to, for runtime control and Prometheus metrics scrape:
|
|
api_bind: "0.0.0.0:3011"
|
|
# The hostname to send to channel access peers as our own hostname:
|
|
local_epics_hostname: sf-daqsync-02.psi.ch
|
|
# The backend name to use for the channels handled by this daqingest instance:
|
|
backend: scylla
|
|
# Addresses to use for channel access search:
|
|
search:
|
|
- "172.26.0.255"
|
|
- "172.26.2.255"
|
|
- "172.26.8.255"
|
|
- "..."
|
|
postgresql:
|
|
host: postgresql-host
|
|
port: 5432
|
|
user: database-username
|
|
pass: the-password
|
|
name: the-database-name
|
|
scylla:
|
|
hosts:
|
|
- "sf-nube-11:19042"
|
|
- "sf-nube-12:19042"
|
|
- "sf-nube-13:19042"
|
|
- "sf-nube-14:19042"
|
|
keyspace: ks1
|
|
channels:
|
|
- "SOME-CHANNEL:1"
|
|
- "OTHER-CHANNEL:2"
|
|
```
|
|
|
|
|
|
## Access status and configuration of daqingest at runtime
|
|
|
|
Status and configuration can be accessed at runtime via http at the address
|
|
as configured by the `api_bind` parameter.
|
|
|
|
### Check the state of a channel
|
|
|
|
```txt
|
|
http://<api_bind>/daqingest/channel/state?name=[...]
|
|
```
|