{"id":19756603,"url":"https://github.com/esnet/sense-rtmon","last_synced_at":"2025-04-30T11:33:29.883Z","repository":{"id":37467176,"uuid":"392764374","full_name":"esnet/sense-rtmon","owner":"esnet","description":"Custom Scripts for Dynamic End-To-End Flow-Specific Grafana Dashboards","archived":false,"fork":false,"pushed_at":"2025-04-22T02:58:11.000Z","size":34503,"stargazers_count":5,"open_issues_count":11,"forks_count":4,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-22T04:52:07.403Z","etag":null,"topics":["sense"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/esnet.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-08-04T16:52:09.000Z","updated_at":"2025-04-14T15:07:47.000Z","dependencies_parsed_at":"2024-03-15T06:26:21.263Z","dependency_job_id":"19f69f63-d588-433c-940e-33a8748156b3","html_url":"https://github.com/esnet/sense-rtmon","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esnet%2Fsense-rtmon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esnet%2Fsense-rtmon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esnet%2Fsense-rtmon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esnet%2Fsense-rtmon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/esnet","download_url":"https://codeload.github.com/esnet/sense-rtmon/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251691633,"owners_count":21628359,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["sense"],"created_at":"2024-11-12T03:16:23.305Z","updated_at":"2025-04-30T11:33:28.140Z","avatar_url":"https://github.com/esnet.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sense-rtmon (Dynamic Dashboard)\nThis package will provide everything needed to run `cloud` and `site` stack.\n\n## Cloud Stack (running on host)\n\n### Configuration\n- fill out `config.yml` under `config_cloud` to deploy `cloud stack`.\n- `cloud` stack uses config_cloud config files to start docker stack. Dashboards use the config_flow config files.\n- Example (config.yml)\n- ```yml\n  ###### CONFIG YAML ######\n  hostIP: H.O.S.T.I.P.\n  \n  ssl_certificate_key: 'path/to/key'\n  ssl_certificate: 'path/to/certificate'\n  grafana_host: 'http://dev2.virnao.com:3000'\n  pushgateway: 'http://dev2.virnao.com:9091'\n  grafana_username: 'username'\n  grafana_password: 'password'\n  grafana_api_token: \"API KEY\"\n  siterm_url_map:\n    \"urn:ogf:network:nrp-nautilus.io:2020\": https://sense-prpdev-fe.sdn-lb.ultralight.org/T2_US_SDSC/sitefe/json/frontend\n    \"urn:ogf:network:ultralight.org:2013\": https://sense-caltech-fe.sdn-lb.ultralight.org/T2_US_Caltech_Test/sitefe/json/frontend\n    \"urn:ogf:network:sc-test.cenic.net:2020\": https://sense-ladowntown-fe.sdn-lb.ultralight.org/NRM_CENIC/sitefe/json/frontend\n  ```\n- It also needs auth files\n    - /root/.sense-o-auth.yaml\n    - /etc/letsencrypt/live/dev2.virnao.com/privkey.pem\n    - /etc/letsencrypt/live/dev2.virnao.com/cert.pem\n\n### Installation\n- Run `./install.sh` and follow the steps to install necessary dependencies. \n\n### Running\n- `Cloud` stack consists of Grafana, Prometheus, Pushgateway, and Script Exporter containers. \n- Run `./start.sh` to deploy `Cloud` stack.\n- Run `./update.sh` to start generating dashboards.\n\n### Cleaning\n- `clean.sh` script to removes running containers.\n\n## Site Stack (containerized)\n\n### Configuration\n- `site` stack doesn't use any configuration files.\n- Configuration is done inside each exporter's `docker-compose.yml` file. Variables are passed in under `environment` session. \n\n### Installation\n- Docker Images are pull from DockerHub.\n- To build images run `docker build . -t \u003cuser_name\u003e/rocky_\u003cexporter_name\u003e_exporter:latest` under the correct directory. \n\n### Running\n**NOTE: PLEASE FILL IN CONFIG FILES FIRST BEFORE RUNNING**. \n- `site` stack consists of `Node`, `SNMP`, `ARP`, and `TCP` (in development) Exporter.\n- Start Exporters: `docker compose up -d` under the exporter directory.\n- Detailed instruction can be found under each exporter's directory.\n\n### Stopping\n- Stop docker containers either `docker rm \u003ccontainer_id\u003e` or run `docker compose down -v` under exporters' directory.\n- Delete pod on cluster: `kubectl delete -n \u003cnamespace\u003e deployment \u003cname_of_exporter\u003e-exporter`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fesnet%2Fsense-rtmon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fesnet%2Fsense-rtmon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fesnet%2Fsense-rtmon/lists"}