GOOS=linux GOARCH=amd64 go build -o iota-mon -a -v main.go
program option | type | description | default value | additional description |
---|---|---|---|---|
-i | string | IOTA node's command endpoint | http://localhost:14265 |
|
-m | string | file with neighbor mappings | { "<neighbor1_address>": { "name": "<neighbor1_name>", "slack": "<neighbor1_slack_username>" }, ... } |
|
-o | string | StatsD daemon address (daemon must have dog tags support) | localhost:8125 |
|
-r | int | request interval in seconds | 5 |
|
-h | n/a |
prints all options |
Prerequisite is that your IOTA IRI command interface (usually http://127.0.0.1:14265) is bound to some IP other than loopback (127.0.0.1), then:
- install the latest Docker engine (1.13.0+)
- put
Dockerfile
anddocker-compose.yaml
(fromDocker
directory) into some directory - replace
IOTA_IRI_IP_LOOPBACK_WILL_NOT_WORK
(insidedocker-compose.yaml
) with the IP where your IOTA IRI command interface is listening - create directory paths (mkdir -p)
/iota-mon/config/grafana
,/iota-mon/data/influxdb
and/iota-mon/data/grafana
- put
influxdb.conf
,telegraf.conf
andiota-mon_neighbors_map.json
(fromsample-config
directory) into/iota-mon/config
you just created - edit
iota-mon_neighbors_map.json
to map your neighbors - cd to the directory you put
Dockerfile
anddocker-compose.yaml
in - to start execute
docker-compose -f docker-compose.yaml up --build --no-start && docker-compose -f docker-compose.yaml start
- to stop execute
docker-compose -f docker-compose.yaml stop
- Grafana listens on exposed port 3000
- default username is
admin
and default password ischangeme
- create InfluxDB datasource with url
http://influxdb:8086
and databaseIOTA
- create a dashboard, configure alerting, ...