Commit 96ea2f1a by Adi Amir

Merge remote-tracking branch 'origin/master'

parents 30fef0bb 5d2aed6c
Showing with 3141 additions and 0 deletions
No preview for this file type
......@@ -60,3 +60,20 @@ https://docs.npmjs.com/getting-started/fixing-npm-permissions
[react-native]
react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
[influx-db]
from inside the instance:
connect:
influx -database mcx_db -host 'localhost' -port '8086'
show measurements:
show measurements
delete until certain date:
delete from "speed" where time < '2019-07-17'
[orientdb]
./bin/console.sh
CONNECT remote:localhost/MCX admin admin
- import
IMPORT DATABASE /orientdb/backup/MCX-orientdb-72.gz -preserveClusterIDs=true
No preview for this file type
......@@ -2,6 +2,8 @@
https://www.elastic.co/guide/en/elasticsearch/reference/5.5/docker.html
https://www.elastic.co/guide/en/kibana/5.5/_configuring_kibana_on_docker.html
# show indices and size
curl 172.16.1.72:9200/_cat/indices?v
#create index with mapping
curl -XPUT "http://localhost:9200/activityidx" -d'{ "mappings": { "activity": { "properties": { "metaData.loc": { "type": "geo_point" } } } } }'
......
* first time
[create]
mkdir <repo>
cd <repo>
git init
git remote add -f origin <url>
[config]
git config core.sparseCheckout true
echo "sub/dir/" >> .git/info/sparse-checkout
[pull]
git pull origin master
* update remote
git add [for new files]
git commit -a
git push --set-upstream origin master
## install node
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
apt-get install -y nodejs
npm install npm --global
check version:
node -v (or nodejs -v)
npm -v
## install yarn (after node)
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update && sudo apt-get install yarn
ORIENT 3 MIGRATION:
[creating the new spatial property and index]
CREATE PROPERTY Entity.loc EMBEDDED OPoint
CREATE INDEX Entity.loc ON Entity(loc) SPATIAL ENGINE LUCENE
update Entity SET location = {"@class": "OPoint","coordinates" : [-83.353095,42.469501]} where @rid='#14:0'
[delete duplicates by id - old database]
delete vertex Entity where id in (select id from (select from (select id,count(*) from Entity group by id) where count > 1))
Python 3 starter:
sudo apt install python3 python3-dev python3-pip python3-tk
- create virtual env]
python3 -m venv [my-working-directory]
- activate virtual env
source [my-working-directory]/bin/activate
- install tensorflow
pip3 install --upgrade tensorflow
- in vscode
settings.json :
{
"python.pythonPath": "[path/to/your/venv/bin]"
}
- when existing env:
deactivate
#!/bin/bash
openvpn --mktun --dev tun1
ifconfig tun1 up
echo "$1" | openconnect --interface=tun1 -u ipg.test --no-cert-check --passwd-on-stdin devnetsandboxlabs.cisco.com/rave49
#!/bin/bash
delete_old_reports() {
TENANT=$1
# delete reports older then a week
CUR_TIMESTAMP=`date +%s%3N` # in mill-secs
BACKWARD=604800000 # 7 days - 7 * 24 * 60 * 60 * 1000
TO_TIMESTAMP=$(( CUR_TIMESTAMP-BACKWARD ))
DEL_REPORT_URL="http://localhost:50075/report/api/v1/reports/${TENANT}?toTs=${TO_TIMESTAMP}"
DEL_REPORT_RES=`curl -X "DELETE" ${DEL_REPORT_URL}`
echo "${CUR_TIME} - reports deleted in ${TENANT}: ${DEL_REPORT_RES}" >> /opt/mcx/config/docker/dbclean.log
}
##### main #####
CUR_TIME=`date`
# delete activties older then 60 days
DEL_ACTIVITIES_RES=`curl -XPOST 'http://localhost:9200/activityidx/activity/_delete_by_query?conflicts=proceed' -d '{ "query": { "range": { "published": { "lte":"now-60d" } } }}'`
echo "${CUR_TIME} - activities delete: ${DEL_ACTIVITIES_RES}" >> /opt/mcx/config/docker/dbclean.log
# delete reports older then a week
delete_old_reports "fremont"
delete_old_reports "chicago"
#!/bin/bash
tarfile="containers.tar"
gzcmpfile=$tarfile
gzcmpfile+=".gz"
gunzip "$gzcmpfile"
tar xvf "$tarfile"
rm "$tarfile"
while read -r line ; do
echo "extracting image from $line"
docker load --input "$line"
rm "$line"
done < <(ls -l *.tar | awk '{print $9}')
#!/bin/bash
ifconfig tun1 down
openvpn --rmtun --dev tun1
[
{
"Id": "3f383ed40375fa791038d1f20fd345c75406c0104844188c988c4e83abd07600",
"Created": "2019-03-18T07:36:19.039992316Z",
"Path": "/init",
"Args": [],
"State": {
"Status": "running",
"Running": true,
"Paused": false,
"Restarting": false,
"OOMKilled": false,
"Dead": false,
"Pid": 4651,
"ExitCode": 0,
"Error": "",
"StartedAt": "2019-03-26T09:14:54.374352984Z",
"FinishedAt": "2019-03-26T11:14:32.46031571+02:00"
},
"Image": "sha256:64d89608bd31423aebf46e84284ff210ec87f3b044098c279c87e1c075b36592",
"ResolvConfPath": "/var/lib/docker/containers/3f383ed40375fa791038d1f20fd345c75406c0104844188c988c4e83abd07600/resolv.conf",
"HostnamePath": "/var/lib/docker/containers/3f383ed40375fa791038d1f20fd345c75406c0104844188c988c4e83abd07600/hostname",
"HostsPath": "/var/lib/docker/containers/3f383ed40375fa791038d1f20fd345c75406c0104844188c988c4e83abd07600/hosts",
"LogPath": "/var/lib/docker/containers/3f383ed40375fa791038d1f20fd345c75406c0104844188c988c4e83abd07600/3f383ed40375fa791038d1f20fd345c75406c0104844188c988c4e83abd07600-json.log",
"Name": "/letsencrypt",
"RestartCount": 0,
"Driver": "aufs",
"Platform": "linux",
"MountLabel": "",
"ProcessLabel": "",
"AppArmorProfile": "docker-default",
"ExecIDs": null,
"HostConfig": {
"Binds": [
"/opt/mcz/config-letsencrypt/tmp:/var/tmp/nginx:rw",
"/opt/mcz/config-letsencrypt:/config:rw"
],
"ContainerIDFile": "",
"LogConfig": {
"Type": "json-file",
"Config": {}
},
"NetworkMode": "docker_backend",
"PortBindings": {
"443/tcp": [
{
"HostIp": "",
"HostPort": "443"
}
],
"80/tcp": [
{
"HostIp": "",
"HostPort": "80"
}
]
},
"RestartPolicy": {
"Name": "unless-stopped",
"MaximumRetryCount": 0
},
"AutoRemove": false,
"VolumeDriver": "",
"VolumesFrom": [],
"CapAdd": [
"NET_ADMIN"
],
"CapDrop": null,
"Dns": [],
"DnsOptions": [],
"DnsSearch": [],
"ExtraHosts": null,
"GroupAdd": null,
"IpcMode": "shareable",
"Cgroup": "",
"Links": null,
"OomScoreAdj": 0,
"PidMode": "",
"Privileged": false,
"PublishAllPorts": false,
"ReadonlyRootfs": false,
"SecurityOpt": null,
"UTSMode": "",
"UsernsMode": "",
"ShmSize": 67108864,
"Runtime": "runc",
"ConsoleSize": [
0,
0
],
"Isolation": "",
"CpuShares": 0,
"Memory": 0,
"NanoCpus": 0,
"CgroupParent": "",
"BlkioWeight": 0,
"BlkioWeightDevice": null,
"BlkioDeviceReadBps": null,
"BlkioDeviceWriteBps": null,
"BlkioDeviceReadIOps": null,
"BlkioDeviceWriteIOps": null,
"CpuPeriod": 0,
"CpuQuota": 0,
"CpuRealtimePeriod": 0,
"CpuRealtimeRuntime": 0,
"CpusetCpus": "",
"CpusetMems": "",
"Devices": null,
"DeviceCgroupRules": null,
"DiskQuota": 0,
"KernelMemory": 0,
"MemoryReservation": 0,
"MemorySwap": 0,
"MemorySwappiness": null,
"OomKillDisable": false,
"PidsLimit": 0,
"Ulimits": null,
"CpuCount": 0,
"CpuPercent": 0,
"IOMaximumIOps": 0,
"IOMaximumBandwidth": 0
},
"GraphDriver": {
"Data": null,
"Name": "aufs"
},
"Mounts": [
{
"Type": "bind",
"Source": "/opt/mcz/config-letsencrypt",
"Destination": "/config",
"Mode": "rw",
"RW": true,
"Propagation": "rprivate"
},
{
"Type": "bind",
"Source": "/opt/mcz/config-letsencrypt/tmp",
"Destination": "/var/tmp/nginx",
"Mode": "rw",
"RW": true,
"Propagation": "rprivate"
}
],
"Config": {
"Hostname": "3f383ed40375",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"443/tcp": {},
"80/tcp": {}
},
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"OTP_SERVER=\"ipgallery-mcz.com:8099\"",
"KIBANA_SERVER=\"elk:5601\"",
"CAMERA_STREAM=\"62.90.201.74:9081\"",
"CAMERA_API=\"62.90.201.74:9090\"",
"PUBLIC_SAFETY_CAMERA=\"24.172.188.211:16000\"",
"TRANSPORTATION_SERVER=\"transportation:50035\"",
"PARKING_SERVER=\"parking:50055\"",
"PUBLIC_SAFETY_PORT_50005_TCP_ADDR=\"public-safety\"",
"PUBLIC_SAFETY_PORT_50005_TCP_PORT=\"50005\"",
"UI_API_PORT_8080_TCP_ADDR=\"ui-api\"",
"PUBLIC_SAFETY_IC_PORT_50004_TCP_ADDR=\"public-safety-ic\"",
"SRG_PORT_7681_TCP_ADDR=\"srg\"",
"SRG_PORT_7681_TCP_PORT=\"7681\"",
"PUID=991",
"PGID=991",
"TZ=\"Israel\"",
"URL=\"ipgallery-mcz.com\"",
"SUBDOMAINS=www,",
"VALIDATION=http",
"ONLY_SUBDOMAINS=false",
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"PS1=$(whoami)@$(hostname):$(pwd)$ ",
"HOME=/root",
"TERM=xterm",
"DHLEVEL=2048",
"AWS_CONFIG_FILE=/config/dns-conf/route53.ini",
"S6_BEHAVIOUR_IF_STAGE2_FAILS=2"
],
"Cmd": null,
"Image": "linuxserver/letsencrypt",
"Volumes": {
"/config": {},
"/var/tmp/nginx": {}
},
"WorkingDir": "",
"Entrypoint": [
"/init"
],
"OnBuild": null,
"Labels": {
"build_version": "Linuxserver.io version:- 0.32.0-ls11 Build-date:- 2019-03-16T12:32:43-04:00",
"com.docker.compose.config-hash": "0ac31522f0549817a6456ac08a96dca2ecb02b585b9e7e86b4a0a8be7ed8704c",
"com.docker.compose.container-number": "1",
"com.docker.compose.oneoff": "False",
"com.docker.compose.project": "docker",
"com.docker.compose.service": "letsencrypt",
"com.docker.compose.version": "1.21.2",
"maintainer": "aptalca"
}
},
"NetworkSettings": {
"Bridge": "",
"SandboxID": "9ced3704122b16b81a07c0e2b1dfaf21d1e038f648a1e2bc26f75848ae25c783",
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"Ports": {
"443/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "443"
}
],
"80/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "80"
}
]
},
"SandboxKey": "/var/run/docker/netns/9ced3704122b",
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
"EndpointID": "",
"Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAddress": "",
"IPPrefixLen": 0,
"IPv6Gateway": "",
"MacAddress": "",
"Networks": {
"docker_backend": {
"IPAMConfig": null,
"Links": null,
"Aliases": [
"3f383ed40375",
"letsencrypt"
],
"NetworkID": "a0dabe2a1abc6b33729d21ca3190ac3a4edc7a74ceb0dd8b2a8efa0205057e47",
"EndpointID": "59eedcff94787a0dbe8e7d69f62af5c7c671e2adae96c3d91686d79097442ba2",
"Gateway": "172.18.0.1",
"IPAddress": "172.18.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:12:00:02",
"DriverOpts": null
}
}
}
}
]
version: '2'
services:
## LETSENCRYPT
letsencrypt:
environment:
PGID: "911"
PUID: "911"
ONLY_SUBDOMAINS: "false"
URL: "ipgallery-mcz.com"
TZ: "Israel"
MAKE_CERT: "true"
image: linuxserver/letsencrypt
ports:
- "443:443"
- "80:80"
volumes:
- "/opt/mcz/config-letsencrypt/:/config:rw"
- "/opt/mcz/config-letsencrypt/tmp:/var/tmp/nginx:rw"
networks:
backend:
driver: bridge
version: '2'
services:
##### Mongo
mongodb:
image: mongo
ports:
- "27027:27017"
volumes:
- "/ext/mongodb/:/data/db"
networks:
- backend
# command: mongod --replSet Server_29
##### Redis
redis:
image: redis
ports:
- "6389:6379"
volumes:
- "/ext/redis/conf/:/usr/local/etc/redis/redis.conf"
- "/ext/redis/:/data/"
networks:
- backend
### Orient
orientdb:
image: aquabiota/orientdb-alpine-spatial
# command: /orientdb/bin/server.sh -Xms512m -Xmx512m
restart: on-failure
ports:
- "2424:2424"
- "2480:2480"
environment:
ORIENTDB_ROOT_PASSWORD: 'giptmgr'
ORIENTDB_OPTS_MEMORY: "-Xms512m -Xmx512m"
volumes:
- /ext/orientdb/config:/orientdb/config
- /ext/orientdb/databases:/orientdb/databases
- /ext/orientdb/backup:/orientdb/backup
networks:
- backend
###Open Trip Planner
# otp:
# image: municipalitybank.com:5050/mcx/devops/otp
# ports:
# - "8082:8080"
# - "8083:8081"
# volumes:
# - /var/otp/graphs:/var/otp/graphs
# environment:
# JAVA_ARGS: "-Xms256m -Xmx512m"
# command: --autoScan --server
# networks:
# - backend
mqtt:
image: eclipse-mosquitto
ports:
- "8050:8080"
- "1885:1883"
volumes:
- /opt/mcx/config/mosquitto/mosquitto.conf:/mosquitto/config/mosquitto.conf
# environment:
# JAVA_ARGS: "-Xms512m -Xmx512m"
networks:
- backend
elasticsearch:
image: elasticsearch:5.5.1
ports:
- "9200:9200"
- "9300:9300"
environment:
# ES_JAVA_OPTS: "-Xms8g -Xmx8g"
discovery.type: single-node
cluster.name: elasticsearch
# ES_HEAP_SIZE: "2048m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- "/ext/elasticsearch:/usr/share/elasticsearch/data"
- "/opt/mcx/config/elasticsearch/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml"
networks:
- backend
# user: elastic, pass:changeme
# before running ,run: sudo sysctl -w vm.max_map_count=262144
kibana:
image: kibana:5.5.1
ports:
- "5601:5601"
environment:
ES_JAVA_OPTS: "-Xms4096m -Xmx4096m"
# ES_HEAP_SIZE: "2048m"
volumes:
- "/ext/elasticsearch:/var/lib/elasticsearch"
networks:
- backend
# elk:
# image: sebp/elk
# ports:
# - "5601:5601"
# - "9200:9200"
# environment:
# ES_JAVA_OPTS: "-Xms4096m -Xmx4096m"
# ES_HEAP_SIZE: "2048m"
# volumes:
# - "/ext/elasticsearch:/var/lib/elasticsearch"
# networks:
# - backend
# fluentd-es:
# image: openfirmware/fluentd-elasticsearch
# ports:
# - "24224:24224"
# - "8888:8888"
# links:
# - elk:elasticsearch
# networks:
# - backend
# user: elastic, pass:changeme
# before running ,run: sudo sysctl -w vm.max_map_count=262144
# add follwing line in /etc/sysctl.conf
# vm.max_map_count = 262144
# create with geo json
#curl -XPUT "http://localhost:9200/activityidx" -d'{ "mappings": { "activity": { "properties": { "metaData.loc": { "type": "geo_point" } } } } }'
# view
# curl: curl -XGET "http://localhost:9200/activityidx/activity" -d'{ "query": { "match_all": {} }}'
influxdb:
environment:
INFLUXDB_GRAPHITE_ENABLED: 'true'
INFLUXDB_DB: "mcx_db"
INFLUXDB_USER: "root"
INFLUXDB_USER_PASSWORD: "giptmgr"
INFLUXDB_ADMIN_ENABLED: 'true'
INFLUXDB_ADMIN_BIND_ADDRESS: ":8083"
image: influxdb
ports:
- "8084:8083"
- "8086:8086"
- "2003:2003"
volumes:
- /ext/influxdb:/var/lib/influxdb
- /tmp/influxdb:/tmp
- /opt/mcx/config/influxdb/influxdb.conf:/etc/influxdb/influxdb.conf
networks:
- backend
grafana:
environment:
GF_INSTALL_PLUGINS: "grafana-piechart-panel,briangann-gauge-panel"
GF_AUTH_ANONYMOUS_ENABLED: 'true'
GF_AUTH_ANONYMOUS_ORG_NAME: 'Main Org.'
GF_AUTH_ANONYMOUS_ORG_ROLE: 'Editor'
GF_SERVER_DOMAIN: 'ipgallery-mcz.com'
GF_SERVER_ROOT_URL: '%(protocol)s://%(domain)s:/grafana'
HTTP_USER: "root"
HTTP_PASS: "giptmgrr"
INFLUXDB_PROTO: http
INFLUXDB_HOST: influxdb
INFLUXDB_PORT: 8086
INFLUXDB_NAME: "mcx_db"
INFLUXDB_USER: "root"
INFLUXDB_PASS: "giptmgrr"
image: grafana/grafana
ports:
- "3000:3000"
- "8048:80"
depends_on:
- influxdb
volumes:
- /ext/grafana:/var/lib/grafana
- /ext/grafana/grafana.ini:/etc/grafana/grafana.ini
#user/pass = admin/admin
networks:
- backend
ws-event-simulator:
environment:
file: "/tmp/events.json"
delay: 10
image: municipalitybank.com:5050/mcx/devops/ws-event-simulator
ports:
- "8053:8053"
volumes:
- "/opt/mcx/config/ws-event-simulator/events.json:/tmp/events.json"
networks:
backend:
driver: bridge
version: '2'
services:
### UI-WEB-CONTROL (NGINX + WEB)
ui-web-control:
environment:
OTP_SERVER: "ipgallery-mcz.com:8099"
KIBANA_SERVER: "kibana:5601"
CAMERA_STREAM: "62.90.201.74:9081"
CAMERA_API: "62.90.201.74:9090"
PUBLIC_SAFETY_CAMERA: "24.172.188.211:16000"
TRANSPORTATION_SERVER: "transportation:50035"
PARKING_SERVER: "parking:50055"
PUBLIC_SAFETY_SERVER_HOSTPORT: "public-safety:50005"
UI_SERVER_HOSTPORT: "ui-api:8080"
PUBLIC_SAFETY_IC_PORT_50004_TCP_ADDR: "public-safety-ic"
SRG_SERVER_HOSTPORT: "srg:7681"
image: municipalitybank.com:5050/mcx/ui-web/control-center-v2:43-da07258
# image: municipalitybank.com:5050/mcx/ui-web/control-center-v2:42-787a62a
# image: municipalitybank.com:5050/mcx/ui-web/control-center-v2:41-485bdaa
# image: municipalitybank.com:5050/mcx/ui-web/control-center-v2:40-5dfdcda
# image: municipalitybank.com:5050/mcx/ui-web/control-center-v2:39-ffad3bf
# image: municipalitybank.com:5050/mcx/ui-web/control-center-v2:38-1048a5b
# image: municipalitybank.com:5050/mcx/ui-web/control-center-v2:37-a980cf0
# image: municipalitybank.com:5050/mcx/ui-web/control-center-v2:36-c942063
# image: municipalitybank.com:5050/mcx/ui-web/control-center-v2:35-43efe5b
# image: municipalitybank.com:5050/mcx/ui-web/control-center-v2:34-47bf4a9
# image: municipalitybank.com:5050/mcx/ui-web/control-center-v2:33-9b31cf8
# image: municipalitybank.com:5050/mcx/ui-web/control-center-v2:32-968ff76
# image: municipalitybank.com:5050/mcx/ui-web/control-center-v2:30-8b4e45a
volumes:
- "/opt/mcx/config/repo/public-safety:/usr/share/nginx/html/repo/public-safety"
networks:
- backend
### UI-WEB-CLIENT (NGINX + WEB)
ui-web-client:
image: municipalitybank.com:5050/mcx/ui-web/client:28-6d88ee7
# image: municipalitybank.com:5050/mcx/ui-web/client:27-d55dad3
# image: municipalitybank.com:5050/mcx/ui-web/client:21-dfcfa2d
#image: municipalitybank.com:5050/mcx/ui-web:client-8-dea10d499084c4340ed08dd3bedc54a62e127965
# image: 172.16.1.212:5050/mcx/ui-web:client-25-fc74e8fe1b9cf7fbca90ad3b4da9fc3187bf4d1e
environment:
OTP_SERVER: "ipgallery-mcz.com:8099"
KIBANA_SERVER: "kibana:5601"
CAMERA_STREAM: "62.90.201.74:9081"
CAMERA_API: "62.90.201.74:9090"
PUBLIC_SAFETY_CAMERA: "24.172.188.211:16000"
TRANSPORTATION_SERVER: "transportation:50035"
PARKING_SERVER: "parking:50055"
PUBLIC_SAFETY_SERVER_HOSTPORT: "public-safety:50005"
UI_SERVER_HOSTPORT: "ui-api:8080"
PUBLIC_SAFETY_IC_PORT_50004_TCP_ADDR: "public-safety-ic"
SRG_SERVER_HOSTPORT: "srg:7681"
networks:
- backend
### UI-WEB-DRIVER (NGINX + WEB)
ui-web-driver:
image: municipalitybank.com:5050/ipgallery.web/driver:2-8af1450
# image: 172.16.1.212:5050/mcx/ui-web:driver-11-0a1f26cdf30b6734909f9c815a0b98c83b1a2c01
# image: municipalitybank.com:5050/mcx/ui-web:driver-2-963a1f8b75479192f5de29eb797422e67102fdbb
environment:
OTP_SERVER: "ipgallery-mcz.com:8099"
KIBANA_SERVER: "kibana:5601"
CAMERA_STREAM: "62.90.201.74:9081"
CAMERA_API: "62.90.201.74:9090"
PUBLIC_SAFETY_CAMERA: "24.172.188.211:16000"
TRANSPORTATION_SERVER: "transportation:50035"
PARKING_SERVER: "parking:50055"
PUBLIC_SAFETY_SERVER_HOSTPORT: "public-safety:50005"
UI_SERVER_HOSTPORT: "ui-api:8080"
PUBLIC_SAFETY_IC_PORT_50004_TCP_ADDR: "public-safety-ic"
SRG_SERVER_HOSTPORT: "srg:7681"
networks:
- backend
## CONTROL-CENTER-NEW
control-center:
image: municipalitybank.com:5050/ipgallery.web/control-center:26-cb22225
# image: municipalitybank.com:5050/ipgallery.web/control-center:Feature-AlertsAndScp
# image: municipalitybank.com:5050/ipgallery.web/control-center:25-39b1f5d
networks:
- backend
## FRONT END
front-end:
image: nginx
environment:
OTP_SERVER: "ipgallery-mcz.com:8099"
KIBANA_SERVER: "kibana:5601"
CAMERA_STREAM: "62.90.201.74:9081"
CAMERA_API: "62.90.201.74:9090"
PUBLIC_SAFETY_CAMERA: "24.172.188.211:16000"
TRANSPORTATION_SERVER: "transportation:50035"
PARKING_SERVER: "parking:50055"
PUBLIC_SAFETY_PORT_50005_TCP_ADDR: "public-safety"
PUBLIC_SAFETY_PORT_50005_TCP_PORT: "50005"
UI_API_PORT_8080_TCP_ADDR: "ui-api"
PUBLIC_SAFETY_IC_PORT_50004_TCP_ADDR: "public-safety-ic"
SRG_PORT_7681_TCP_ADDR: "srg"
SRG_PORT_7681_TCP_PORT: "7681"
ports:
- "443:443"
volumes:
- "/opt/mcz/config-letsencrypt/:/config"
- "/opt/mcx/config/front-end:/etc/nginx/conf.d"
- "/tmp/log:/var/log/nginx"
networks:
- backend
## FRONT END
# front-end:
# environment:
# OTP_SERVER: "ipgallery-mcz.com:8099"
# KIBANA_SERVER: "kibana:5601"
# CAMERA_STREAM: "62.90.201.74:9081"
# CAMERA_API: "62.90.201.74:9090"
# PUBLIC_SAFETY_CAMERA: "24.172.188.211:16000"
# TRANSPORTATION_SERVER: "transportation:50035"
# PARKING_SERVER: "parking:50055"
# PUBLIC_SAFETY_PORT_50005_TCP_ADDR: "public-safety"
# PUBLIC_SAFETY_PORT_50005_TCP_PORT: "50005"
# UI_API_PORT_8080_TCP_ADDR: "ui-api"
# PUBLIC_SAFETY_IC_PORT_50004_TCP_ADDR: "public-safety-ic"
# SRG_PORT_7681_TCP_ADDR: "srg"
# SRG_PORT_7681_TCP_PORT: "7681"
# PGID: "911"
# PUID: "911"
# ONLY_SUBDOMAINS: "false"
# URL: "ipgallery-mcz.com"
# TZ: "Israel"
# MAKE_CERT: "false"
# image: municipalitybank.com:5050/mcx/front-end:26-29ece50
## image: municipalitybank.com:5050/mcx/front-end:24-ebb7806
# ports:
# - "443:443"
# volumes:
# - "/opt/mcz/config-letsencrypt/:/config:rw"
# - "/opt/mcz/config-letsencrypt/tmp:/var/tmp/nginx:rw"
## extra_hosts:
## - "grafana:172.16.1.244"
# networks:
# - backend
networks:
backend:
driver: bridge
version: "2"
services:
traffic-tiles-fremont:
image: municipalitybank.com:5050/mcx/transportation/traffic-tiles:88b22e9
# image: municipalitybank.com:5050/mcx/transportation/traffic-tiles:38f8b20a2
environment:
file: cities/fremont-geojson.json
tenant: fremont
activitiesHostPort: activities:50070
entitiesHostPort: ds:50050
tsdbHostPort: influxdb:8086
networks:
- backend
networks:
backend:
driver: bridge
version: '2'
services:
polling-simulator:
environment:
file: "/tmp/polling.json"
p: 80
image: municipalitybank.com:5050/mcx/devops/polling-simulator
command: node app.js -p 80
ports:
- "8054:80"
volumes:
- "/opt/mcx/config/polling-simulator/chicago-polling.json:/tmp/polling.json"
networks:
- backend
networks:
backend:
driver: bridge
#!/bin/bash
check_dockers_up_status() {
SYS_STATUS="OK"
CUR_TIME=`date`
echo -e "${CUR_TIME} sys-check.sh started ..."
check_docker_up_status mcx-external.yml
check_docker_up_status mcx-backend.yml
check_docker_up_status mcx-frontend.yml
echo -e ""
if [ $SYS_STATUS == "OK" ];
then
echo -e "\e[32m******************\e[0m"
echo -e "\e[32m* SYSTEM IS OK ! *\e[0m"
echo -e "\e[32m******************\e[0m"
else
echo -e "\e[31mSYSTEM HAS ERRORS\e[0m"
fi
}
check_docker_up_status() {
DOCKER_FILE=$1
echo -e "\n\nchecking status of ${DOCKER_FILE} ..."
/usr/local/bin/docker-compose -f $DOCKER_FILE ps
NUM_OF_COMPONENTS=`/usr/local/bin/docker-compose -f $DOCKER_FILE ps | grep 'docker_' | wc -l`
NUM_OF_UP_COMPONENTS=`/usr/local/bin/docker-compose -f $DOCKER_FILE ps | grep 'docker_' | grep Up | wc -l`
DOCKER_STATUS="OK"
if [ $NUM_OF_COMPONENTS -eq 0 ];
then
DOCKER_STATUS="FAIL"
SYS_STATUS="FAIL"
echo -e "\e[31mERROR: ${DOCKER_FILE} is down\e[0m"
send_system_down_alert
return
fi
if [ $NUM_OF_UP_COMPONENTS -ne $NUM_OF_COMPONENTS ];
then
DOCKER_STATUS="FAIL"
SYS_STATUS="FAIL"
echo -e "\e[31mERROR: Found status errors in ${DOCKER_FILE}\e[0m"
send_docker_status_alert
return
fi;
echo -e "\e[32m${DOCKER_FILE} is up and running!\e[0m"
}
send_docker_status_alert() {
# title
HOST_NAME=`cat /proc/sys/kernel/hostname`
EMAIL_TITLE="MCX-ALERT(host:${HOST_NAME}) docker status error!"
# message
cat /dev/null > alert-msg.txt
echo -e "Found status errors in: ${DOCKER_FILE}" >> alert-msg.txt
/usr/local/bin/docker-compose -f $DOCKER_FILE ps | grep docker_ >> alert-msg.txt
echo " " >> alert-msg.txt
send_alert
}
send_system_down_alert() {
# title
HOST_NAME=`cat /proc/sys/kernel/hostname`
EMAIL_TITLE="MCX-ALERT(host:${HOST_NAME}) docker ${DOCKER_FILE} is down!"
# message
cat /dev/null > alert-msg.txt
echo -e "docker ${DOCKER_FILE} is down" >> alert-msg.txt
echo " " >> alert-msg.txt
send_alert
}
check_errors() {
# external
check_dosend_docker_status_alertcker_errors reports Exception
# check_docker_errors fluentd-es Exception
check_docker_errors grafana Exception
check_docker_errors influxdb Exception
check_docker_errors mongodb Exception
check_docker_errors mqtt Exception
check_docker_errors orientdb Exception
check_docker_errors redis Exception
check_docker_errors ws-event-simulator Exception
# backend
check_docker_errors activities Exception
check_docker_errors comm-logic Exception
check_docker_errors comm-service Exception
check_docker_errors data-logic Exception
check_docker_errors ds Exception
check_docker_errors mde2 Exception
check_docker_errors mde Exception
check_docker_errors parking Exception
check_docker_errors predictions Exception
#check_docker_errors public-safety-ic Exception
check_docker_errors public-safety Exception
check_docker_errors push-server Exception
check_docker_errors reports Exception
#check_docker_errors srg Exception
check_docker_errors transportation
check_docker_errors ui-api Exception
# front-end
check_docker_errors front-end Exception
check_docker_errors ui-web-client Exception
check_docker_errors ui-web-control Exception
check_docker_errors ui-web-driver Exception
}
check_docker_errors() {
DOCKER=$1
TAG=$2
DOCKER_INSTANCE="docker_${DOCKER}_1"
DOCKER_ERRORS=`docker logs --since 15m $DOCKER_INSTANCE | grep $TAG`
if [ -z "$DOCKER_ERRORS" ]; then
ERROR_STATUS="OK"
else
ERROR_STATUS="FAIL"
fi
###echo "ERROR_STATUS=${ERROR_STATUS}"
if [ "$ERROR_STATUS" != "OK" ];
then
echo -e "\e[31mFound errors in docker: ${DOCKER}\e[0m"
# send_error_alert
echo "${DOCKER_ERRORS}"
else
echo -e "\e[32mDOCKER: ${DOCKER} - no errors found.\e[0m"
return
fi
}
send_error_alert() {
# title
HOST_NAME=`cat /proc/sys/kernel/hostname`
EMAIL_TITLE="MCX-ALERT(host:${HOST_NAME}) error[${TAG}] in ${DOCKER}"
# message
cat /dev/null > alert-msg.txt
echo "${DOCKER_ERRORS}" >> alert-msg.txt
echo " " >> alert-msg.txt
send_alert
}
send_alert() {
echo "To: ipgallery.alert@gmail.com" >> alert-mail.txt
echo "From: ipgallery.alert@gmail.com" >> alert-mail.txt
SUBJECT="Subject: ${EMAIL_TITLE}"
cat /dev/null > alert-mail.txt
echo $SUBJECT >> alert-mail.txt
echo "" >> alert-mail.txt
cat alert-msg.txt >> alert-mail.txt
# send alert once only
ALERT_ID=`md5sum alert-mail.txt | awk '{print $1}'`
ALERT_EXIST=`find alerts/ -name "*.txt" | grep $ALERT_ID`
if [ -z "$ALERT_EXIST" ]; then
# this alerts does not exists in alerts/ folder yet - send alert now !
/usr/sbin/ssmtp ipgallery.alert@gmail.com < alert-mail.txt
if [ $? == 0 ]
then
echo -e "\e[31msent alert [${ALERT_ID}] to ipgallery.alert@gmail.com!\e[0m"
# save alert to disk
mv alert-mail.txt alerts/
mv alerts/alert-mail.txt alerts/$ALERT_ID.txt
else
echo -e "\e[31mERROR: failed to send alert [${ALERT_ID}]\e[0m"
fi
else
echo -e "\e[31maleary sent mail for alert [${ALERT_ID}]. do nothing\e[0m"
fi
}
##### main #####
cd /opt/mcx/config/docker/
mkdir -p alerts
check_dockers_up_status
check_errors
#!/bin/bash
stop_docker() {
DOCKER_FILE=$1
echo -e "stopping docker ${DOCKER_FILE} ..."
docker-compose -f $DOCKER_FILE down
}
##### main #####
cd /opt/mcx/config/docker/
stop_docker mcx-frontend.yml
stop_docker mcx-backend.yml
stop_docker mcx-external.yml
#!/bin/bash
DATE=`date +"%d-%m-%y_%H-%M-%S"`
HOST=`hostname -f`
MCX_CFG="mcx-cfg-${DATE}"
# create cfg directory
cd /opt/mcx/config/docker
mkdir $MCX_CFG
# copy all configuration files
# yml(s)
mkdir -p $MCX_CFG/yml
cp *.yml $MCX_CFG/yml/
# redis
mkdir -p $MCX_CFG/redis
cp /ext/redis/conf/*.conf $MCX_CFG/redis/
# orientdb
mkdir -p $MCX_CFG/orientdb
cp /ext/orientdb/config/*.json $MCX_CFG/orientdb/
cp /ext/orientdb/config/*.xml $MCX_CFG/orientdb/
cp /ext/orientdb/config/*.properties $MCX_CFG/orientdb/
# elasticsearch
mkdir -p $MCX_CFG/elasticsearch
cp /opt/mcx/config/elasticsearch/*.yml $MCX_CFG/elasticsearch/
# influxdb
mkdir -p $MCX_CFG/influxdb
cp /opt/mcx/config/influxdb/*.conf $MCX_CFG/influxdb/
# grafana
mkdir -p $MCX_CFG/grafana
cp /ext/grafana/*.ini $MCX_CFG/grafana/
# ws-event-simulator
mkdir -p $MCX_CFG/grafana
cp /opt/mcx/config/ws-event-simulator/events.json $MCX_CFG/grafana/
# frontend
mkdir -p $MCX_CFG/frontend
cp /opt/mcx/config/front-end/*.conf $MCX_CFG/frontend
###mkdir -p $MCX_CFG/frontend/config-letsencrypt
###cp -r /opt/mcz/config-letsencrypt/* $MCX_CFG/frontend/config-letsencrypt/
# docker
mkdir -p $MCX_CFG/docker
docker ps > $MCX_CFG/docker/docker-ps.txt
docker images > $MCX_CFG/docker/docker-images.txt
# script
mkdir -p $MCX_CFG/script
cp *.sh $MCX_CFG/script
# tar the whole thing
cd $MCX_CFG
TAR_FILE="${HOST}_${MCX_CFG}.tar.gz"
tar cvfz $TAR_FILE *
echo "sys-mkver DONE!"
#!/bin/bash
##### main #####
DOCKER_COMPOSE=$1
DOCKER=$2
docker-compose -f $DOCKER_COMPOSE stop $DOCKER
docker-compose -f $DOCKER_COMPOSE rm -f $DOCKER
docker-compose -f $DOCKER_COMPOSE up -d $DOCKER
#!/bin/bash
show_status() {
show_docker_status mcx-external.yml
show_docker_status mcx-backend.yml
show_docker_status mcx-frontend.yml
}
show_docker_status() {
DOCKER_FILE=$1
echo -e "\n\nstatus of ${DOCKER_FILE} ..."
/usr/local/bin/docker-compose -f $DOCKER_FILE ps
}
##### main #####
cd /opt/mcx/config/docker/
show_status
#!/bin/bash
start_all() {
echo -e "starting sys-up ..."
# clean system resources
echo -e "cleaning resources ..."
docker system prune -f
echo -e "cleaning alerts ..."
rm -f alerts/*.txt
echo -e ""
# running mcx-external.yml
start_docker mcx-external.yml
wait_for_up_status mcx-external.yml
wait_for_tag_status docker_elasticsearch_1 "Cluster health status" "to [YELLOW]"
echo -e ""
# running mcx-backend.yml
start_docker mcx-backend.yml
wait_for_up_status mcx-backend.yml
echo -e ""
# running mcx-frontend.yml
start_docker mcx-frontend.yml
wait_for_up_status mcx-frontend.yml
echo -e ""
echo -e "\e[32m*********************************\e[0m"
echo -e "\e[32m* SYSTEM STARTED SUCCESSFULLY ! *\e[0m"
echo -e "\e[32m*********************************\e[0m"
}
start_docker() {
DOCKER_FILE=$1
echo -e "starting ${DOCKER_FILE} ..."
docker-compose -f $DOCKER_FILE up -d > /dev/null 2>&1
RET=`echo $?`
# check return value
if [ "$RET" != "0" ]
then
echo -e "\e[31mERROR: start docker ${DOCKER_FILE} failed. aborted!\e[0m"
exit -1
fi
}
wait_for_up_status() {
DOCKER_FILE=$1
i="0"
while [ $i -lt 10 ]
do
check_up_status $DOCKER_FILE
if [ "$UP_STATUS" != "OK" ]
then
echo -e "checking ${DOCKER_FILE}(${NUM_OF_COMPONENTS} components) status ..."
sleep 3
else
echo -e "\e[32m${DOCKER_FILE} is up and running!\e[0m"
return
fi
i=$[$i+1]
done
echo -e "\e[31mERROR: start docker ${DOCKER_FILE} failed. aborted!\e[0m"
exit -1
}
check_up_status() {
DOCKER_FILE=$1
###docker-compose -f $DOCKER_FILE ps
NUM_OF_COMPONENTS=`docker-compose -f $DOCKER_FILE ps | grep 'docker_' | wc -l`
NUM_OF_UP_COMPONENTS=`docker-compose -f $DOCKER_FILE ps | grep 'docker_' | grep Up | wc -l`
if [ $NUM_OF_UP_COMPONENTS -eq $NUM_OF_COMPONENTS ];
then
UP_STATUS="OK"
else
UP_STATUS="FAIL"
fi;
}
wait_for_tag_status() {
DOCKER_ID=$1
TAG_NAME=$2
STATUS_DESC=$3
echo -e "waiting for ready status in ${DOCKER_ID} ..."
i="0"
while [ $i -lt 20 ]
do
check_tag_status $DOCKER_ID $TAG_NAME $STATUS_DESC
if [ "$TAG_STATUS" != "OK" ]
then
echo -e "checking status in ${DOCKER_ID} ..."
sleep 3
else
echo -e "\e[32m${DOCKER_ID} status is ok!\e[0m"
return
fi
i=$[$i+1]
done
echo -e "\e[31mERROR: start docker ${DOCKER_ID} failed. aborted!\e[0m"
exit -1
}
check_tag_status() {
DOCKER_ID=$1
TAG_NAME=$2
STATUS_DESC=$3
TAG_RESULT=`docker logs $DOCKER_ID | head -n 1000 | grep $TAG_NAME | grep $STATUS_DESC`
if [ -z "$TAG_RESULT" ]; then
TAG_STATUS="FAIL"
else
TAG_STATUS="OK"
fi
}
##### main #####
cd /opt/mcx/config/docker/
start_all
version: '2'
services:
ws-event-simulator:
environment:
file: "/tmp/events.json"
delay: 10
image: municipalitybank.com:5050/mcx/devops/ws-event-simulator
ports:
- "8053:8053"
volumes:
- "/opt/mcx/config/ws-event-simulator/events.json:/tmp/events.json"
http.host: 0.0.0.0
# Uncomment the following lines for a production cluster deployment
transport.host: 0.0.0.0
discovery.zen.minimum_master_nodes: 1
[meta]
dir = "/var/lib/influxdb/meta"
[data]
dir = "/var/lib/influxdb/data"
engine = "tsm1"
wal-dir = "/var/lib/influxdb/wal"
max-series-per-database = 0
\ No newline at end of file
# Default Kibana 5 file from https://github.com/elastic/kibana/blob/master/config/kibana.yml
#
# Kibana is served by a back end server. This setting specifies the port to use.
#server.port: 5601
# Specifies the address to which the Kibana server will bind. IP addresses and host names are both valid values.
# The default is 'localhost', which usually means remote machines will not be able to connect.
# To allow connections from remote users, set this parameter to a non-loopback address.
server.host: "0.0.0.0"
# Enables you to specify a path to mount Kibana at if you are running behind a proxy. This only affects
# the URLs generated by Kibana, your proxy is expected to remove the basePath value before forwarding requests
# to Kibana. This setting cannot end in a slash.
#server.basePath: "/kibana"
# The maximum payload size in bytes for incoming server requests.
#server.maxPayloadBytes: 1048576
# The Kibana server's name. This is used for display purposes.
#server.name: "your-hostname"
# The URL of the Elasticsearch instance to use for all your queries.
#elasticsearch.url: "http://localhost:9200"
# When this setting’s value is true Kibana uses the hostname specified in the server.host
# setting. When the value of this setting is false, Kibana uses the hostname of the host
# that connects to this Kibana instance.
#elasticsearch.preserveHost: true
# Kibana uses an index in Elasticsearch to store saved searches, visualizations and
# dashboards. Kibana creates a new index if the index doesn’t already exist.
#kibana.index: ".kibana"
# The default application to load.
#kibana.defaultAppId: "discover"
# If your Elasticsearch is protected with basic authentication, these settings provide
# the username and password that the Kibana server uses to perform maintenance on the Kibana
# index at startup. Your Kibana users still need to authenticate with Elasticsearch, which
# is proxied through the Kibana server.
#elasticsearch.username: "user"
#elasticsearch.password: "pass"
# Paths to the PEM-format SSL certificate and SSL key files, respectively. These
# files enable SSL for outgoing requests from the Kibana server to the browser.
#server.ssl.cert: /path/to/your/server.crt
#server.ssl.key: /path/to/your/server.key
# Optional settings that provide the paths to the PEM-format SSL certificate and key files.
# These files validate that your Elasticsearch backend uses the same key files.
#elasticsearch.ssl.cert: /path/to/your/client.crt
#elasticsearch.ssl.key: /path/to/your/client.key
# Optional setting that enables you to specify a path to the PEM file for the certificate
# authority for your Elasticsearch instance.
#elasticsearch.ssl.ca: /path/to/your/CA.pem
# To disregard the validity of SSL certificates, change this setting’s value to false.
#elasticsearch.ssl.verify: true
# Time in milliseconds to wait for Elasticsearch to respond to pings. Defaults to the value of
# the elasticsearch.requestTimeout setting.
#elasticsearch.pingTimeout: 1500
# Time in milliseconds to wait for responses from the back end or Elasticsearch. This value
# must be a positive integer.
#elasticsearch.requestTimeout: 30000
# List of Kibana client-side headers to send to Elasticsearch. To send *no* client-side
# headers, set this value to [] (an empty list).
#elasticsearch.requestHeadersWhitelist: [ authorization ]
# Header names and values that are sent to Elasticsearch. Any custom headers cannot be overwritten
# by client-side headers, regardless of the elasticsearch.requestHeadersWhitelist configuration.
#elasticsearch.customHeaders: {}
# Time in milliseconds for Elasticsearch to wait for responses from shards. Set to 0 to disable.
#elasticsearch.shardTimeout: 0
# Time in milliseconds to wait for Elasticsearch at Kibana startup before retrying.
#elasticsearch.startupTimeout: 5000
# Specifies the path where Kibana creates the process ID file.
#pid.file: /var/run/kibana.pid
# Enables you specify a file where Kibana stores log output.
#logging.dest: stdout
# Set the value of this setting to true to suppress all logging output.
#logging.silent: false
# Set the value of this setting to true to suppress all logging output other than error messages.
#logging.quiet: false
# Set the value of this setting to true to log all events, including system usage information
# and all requests.
#logging.verbose: false
# Set the interval in milliseconds to sample system and process performance
# metrics. Minimum is 100ms. Defaults to 5000.
#ops.interval: 5000
{
"bbox": "32.715675:-117.161230,32.708498:-117.151681"
}
[{
"id": "CAMERA-STG-HYP1017-CAM",
"name": "CAMERA-STG-HYP1017-CAM",
"views": [{
"id": "CAMERA-STG-HYP1017-CAM-L",
"dir": "NE"
}, {
"id": "CAMERA-STG-HYP1017-CAM-R",
"dir": "W"
}, {
"id": "CAMERA-STG-HYP1017-CAM-F",
"dir": "E"
}],
"lat": 32.714759,
"lon": -117.157563,
"mediaType": "IMAGE,VIDEO"
}, {
"id": "CAMERA-STG-HYP1023-CAM",
"name": "CAMERA-STG-HYP1023-CAM",
"views": [{
"id": "CAMERA-STG-HYP1023-CAM-L",
"dir": "NE"
}, {
"id": "CAMERA-STG-HYP1023-CAM-R",
"dir": "W"
}, {
"id": "CAMERA-STG-HYP1023-CAM-F",
"dir": "E"
}],
"lat": 32.714759,
"lon": -117.157563,
"mediaType": "IMAGE,VIDEO"
}]
\ No newline at end of file
#ds.IpAddress=172.16.1.97:8080
log4j.prop.file.path=/logs/conf/log4j.xml
#mcz.files.location=/opt/mcx/config
### microservice/rest server
server.port=50005
server.host=0.0.0.0
server.worker.threads=10
publicSafety.mdeServer.address=172.16.1.151:50040
publicSafety.mdeServer.appName=mde
publicSafety.dsServer.address=172.16.1.151:8012
publicSafety.dsServer.appName=ds
publicSafety.cacheServer.address=172.16.1.151
publicSafety.cacheServer.defaultExpirationSec=300
publicSafety.updateTrafficLaneTimeout=300000
#If the port is not specified, it will
#* default to 1883 for <code>tcp://</code>" URIs, and 8883 for <code>ssl://</code> URIs.
publicSafety.mqttServer.address=tcp://localhost
[{
"id": "ge/crossWalk/1349-crosswalk",
"name": "1349-crosswalk",
"lat": 41.864897,
"lon": -87.646763,
"direction": "vertical",
"box": [{
"lat": 41.864897,
"lon": -87.646892
}, {
"lat": 41.864897,
"lon": -87.646793
}, {
"lat": 41.864927,
"lon": -87.646793
}, {
"lat": 41.864927,
"lon": -87.646892
}],
"timestamp": 1468360111300,
"count": 12
}, {
"id": "ge/crossWalk/1347-crosswalk",
"name": "1347-crosswalk",
"lat": 41.864678,
"lon": -87.646761,
"direction": "vertical",
"box": [{
"lat": 41.864678,
"lon": -87.646890
}, {
"lat": 41.864678,
"lon": -87.646791
}, {
"lat": 41.864708,
"lon": -87.646791
}, {
"lat": 41.864708,
"lon": -87.646890
}],
"timestamp": 1468360111300,
"count": 5
}, {
"id": "ge/crossWalk/1345-crosswalk",
"name": "1345-crosswalk",
"lat": 41.864215,
"lon": -87.646747,
"direction": "vertical",
"box": [{
"lat": 41.864215,
"lon": -87.646871
}, {
"lat": 41.864215,
"lon": -87.646777
}, {
"lat": 41.864245,
"lon": -87.646777
}, {
"lat": 41.8642452,
"lon": -87.646871
}],
"timestamp": 1468360111300,
"count": 3
}]
[{
"id": "ge/crosswalkc/cw1000",
"name": "cw1000",
"lat": 32.072770,
"lon": 34.808565,
"direction": "vertical",
"box": [{
"lat": 32.072770,
"lon": 34.808620
}, {
"lat": 32.072770,
"lon": 34.808700
}, {
"lat": 32.072821,
"lon": 34.808700
}, {
"lat": 32.072821,
"lon": 34.808620
}],
"timestamp": 1468360111300,
"count": 12
}, {
"id": "ge/crosswalkc/cw2000",
"name": "cw2000",
"lat": 32.072188,
"lon": 34.808582,
"direction": "vertical",
"box": [{
"lat": 32.072188,
"lon": 34.808620
}, {
"lat": 32.072188,
"lon": 34.808700
}, {
"lat": 32.072244,
"lon": 34.808700
}, {
"lat": 32.072244,
"lon": 34.808620
}],
"timestamp": 1468360111300,
"count": 5
}, {
"id": "ge/crosswalkc/cw3000",
"name": "cw3000",
"lat": 32.072120,
"lon": 34.808909,
"direction": "horizental",
"box": [{
"lat": 32.072040,
"lon": 34.808909
}, {
"lat": 32.072040,
"lon": 34.808971
}, {
"lat": 32.072100,
"lon": 34.808971
}, {
"lat": 32.072100,
"lon": 34.808909
}],
"timestamp": 1468360111300,
"count": 3
}]
[{
"id": "ge/crosswalkc/cw1000",
"name": "cw1000",
"lat": 31.892426,
"lon": 35.012215,
"direction": "vertical",
"box": [{
"lat": 31.892426,
"lon": 35.012215
}, {
"lat": 0,
"lon": 0
}, {
"lat": 0,
"lon": 0
}, {
"lat": 0,
"lon": 0
}],
"timestamp": 1468360111300,
"count": 12
}, {
"id": "ge/crosswalkc/cw2000",
"name": "cw2000",
"lat": 31.892463,
"lon": 35.012934,
"direction": "vertical",
"box": [{
"lat": 31.892426,
"lon": 35.012215
}, {
"lat": 0,
"lon": 0
}, {
"lat": 0,
"lon": 0
}, {
"lat": 0,
"lon": 0
}],
"timestamp": 1468360111300,
"count": 5
}, {
"id": "ge/crosswalkc/cw3000",
"name": "cw3000",
"lat": 31.892203,
"lon": 35.012446,
"direction": "vertical",
"box": [{
"lat": 31.892426,
"lon": 35.012215
}, {
"lat": 0,
"lon": 0
}, {
"lat": 0,
"lon": 0
}, {
"lat": 0,
"lon": 0
}],
"timestamp": 1468360111300,
"count": 3
}]
\ No newline at end of file
[{
"id": "ge/crossWalk/1349-crosswalk",
"name": "1349-crosswalk",
"lat": 44.959225,
"lon": -93.279554,
"direction": "vertical",
"box": [{
"lat": 44.959215,
"lon": -93.279700
}, {
"lat": 44.959215,
"lon": -93.279554
}, {
"lat": 44.959262,
"lon": -93.279554
}, {
"lat": 44.959262,
"lon": -93.279700
}],
"timestamp": 1468360111300,
"count": 12
}, {
"id": "ge/crossWalk/1347-crosswalk",
"name": "1347-crosswalk",
"lat": 44.959020,
"lon": -93.279554,
"direction": "vertical",
"box": [{
"lat": 44.959000,
"lon": -93.279700
}, {
"lat": 44.959000,
"lon": -93.279554
}, {
"lat": 44.959047,
"lon": -93.279554
}, {
"lat": 44.959047,
"lon": -93.279700
}],
"timestamp": 1468360111300,
"count": 5
}, {
"id": "ge/crossWalk/1345-crosswalk",
"name": "1345-crosswalk",
"lat": 44.959020,
"lon": -93.281200,
"direction": "vertical",
"box": [{
"lat": 44.959000,
"lon": -93.281400
}, {
"lat": 44.959000,
"lon": -93.281200
}, {
"lat": 44.959047,
"lon": -93.281200
}, {
"lat": 44.959047,
"lon": -93.281400
}],
"timestamp": 1468360111300,
"count": 3
}]
[{
"id": "ge/crosswalkc/cw1000",
"name": "cw1000",
"lat": 31.892502,
"lon": 35.012310,
"direction": "horizental",
"box": [{
"lat": 31.892403,
"lon": 35.012211
}, {
"lat": 31.892403,
"lon": 35.012378
}, {
"lat": 31.892482,
"lon": 35.012378
}, {
"lat": 31.892482,
"lon": 35.012211
}],
"timestamp": 1468360111300,
"count": 12
}, {
"id": "ge/crosswalkc/cw2000",
"name": "cw2000",
"lat": 31.892517,
"lon": 35.013376,
"direction": "horizental",
"box": [{
"lat": 31.892418,
"lon": 35.013276
}, {
"lat": 31.892418,
"lon": 35.013443
}, {
"lat": 31.892497,
"lon": 35.013443
}, {
"lat": 31.892497,
"lon": 35.013276
}],
"timestamp": 1468360111300,
"count": 5
}, {
"id": "ge/crosswalkc/cw3000",
"name": "cw3000",
"lat": 31.892526,
"lon": 35.014697,
"direction": "horizental",
"box": [{
"lat": 31.892427,
"lon": 35.014510
}, {
"lat": 31.892427,
"lon": 35.014676
}, {
"lat": 31.892506,
"lon": 35.014665
}, {
"lat": 31.892506,
"lon": 35.014510
}],
"timestamp": 1468360111300,
"count": 3
}]
[{
"id": "ge/crossWalk/1349-crosswalk",
"name": "1349-crosswalk",
"lat": 32.713724,
"lon": -117.157305,
"direction": "vertical",
"box": [{
"lat": 32.713749,
"lon": -117.157455
}, {
"lat": 32.713749,
"lon": -117.157377
}, {
"lat": 32.713800,
"lon": -117.157377
}, {
"lat": 32.713800,
"lon": -117.157455
}],
"timestamp": 1468360111300,
"count": 12
}, {
"id": "ge/crossWalk/1347-crosswalk",
"name": "1347-crosswalk",
"lat": 32.713722,
"lon": -117.15637,
"direction": "vertical",
"box": [{
"lat": 32.713723,
"lon": -117.156529
}, {
"lat": 32.713723,
"lon": -117.156451
}, {
"lat": 32.713774,
"lon": -117.156451
}, {
"lat": 32.713774,
"lon": -117.156529
}],
"timestamp": 1468360111300,
"count": 5
}, {
"id": "ge/crossWalk/1345-crosswalk",
"name": "1345-crosswalk",
"lat": 32.713733,
"lon": -117.155480,
"direction": "vertical",
"box": [{
"lat": 32.713734,
"lon": -117.155636
}, {
"lat": 32.713734,
"lon": -117.155542
}, {
"lat": 32.713784,
"lon": -117.155542
}, {
"lat": 32.713784,
"lon": -117.155636
}],
"timestamp": 1468360111300,
"count": 3
}, {
"id": "ge/crosswalkc/cw1000",
"name": "cw1000",
"lat": 32.711679,
"lon": -117.157483,
"direction": "vertical",
"box": [{
"lat": 32.711677,
"lon": -117.157420
}, {
"lat": 32.711677,
"lon": -117.157360
}, {
"lat": 32.711729,
"lon": -117.157360
}, {
"lat": 32.711729,
"lon": -117.157420
}],
"timestamp": 1468360111300,
"count": 12
}, {
"id": "ge/crosswalkc/cw2000",
"name": "cw2000",
"lat": 32.712733,
"lon": -117.157517,
"direction": "vertical",
"box": [{
"lat": 32.712733,
"lon": -117.157457
}, {
"lat": 32.712733,
"lon": -117.157377
}, {
"lat": 32.712785,
"lon": -117.157377
}, {
"lat": 32.712785,
"lon": -117.157457
}],
"timestamp": 1468360111300,
"count": 5
}, {
"id": "ge/crosswalkc/cw3000",
"name": "cw3000",
"lat": 32.711407,
"lon": -117.156692,
"direction": "horizontal",
"box": [{
"lat": 32.711484,
"lon": -117.156692
}, {
"lat": 32.711484,
"lon": -117.156640
}, {
"lat": 32.711544,
"lon": -117.156640
}, {
"lat": 32.711544,
"lon": -117.156692
}],
"timestamp": 1468360111300,
"count": 3
}]
\ No newline at end of file
[{
"id": "ENV-STG-HYP1071-internal",
"lat": 32.71372,
"lon": -117.156634,
"sensors": [{
"id": "/ge/env/PRESSURE/ENV-STG-HYP1071-internal",
"type": "thing/env/PRESSURE",
"typeName": "Pressure",
"timestamp": 1486755078123,
"unit": "PASCALS",
"max": 101907,
"mean": 101901,
"median": 101901,
"min": 101893
}, {
"id": "/ge/env/HUMIDITY/ENV-STG-HYP1071-internal",
"type": "thing/env/HUMIDITY",
"typeName": "Humidity",
"timestamp": 1486755078123,
"unit": "PERCENT",
"max": 61.18,
"mean": 61.08,
"median": 61.08,
"min": 60.82
}, {
"id": "/ge/env/TEMPERATURE/ENV-STG-HYP1071-internal",
"type": "thing/env/TEMPERATURE",
"typeName": "Temperature",
"timestamp": 1486755078123,
"unit": "KELVIN",
"max": 270.4,
"mean": 270,
"median": 270,
"min": 268.8
}]
},{"id": "ENV-STG-HYP1073-internal",
"lat": 32.71372,
"lon": -117.157547,
"sensors": [{
"id": "/ge/env/PRESSURE/ENV-STG-HYP1073-internal",
"type": "thing/env/PRESSURE",
"typeName": "Pressure",
"timestamp": 1486755078123,
"unit": "PASCAL",
"max": 101908,
"mean": 101900,
"median": 101900,
"min": 101892
}, {
"id": "/ge/env/HUMIDITY/ENV-STG-HYP1073-internal",
"type": "thing/env/HUMIDITY",
"typeName": "Humidity",
"timestamp": 1486755078123,
"unit": "PERCENT",
"max": 61.18,
"mean": 61.12,
"median": 61.12,
"min": 60.82
}, {
"id": "/ge/env/TEMPERATURE/ENV-STG-HYP1073-internal",
"type": "thing/env/TEMPERATURE",
"typeName": "Temperature",
"timestamp": 1486755078123,
"unit": "KELVIN",
"max": 270.4,
"mean": 269.7,
"median": 269.7,
"min": 268.8
}]
},{"id": "ENV-STG-HYP1072-internal",
"lat": 32.71459,
"lon": -117.158204,
"sensors": [{
"id": "/ge/env/PRESSURE/ENV-STG-HYP1072-internal",
"type": "thing/env/PRESSURE",
"typeName": "Pressure",
"timestamp": 1486755078123,
"unit": "PASCALS",
"max": 101914,
"mean": 101912,
"median": 101912,
"min": 101886
}, {
"id": "/ge/env/HUMIDITY/ENV-STG-HYP1072-internal",
"type": "thing/env/HUMIDITY",
"typeName": "Humidity",
"timestamp": 1486755078123,
"unit": "PERCENT",
"max": 61.06,
"mean": 61.02,
"median": 61.02,
"min": 60.94
}, {
"id": "/ge/env/TEMPERATURE/ENV-STG-HYP1072-internal",
"type": "thing/env/TEMPERATURE",
"typeName": "Temperature",
"timestamp": 1486755078123,
"unit": "KELVIN",
"max": 269.7,
"mean": 269.7,
"median": 269.7,
"min": 269.5
}]
}]
\ No newline at end of file
[{
"id": "san-diego",
"mdeTenantId": "ge"
}, {
"id": "chicago",
"mdeTenantId": "chicago"
}, {
"id": "minneapolis",
"mdeTenantId": "minneapolis"
},
{
"id": "givatayim",
"mdeTenantId": "givatayim"
}]
\ No newline at end of file
This diff could not be displayed because it is too large.
#ds.IpAddress=172.16.1.97:8080
log4j.prop.file.path=/logs/conf/log4j.xml
#mcz.files.location=/opt/mcx/config
### microservice/rest server
server.port=50035
server.host=0.0.0.0
server.worker.threads=6
transportation.mdeServer.address=172.16.1.151:50040
transportation.mdeServer.appName=mde
transportation.dsServer.address=172.16.1.244:8012
transportation.dsServer.appName=ds
transportation.cacheServer.address=172.16.1.151
transportation.cacheServer.defaultExpirationSec=300
transportation.updateTrafficLaneTimeout=300000
#If the port is not specified, it will
#* default to 1883 for <code>tcp://</code>" URIs, and 8883 for <code>ssl://</code> URIs.
transportation.mqttServer.address=tcp://localhost
[{
"id": "ge",
"mdeTenantId": "ge"
},{
"id": "san-diego",
"mdeTenantId": "ge"
}, {
"id": "chicago",
"mdeTenantId": "chicago"
}, {
"id": "minneapolis",
"mdeTenantId": "minneapolis"
}, {
"id": "modiin",
"mdeTenantId": "modiin"
}]
[{
"id": "ge",
"mdeTenantId": "ge"
},{
"id": "san-diego",
"mdeTenantId": "ge"
}, {
"id": "chicago",
"mdeTenantId": "chicago"
}, {
"id": "minneapolis",
"mdeTenantId": "minneapolis"
}, {
"id": "modiin",
"mdeTenantId": "modiin"
}]
[{
"segmentId": "HYP1040-75-Lane1",
"from": [32.711679, -117.157453],
"to": [32.71252143601507, -117.157453]
}, {
"segmentId": "HYP1040-75-Lane2",
"from": [32.711677, -117.157412],
"to": [32.71252143601507, -117.157412]
}, {
"segmentId": "HYP1040-75-Lane3",
"from": [32.711676, -117.15737],
"to": [32.71252143601507, -117.15737]
}, {
"segmentId": "HYP1039-72-Lane1",
"from": [32.712733, -117.157457],
"to": [32.71358583971022,-117.15745989554391]
}, {
"segmentId": "HYP1039-72-Lane2",
"from": [32.712728, -117.157417],
"to": [32.71358583971022, -117.157417]
}, {
"segmentId": "HYP1039-72-Lane3",
"from": [32.712722, -117.157367],
"to": [32.71358583971022, -117.157367]
}, {
"segmentId": "HYP1047-88-Lane1",
"from": [32.711467, -117.156692],
"to": [32.71146362809287,-117.15735098591766]
}, {
"segmentId": "HYP1047-88-Lane2",
"from": [32.711491, -117.156695],
"to": [32.711491, -117.15735098591766]
}, {
"segmentId": "HYP1047-88-Lane3",
"from": [32.711522, -117.156663],
"to": [32.711522, -117.15735098591766]
}, {
"segmentId": "HYP1047-88-Lane4",
"from": [32.711549, -117.156689],
"to": [32.711549, -117.157350985917669]
}, {
"segmentId": "HYP1047-88-Lane5",
"from": [32.711573, -117.156691],
"to": [32.711573, -117.15735098591766]
}, {
"segmentId": "HYP1041-79-Lane1",
"from": [32.712556, -117.157584],
"to": [32.71254987670727,-117.15830710718726]
}, {
"segmentId": "HYP1041-79-Lane2",
"from": [32.712586, -117.157597],
"to": [32.712586, -117.15830710718726]
}, {
"segmentId": "HYP1041-79-Lane3",
"from": [32.712622, -117.157599],
"to": [32.712622, -117.15830710718726]
}, {
"segmentId": "HYP1042-76-Lane1",
"from": [32.711585, -117.15634],
"to": [32.71159137002799,-117.1556080592579]
}, {
"segmentId": "HYP1042-76-Lane2",
"from": [32.71155, -117.156338],
"to": [32.71155, -117.1556080592579]
}, {
"segmentId": "HYP1042-76-Lane3",
"from": [32.711519, -117.156335],
"to": [32.711519, -117.1556080592579]
}, {
"segmentId": "HYP1042-76-Lane4",
"from": [32.711491, -117.156331],
"to": [32.711491, -117.1556080592579]
}, {
"segmentId": "HYP1042-76-Lane5",
"from": [32.711464, -117.156336],
"to": [32.711464, -117.1556080592579]
}, {
"segmentId": "HYP1037-77-Lane1",
"from": [32.711447, -117.157582],
"to": [32.71144459743957,-117.15823267378642]
}, {
"segmentId": "HYP1037-77-Lane2",
"from": [32.711485, -117.157582],
"to": [32.711485, -117.15823267378642]
}, {
"segmentId": "HYP1037-77-Lane3",
"from": [32.711514, -117.157586],
"to": [32.711514, -117.15823267378642]
}, {
"segmentId": "HYP1037-77-Lane4",
"from": [32.711545, -117.157589],
"to": [32.711545, -117.15823267378642]
}, {
"segmentId": "HYP1037-77-Lane5",
"from": [32.711572, -117.157591],
"to": [32.711572, -117.15823267378642]
}]
\ No newline at end of file
[{
"segmentId": "West24th-1",
"from": [44.959140, -93.281420],
"to": [44.959140, -93.282800]
}, {
"segmentId": "West24th-2",
"from": [44.959100, -93.281420],
"to": [44.959100, -93.282800]
}, {
"segmentId": "East24th-1",
"from": [44.959140, -93.279780],
"to": [44.959140, -93.281150]
}, {
"segmentId": "East24th-2",
"from": [44.959100, -93.279780],
"to": [44.959100, -93.281150]
}, {
"segmentId": "PillsburyAve-1",
"from": [44.959190, -93.281278],
"to": [44.960856, -93.281278]
}, {
"segmentId": "PillsburyAve-2",
"from": [44.959190, -93.281238],
"to": [44.960856, -93.281238]
}, {
"segmentId": "BlaisdellAve-1",
"from": [44.959290, -93.279655],
"to": [44.960864, -93.279655]
}, {
"segmentId": "BlaisdellAve-2",
"from": [44.959290, -93.279605],
"to": [44.960864, -93.279605]
}, {
"segmentId": "HYP1047-88-Lane3",
"from": [32.711522, -117.156663],
"to": [32.711522, -117.15735098591766]
}, {
"segmentId": "HYP1047-88-Lane4",
"from": [32.711549, -117.156689],
"to": [32.711549, -117.157350985917669]
}, {
"segmentId": "HYP1047-88-Lane5",
"from": [32.711573, -117.156691],
"to": [32.711573, -117.15735098591766]
}, {
"segmentId": "HYP1041-79-Lane1",
"from": [32.712556, -117.157584],
"to": [32.71254987670727,-117.15830710718726]
}, {
"segmentId": "HYP1041-79-Lane2",
"from": [32.712586, -117.157597],
"to": [32.712586, -117.15830710718726]
}, {
"segmentId": "HYP1041-79-Lane3",
"from": [32.712622, -117.157599],
"to": [32.712622, -117.15830710718726]
}, {
"segmentId": "HYP1042-76-Lane1",
"from": [32.711585, -117.15634],
"to": [32.71159137002799,-117.1556080592579]
}, {
"segmentId": "HYP1042-76-Lane2",
"from": [32.71155, -117.156338],
"to": [32.71155, -117.1556080592579]
}, {
"segmentId": "HYP1042-76-Lane3",
"from": [32.711519, -117.156335],
"to": [32.711519, -117.1556080592579]
}, {
"segmentId": "HYP1042-76-Lane4",
"from": [32.711491, -117.156331],
"to": [32.711491, -117.1556080592579]
}, {
"segmentId": "HYP1042-76-Lane5",
"from": [32.711464, -117.156336],
"to": [32.711464, -117.1556080592579]
}, {
"segmentId": "HYP1037-77-Lane1",
"from": [32.711447, -117.157582],
"to": [32.71144459743957,-117.15823267378642]
}, {
"segmentId": "HYP1037-77-Lane2",
"from": [32.711485, -117.157582],
"to": [32.711485, -117.15823267378642]
}, {
"segmentId": "HYP1037-77-Lane3",
"from": [32.711514, -117.157586],
"to": [32.711514, -117.15823267378642]
}, {
"segmentId": "HYP1037-77-Lane4",
"from": [32.711545, -117.157589],
"to": [32.711545, -117.15823267378642]
}, {
"segmentId": "HYP1037-77-Lane5",
"from": [32.711572, -117.157591],
"to": [32.711572, -117.15823267378642]
}]
[{
"segmentId": "West24th-1",
"from": [44.959140, -93.281420],
"to": [44.959140, -93.282800]
}, {
"segmentId": "West24th-2",
"from": [44.959100, -93.281420],
"to": [44.959100, -93.282800]
}, {
"segmentId": "East24th-1",
"from": [44.959140, -93.279780],
"to": [44.959140, -93.281150]
}, {
"segmentId": "East24th-2",
"from": [44.959100, -93.279780],
"to": [44.959100, -93.281150]
}, {
"segmentId": "PillsburyAve-1",
"from": [44.959190, -93.281278],
"to": [44.960856, -93.281278]
}, {
"segmentId": "PillsburyAve-2",
"from": [44.959190, -93.281238],
"to": [44.960856, -93.281238]
}, {
"segmentId": "BlaisdellAve-1",
"from": [44.959290, -93.279655],
"to": [44.960864, -93.279655]
}, {
"segmentId": "BlaisdellAve-2",
"from": [44.959290, -93.279605],
"to": [44.960864, -93.279605]
}, {
"segmentId": "HYP1047-88-Lane3",
"from": [32.711522, -117.156663],
"to": [32.711522, -117.15735098591766]
}, {
"segmentId": "HYP1047-88-Lane4",
"from": [32.711549, -117.156689],
"to": [32.711549, -117.157350985917669]
}, {
"segmentId": "HYP1047-88-Lane5",
"from": [32.711573, -117.156691],
"to": [32.711573, -117.15735098591766]
}, {
"segmentId": "HYP1041-79-Lane1",
"from": [32.712556, -117.157584],
"to": [32.71254987670727,-117.15830710718726]
}, {
"segmentId": "HYP1041-79-Lane2",
"from": [32.712586, -117.157597],
"to": [32.712586, -117.15830710718726]
}, {
"segmentId": "HYP1041-79-Lane3",
"from": [32.712622, -117.157599],
"to": [32.712622, -117.15830710718726]
}, {
"segmentId": "HYP1042-76-Lane1",
"from": [32.711585, -117.15634],
"to": [32.71159137002799,-117.1556080592579]
}, {
"segmentId": "HYP1042-76-Lane2",
"from": [32.71155, -117.156338],
"to": [32.71155, -117.1556080592579]
}, {
"segmentId": "HYP1042-76-Lane3",
"from": [32.711519, -117.156335],
"to": [32.711519, -117.1556080592579]
}, {
"segmentId": "HYP1042-76-Lane4",
"from": [32.711491, -117.156331],
"to": [32.711491, -117.1556080592579]
}, {
"segmentId": "HYP1042-76-Lane5",
"from": [32.711464, -117.156336],
"to": [32.711464, -117.1556080592579]
}, {
"segmentId": "HYP1037-77-Lane1",
"from": [32.711447, -117.157582],
"to": [32.71144459743957,-117.15823267378642]
}, {
"segmentId": "HYP1037-77-Lane2",
"from": [32.711485, -117.157582],
"to": [32.711485, -117.15823267378642]
}, {
"segmentId": "HYP1037-77-Lane3",
"from": [32.711514, -117.157586],
"to": [32.711514, -117.15823267378642]
}, {
"segmentId": "HYP1037-77-Lane4",
"from": [32.711545, -117.157589],
"to": [32.711545, -117.15823267378642]
}, {
"segmentId": "HYP1037-77-Lane5",
"from": [32.711572, -117.157591],
"to": [32.711572, -117.15823267378642]
}]
[{
"segmentId": "Sderot-HaOranim-Lane1",
"from": [31.892444, 35.010655],
"to": [31.892461, 35.015185]
}, {
"segmentId": "Te'ena-Lane1",
"from": [31.891412, 35.010995],
"to": [31.891453, 35.015555]
}, {
"segmentId": "Tomer-Lane1",
"from": [31.893493, 35.011988],
"to": [31.893475, 35.014166]
}, {
"segmentId": "Eshel-Lane1",
"from": [31.893438, 35.013117],
"to": [31.892509, 35.013128]
}, {
"segmentId": "Arvei-Nahal-Lane1",
"from": [31.892872, 35.015307],
"to": [31.892867, 35.020100]
}, {
"segmentId": "Ela-Lane1",
"from": [31.892363, 35.014164],
"to": [31.890327, 35.014163]
}, {
"segmentId": "Shikma-Lane1",
"from": [31.892847, 35.012066],
"to": [31.892858, 35.014131]
}, {
"segmentId": "Duvdevan-Lane1",
"from": [31.893411, 35.015256],
"to": [31.892502, 35.015229]
}]
[{
"segmentId": "Sderot-HaOranim-Lane1",
"from": [31.892444, 35.010655],
"to": [31.892461, 35.015185]
}, {
"segmentId": "Te'ena-Lane1",
"from": [31.891412, 35.010995],
"to": [31.891453, 35.015555]
}, {
"segmentId": "Tomer-Lane1",
"from": [31.893493, 35.011988],
"to": [31.893475, 35.014166]
}, {
"segmentId": "Eshel-Lane1",
"from": [31.893438, 35.013117],
"to": [31.892509, 35.013128]
}, {
"segmentId": "Arvei-Nahal-Lane1",
"from": [31.892872, 35.015307],
"to": [31.892867, 35.020100]
}, {
"segmentId": "Ela-Lane1",
"from": [31.892363, 35.014164],
"to": [31.890327, 35.014163]
}, {
"segmentId": "Shikma-Lane1",
"from": [31.892847, 35.012066],
"to": [31.892858, 35.014131]
}, {
"segmentId": "Duvdevan-Lane1",
"from": [31.893411, 35.015256],
"to": [31.892502, 35.015229]
}]
[{
"segmentId": "LOCATION-20-1032-2",
"from": [32.711679, -117.157453],
"to": [32.71252143601507, -117.157453]
}, {
"segmentId": "LOCATION-20-1032-1",
"from": [32.711677, -117.157412],
"to": [32.71252143601507, -117.157412]
}, {
"segmentId": "LOCATION-20-1042-2",
"from": [32.711676, -117.15737],
"to": [32.71252143601507, -117.15737]
}, {
"segmentId": "LOCATION-20-1042-1",
"from": [32.712733, -117.157457],
"to": [32.71358583971022,-117.15745989554391]
}, {
"segmentId": "LOCATION-20-1028-3",
"from": [32.712728, -117.157417],
"to": [32.71358583971022, -117.157417]
}, {
"segmentId": "LOCATION-20-1028-2",
"from": [32.712722, -117.157367],
"to": [32.71358583971022, -117.157367]
}, {
"segmentId": "LOCATION-20-1028-1",
"from": [32.711467, -117.156692],
"to": [32.71146362809287,-117.15735098591766]
}, {
"segmentId": "LOCATION-20-1039-3",
"from": [32.711491, -117.156695],
"to": [32.711491, -117.15735098591766]
}, {
"segmentId": "LOCATION-20-1039-2",
"from": [32.711522, -117.156663],
"to": [32.711522, -117.15735098591766]
}, {
"segmentId": "LOCATION-20-1039-1",
"from": [32.711549, -117.156689],
"to": [32.711549, -117.157350985917669]
}, {
"segmentId": "LOCATION-20-1047-3",
"from": [32.711573, -117.156691],
"to": [32.711573, -117.15735098591766]
}, {
"segmentId": "LOCATION-20-1047-2",
"from": [32.712556, -117.157584],
"to": [32.71254987670727,-117.15830710718726]
}, {
"segmentId": "LOCATION-20-1047-1",
"from": [32.712586, -117.157597],
"to": [32.712586, -117.15830710718726]
}, {
"segmentId": "LOCATION-20-1034-2",
"from": [32.712622, -117.157599],
"to": [32.712622, -117.15830710718726]
}, {
"segmentId": "LOCATION-20-1034-1",
"from": [32.711585, -117.15634],
"to": [32.71159137002799,-117.1556080592579]
}, {
"segmentId": "LOCATION-20-1040-1",
"from": [32.71155, -117.156338],
"to": [32.71155, -117.1556080592579]
}, {
"segmentId": "LOCATION-20-1017-3",
"from": [32.711519, -117.156335],
"to": [32.711519, -117.1556080592579]
}, {
"segmentId": "LOCATION-20-1017-2",
"from": [32.711491, -117.156331],
"to": [32.711491, -117.1556080592579]
}, {
"segmentId": "LOCATION-20-1017-1",
"from": [32.711464, -117.156336],
"to": [32.711464, -117.1556080592579]
}, {
"segmentId": "LOCATION-20-1074-3",
"from": [32.711447, -117.157582],
"to": [32.71144459743957,-117.15823267378642]
}, {
"segmentId": "LOCATION-20-1074-2",
"from": [32.711485, -117.157582],
"to": [32.711485, -117.15823267378642]
}, {
"segmentId": "LOCATION-20-1074-1",
"from": [32.711514, -117.157586],
"to": [32.711514, -117.15823267378642]
}, {
"segmentId": "LOCATION-20-1077-3",
"from": [32.711545, -117.157589],
"to": [32.711545, -117.15823267378642]
}, {
"segmentId": "LOCATION-20-1077-2",
"from": [32.711572, -117.157591],
"to": [32.711572, -117.15823267378642]
}]
[{
"segmentId": "HYP1040-75-Lane1",
"from": [32.711679, -117.157453],
"to": [32.71252143601507, -117.157453]
}, {
"segmentId": "HYP1040-75-Lane2",
"from": [32.711677, -117.157412],
"to": [32.71252143601507, -117.157412]
}, {
"segmentId": "HYP1040-75-Lane3",
"from": [32.711676, -117.15737],
"to": [32.71252143601507, -117.15737]
}, {
"segmentId": "HYP1039-72-Lane1",
"from": [32.712733, -117.157457],
"to": [32.71358583971022,-117.15745989554391]
}, {
"segmentId": "HYP1039-72-Lane2",
"from": [32.712728, -117.157417],
"to": [32.71358583971022, -117.157417]
}, {
"segmentId": "HYP1039-72-Lane3",
"from": [32.712722, -117.157367],
"to": [32.71358583971022, -117.157367]
}, {
"segmentId": "HYP1047-88-Lane1",
"from": [32.711467, -117.156692],
"to": [32.71146362809287,-117.15735098591766]
}, {
"segmentId": "HYP1047-88-Lane2",
"from": [32.711491, -117.156695],
"to": [32.711491, -117.15735098591766]
}, {
"segmentId": "HYP1047-88-Lane3",
"from": [32.711522, -117.156663],
"to": [32.711522, -117.15735098591766]
}, {
"segmentId": "HYP1047-88-Lane4",
"from": [32.711549, -117.156689],
"to": [32.711549, -117.157350985917669]
}, {
"segmentId": "HYP1047-88-Lane5",
"from": [32.711573, -117.156691],
"to": [32.711573, -117.15735098591766]
}, {
"segmentId": "HYP1041-79-Lane1",
"from": [32.712556, -117.157584],
"to": [32.71254987670727,-117.15830710718726]
}, {
"segmentId": "HYP1041-79-Lane2",
"from": [32.712586, -117.157597],
"to": [32.712586, -117.15830710718726]
}, {
"segmentId": "HYP1041-79-Lane3",
"from": [32.712622, -117.157599],
"to": [32.712622, -117.15830710718726]
}, {
"segmentId": "HYP1042-76-Lane1",
"from": [32.711585, -117.15634],
"to": [32.71159137002799,-117.1556080592579]
}, {
"segmentId": "HYP1042-76-Lane2",
"from": [32.71155, -117.156338],
"to": [32.71155, -117.1556080592579]
}, {
"segmentId": "HYP1042-76-Lane3",
"from": [32.711519, -117.156335],
"to": [32.711519, -117.1556080592579]
}, {
"segmentId": "HYP1042-76-Lane4",
"from": [32.711491, -117.156331],
"to": [32.711491, -117.1556080592579]
}, {
"segmentId": "HYP1042-76-Lane5",
"from": [32.711464, -117.156336],
"to": [32.711464, -117.1556080592579]
}, {
"segmentId": "HYP1037-77-Lane1",
"from": [32.711447, -117.157582],
"to": [32.71144459743957,-117.15823267378642]
}, {
"segmentId": "HYP1037-77-Lane2",
"from": [32.711485, -117.157582],
"to": [32.711485, -117.15823267378642]
}, {
"segmentId": "HYP1037-77-Lane3",
"from": [32.711514, -117.157586],
"to": [32.711514, -117.15823267378642]
}, {
"segmentId": "HYP1037-77-Lane4",
"from": [32.711545, -117.157589],
"to": [32.711545, -117.15823267378642]
}, {
"segmentId": "HYP1037-77-Lane5",
"from": [32.711572, -117.157591],
"to": [32.711572, -117.15823267378642]
}]
\ No newline at end of file
[{
"id": "ge/traffic/Sderot-HaOranim-Lane1",
"type": "thing/traffic-lane",
"lat": 31.892444,
"lon": 35.010655,
"name": "Sderot-HaOranim-Lane1",
"lastUpdateTimeStamp": 1468360111300,
"data": {
"coordinates": {
"P1": "0,0"
},
"properties": {
"vehicle-type": "car",
"measures": [{
"tag": "direction",
"value": 0,
"unit": "DEGREE"
}, {
"tag": "speed",
"value": 3,
"unit": "MPS"
}, {
"tag": "vehicleCount",
"value": 11,
"unit": null
}],
"mde-key": "1000000018",
"timestamp": 1468360111300
}
}
}, {
"id": "ge/traffic/Te'ena-Lane1",
"type": "thing/traffic-lane",
"lat": 31.891412,
"lon": 35.0109952,
"name": "Te'ena-Lane1",
"lastUpdateTimeStamp": 1468360111300,
"data": {
"coordinates": {
"P1": "0,0"
},
"properties": {
"vehicle-type": "car",
"measures": [{
"tag": "direction",
"value": 0,
"unit": "DEGREE"
}, {
"tag": "speed",
"value": 12,
"unit": "MPS"
}, {
"tag": "vehicleCount",
"value": 11,
"unit": null
}],
"mde-key": "1000000018",
"timestamp": 1468360111300
}
}
}, {
"id": "ge/traffic/Tomer-Lane1",
"type": "thing/traffic-lane",
"lat": 32.711676,
"lon": -117.15737,
"name": "Tomer-Lane1",
"lastUpdateTimeStamp": 1468360111300,
"data": {
"coordinates": {
"P1": "0,0"
},
"properties": {
"vehicle-type": "car",
"measures": [{
"tag": "direction",
"value": 0,
"unit": "DEGREE"
}, {
"tag": "speed",
"value": 22,
"unit": "MPS"
}, {
"tag": "vehicleCount",
"value": 11,
"unit": null
}],
"mde-key": "1000000018",
"timestamp": 1468360111300
}
}
}, {
"id": "ge/traffic/Eshel-Lane1",
"type": "thing/traffic-lane",
"lat": 31.893379,
"lon": 35.013157,
"name": "Eshel-Lane1",
"lastUpdateTimeStamp": 1468360111300,
"data": {
"coordinates": {
"P1": "0,0"
},
"properties": {
"vehicle-type": "car",
"measures": [{
"tag": "direction",
"value": 0,
"unit": "DEGREE"
}, {
"tag": "speed",
"value": 11,
"unit": "MPS"
}, {
"tag": "vehicleCount",
"value": 11,
"unit": null
}],
"mde-key": "1000000019",
"timestamp": 1468360111300
}
}
}, {
"id": "ge/traffic/Arvei-Nahal-Lane1",
"type": "thing/traffic-lane",
"lat": 31.892872,
"lon": 35.015307,
"name": "Arvei-Nahal-Lane1",
"lastUpdateTimeStamp": 1468360111300,
"data": {
"coordinates": {
"P1": "0,0"
},
"properties": {
"vehicle-type": "car",
"measures": [{
"tag": "direction",
"value": 0,
"unit": "DEGREE"
}, {
"tag": "speed",
"value": 12,
"unit": "MPS"
}, {
"tag": "vehicleCount",
"value": 11,
"unit": null
}],
"mde-key": "1000000019",
"timestamp": 1468360111300
}
}
}, {
"id": "ge/traffic/Ela-Lane1",
"type": "thing/traffic-lane",
"lat": 31.892363,
"lon": 35.014164,
"name": "Ela-Lane1",
"lastUpdateTimeStamp": 1468360111300,
"data": {
"coordinates": {
"P1": "0,0"
},
"properties": {
"vehicle-type": "car",
"measures": [{
"tag": "direction",
"value": 0,
"unit": "DEGREE"
}, {
"tag": "speed",
"value": 3,
"unit": "MPS"
}, {
"tag": "vehicleCount",
"value": 11,
"unit": null
}],
"mde-key": "1000000019",
"timestamp": 1468360111300
}
}
}, {
"id": "ge/traffic/Shikma-Lane1",
"type": "thing/traffic-lane",
"lat": 31.892842,
"lon": 35.012080,
"name": "Shikma-Lane1",
"lastUpdateTimeStamp": 1468360111300,
"data": {
"coordinates": {
"P1": "0,0"
},
"properties": {
"vehicle-type": "car",
"measures": [{
"tag": "direction",
"value": 253,
"unit": "DEGREE"
}, {
"tag": "speed",
"value": 3,
"unit": "MPS"
}, {
"tag": "vehicleCount",
"value": 11,
"unit": null
}],
"mde-key": "1000000020",
"timestamp": 1468360111300
}
}
}, {
"id": "ge/traffic/Duvdevan-Lane1",
"type": "thing/traffic-lane",
"lat": 31.893411,
"lon": 35.015256,
"name": "Duvdevan-Lane1",
"lastUpdateTimeStamp": 1468360111300,
"data": {
"coordinates": {
"P1": "0,0"
},
"properties": {
"vehicle-type": "car",
"measures": [{
"tag": "direction",
"value": 253,
"unit": "DEGREE"
}, {
"tag": "speed",
"value": 14,
"unit": "MPS"
}, {
"tag": "vehicleCount",
"value": 11,
"unit": null
}],
"mde-key": "1000000020",
"timestamp": 1468360111300
}
}
}]
[{
"id": "ge/traffic/Sderot-HaOranim-Lane1",
"type": "thing/traffic-lane",
"lat": 31.892444,
"lon": 35.010655,
"name": "Sderot-HaOranim-Lane1",
"lastUpdateTimeStamp": 1468360111300,
"data": {
"coordinates": {
"P1": "0,0"
},
"properties": {
"vehicle-type": "car",
"measures": [{
"tag": "direction",
"value": 0,
"unit": "DEGREE"
}, {
"tag": "speed",
"value": 3,
"unit": "MPS"
}, {
"tag": "vehicleCount",
"value": 11,
"unit": null
}],
"mde-key": "1000000018",
"timestamp": 1468360111300
}
}
}, {
"id": "ge/traffic/Te'ena-Lane1",
"type": "thing/traffic-lane",
"lat": 31.891412,
"lon": 35.0109952,
"name": "Te'ena-Lane1",
"lastUpdateTimeStamp": 1468360111300,
"data": {
"coordinates": {
"P1": "0,0"
},
"properties": {
"vehicle-type": "car",
"measures": [{
"tag": "direction",
"value": 0,
"unit": "DEGREE"
}, {
"tag": "speed",
"value": 12,
"unit": "MPS"
}, {
"tag": "vehicleCount",
"value": 11,
"unit": null
}],
"mde-key": "1000000018",
"timestamp": 1468360111300
}
}
}, {
"id": "ge/traffic/Tomer-Lane1",
"type": "thing/traffic-lane",
"lat": 32.711676,
"lon": -117.15737,
"name": "Tomer-Lane1",
"lastUpdateTimeStamp": 1468360111300,
"data": {
"coordinates": {
"P1": "0,0"
},
"properties": {
"vehicle-type": "car",
"measures": [{
"tag": "direction",
"value": 0,
"unit": "DEGREE"
}, {
"tag": "speed",
"value": 22,
"unit": "MPS"
}, {
"tag": "vehicleCount",
"value": 11,
"unit": null
}],
"mde-key": "1000000018",
"timestamp": 1468360111300
}
}
}, {
"id": "ge/traffic/Eshel-Lane1",
"type": "thing/traffic-lane",
"lat": 31.893379,
"lon": 35.013157,
"name": "Eshel-Lane1",
"lastUpdateTimeStamp": 1468360111300,
"data": {
"coordinates": {
"P1": "0,0"
},
"properties": {
"vehicle-type": "car",
"measures": [{
"tag": "direction",
"value": 0,
"unit": "DEGREE"
}, {
"tag": "speed",
"value": 11,
"unit": "MPS"
}, {
"tag": "vehicleCount",
"value": 11,
"unit": null
}],
"mde-key": "1000000019",
"timestamp": 1468360111300
}
}
}, {
"id": "ge/traffic/Arvei-Nahal-Lane1",
"type": "thing/traffic-lane",
"lat": 31.892872,
"lon": 35.015307,
"name": "Arvei-Nahal-Lane1",
"lastUpdateTimeStamp": 1468360111300,
"data": {
"coordinates": {
"P1": "0,0"
},
"properties": {
"vehicle-type": "car",
"measures": [{
"tag": "direction",
"value": 0,
"unit": "DEGREE"
}, {
"tag": "speed",
"value": 12,
"unit": "MPS"
}, {
"tag": "vehicleCount",
"value": 11,
"unit": null
}],
"mde-key": "1000000019",
"timestamp": 1468360111300
}
}
}, {
"id": "ge/traffic/Ela-Lane1",
"type": "thing/traffic-lane",
"lat": 31.892363,
"lon": 35.014164,
"name": "Ela-Lane1",
"lastUpdateTimeStamp": 1468360111300,
"data": {
"coordinates": {
"P1": "0,0"
},
"properties": {
"vehicle-type": "car",
"measures": [{
"tag": "direction",
"value": 0,
"unit": "DEGREE"
}, {
"tag": "speed",
"value": 3,
"unit": "MPS"
}, {
"tag": "vehicleCount",
"value": 11,
"unit": null
}],
"mde-key": "1000000019",
"timestamp": 1468360111300
}
}
}, {
"id": "ge/traffic/Shikma-Lane1",
"type": "thing/traffic-lane",
"lat": 31.892842,
"lon": 35.012080,
"name": "Shikma-Lane1",
"lastUpdateTimeStamp": 1468360111300,
"data": {
"coordinates": {
"P1": "0,0"
},
"properties": {
"vehicle-type": "car",
"measures": [{
"tag": "direction",
"value": 253,
"unit": "DEGREE"
}, {
"tag": "speed",
"value": 3,
"unit": "MPS"
}, {
"tag": "vehicleCount",
"value": 11,
"unit": null
}],
"mde-key": "1000000020",
"timestamp": 1468360111300
}
}
}, {
"id": "ge/traffic/Duvdevan-Lane1",
"type": "thing/traffic-lane",
"lat": 31.893411,
"lon": 35.015256,
"name": "Duvdevan-Lane1",
"lastUpdateTimeStamp": 1468360111300,
"data": {
"coordinates": {
"P1": "0,0"
},
"properties": {
"vehicle-type": "car",
"measures": [{
"tag": "direction",
"value": 253,
"unit": "DEGREE"
}, {
"tag": "speed",
"value": 14,
"unit": "MPS"
}, {
"tag": "vehicleCount",
"value": 11,
"unit": null
}],
"mde-key": "1000000020",
"timestamp": 1468360111300
}
}
}]
[meta]
dir = "/var/lib/influxdb/meta"
[data]
dir = "/var/lib/influxdb/data"
engine = "tsm1"
wal-dir = "/var/lib/influxdb/wal"
max-series-per-database = 0
\ No newline at end of file
......@@ -48,3 +48,25 @@ search:
[ if /etc/default/docker have no affect]
sudo docker -d --insecure-registry 172.16.1.5:5000 -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock &
[disconnecting a container from network]
docker network disconnect -f [network] [contaoiner]
e.g:
docker network disconnect -f docker_backend docker_orientdb_1
[clean all]
Kill all running containers:
# docker kill $(docker ps -q)
Delete all stopped containers
# docker rm $(docker ps -a -q)
Delete all images
# docker rmi $(docker images -q)
Remove unused data
# docker system prune
And some more
# docker system prune -af
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment