Skip to content

Latest commit

 

History

History
130 lines (109 loc) · 3.13 KB

demo_pseudo_shards.md

File metadata and controls

130 lines (109 loc) · 3.13 KB

Panoptes Shards / Cluster demonstration


Panoptes configuration: YAML Service discovery: Pseudo

You can see this demo through http://localhost:3000 in real time once you turned the demo up. The grafana dashboard username is panoptes and password is panoptes This demo included 6 containers as follow:

  • Two panoptes nodes
  • Panoptes gNMI simulator
  • Grafana
  • InfluxDB
  • Prometheus

The devices (5x simulated juniper devices) assigned to node-1 and node-2 automatically through auto sharding. it works based the hashing and modulo operation. you can see the configuration at http://localhost:8500 (key/value: panoptes > config)

panoptes consul demo

Checkout GitHub

git checkout github.com/yahoo/panoptes-stream
cd panoptes-stream/scripts/demo_shards

Start the containers

docker-compose -f docker-compose.pseudo.yml up -d

panoptes consul demo

docker-compose -f docker-compose.consul.yml ps

panoptes consul demo

http://localhost:3000 Panoptes Sharding Status

panoptes consul demo

Stop second node

docker stop panoptes-node2

The node one will take over the device[2 & 4].lax in less than a minute. panoptes consul demo panoptes consul demo

Start second node

docker start panoptes-node2

http://localhost:3000 Panoptes Sharding Status

panoptes consul demo

http://localhost:3000 Panoptes Sharding Demo panoptes consul demo

Clean up

docker-compose -f docker-compose.pseudo.yml down
Panoptes configuration

Demo Panoptes configuration

devices:
  - host: device1.lax
    port: 50051
    sensors:
      - sensor1
  - host: device2.lax
    port: 50051
    sensors:
      - sensor1
  - host: device3.lax
    port: 50051
    sensors:
      - sensor1
  - host: device4.lax
    port: 50051
    sensors:
      - sensor1
  - host: device5.lax
    port: 50051
    sensors:
      - sensor1

sensors:
  sensor1:
    path: /interfaces/interface/state/counters
    mode: sample
    sampleInterval: 10
    service: juniper.gnmi
    output: influxdb1::ifcounters

databases:
  influxdb1:
    service: influxdb
    config:
      server: http://influxdb:8086
      bucket: mybucket

discovery:
  service: pseudo
  config:
    instances:
      - panoptes-node1:8081
      - panoptes-node2:8081
    probe: http
    path: /healthcheck

shards:
  enabled: true
  numberOfNodes: 2
  InitializingShards: 1

status:
  addr: "0.0.0.0:8081"

logger:
  level: debug
  outputPaths:
    - stdout
  errorOutputPaths:
    - stderr

All demonstrations Please check out the demo page to see all of the demonstrations for different scenarios.