{"id":19174606,"url":"https://github.com/equalitie/mias-host","last_synced_at":"2025-07-18T16:02:24.323Z","repository":{"id":149666822,"uuid":"518156891","full_name":"equalitie/mias-host","owner":"equalitie","description":"mias using host based networking","archived":false,"fork":false,"pushed_at":"2022-07-27T16:58:35.000Z","size":30,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-02-23T00:44:02.767Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/equalitie.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2022-07-26T17:30:33.000Z","updated_at":"2022-07-26T17:31:29.000Z","dependencies_parsed_at":null,"dependency_job_id":"35bfc431-c425-48f0-b7ea-487910190c7e","html_url":"https://github.com/equalitie/mias-host","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/equalitie/mias-host","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/equalitie%2Fmias-host","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/equalitie%2Fmias-host/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/equalitie%2Fmias-host/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/equalitie%2Fmias-host/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/equalitie","download_url":"https://codeload.github.com/equalitie/mias-host/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/equalitie%2Fmias-host/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265791235,"owners_count":23829159,"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":[],"created_at":"2024-11-09T10:18:29.794Z","updated_at":"2025-07-18T16:02:24.302Z","avatar_url":"https://github.com/equalitie.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mias\nmonitoring/metrics in a stack\n\n## Prerequisites\n* A pre-existing docker swarm already setup and configured is necessary for orchestration of the stack.\n* A domain or subdomain with the A record pointed to the IP address of the gateway node for automatic issuance of a Let's Encrypt SSL certificate.\n\n## Introduction\n\n`mias` is a simple passive push-based monitoring/metrics bundle in the form of a docker swarm stack. It can be used to collect system resource metrics like bandwidth, cpu use, etc from remote hosts participating in a docker swarm and then push them back to a centralized location. Alerting then can be enabled and configured within the dashboard to act upon those metrics.\n\nNode-exporter and vmagent are deployed to all docker workers as \"agents\" via a global service. Preprovisioned instances of Grafana and victoria-metrics-prod are deployed on the node of your choosing via labels to provide an overview and general dashboard.\n\n## Why \"push\" and not \"pull\"?\nSimply put, a push-based strategy for delivering metrics was a constraint of this project. If you have recently discovered this project and are looking to use a more common pull-based strategy; we suggest searching for an alternative stack rather than trying to adapt this project to fit your needs.\n\n## Service containers\n\nThe mias stack leverages single node, non-replicated, containers of the following services from the latest images below:\n\n* [monitoring_grafana](https://hub.docker.com/r/grafana/grafana-oss/) \"grafana-oss\" courtesy of Grafana\n* [node-exporter](https://hub.docker.com/r/prom/node-exporter) courtesy of Prometheus\n* [vmagent](https://hub.docker.com/r/victoriametrics/vmagent) courtesy of VictoriaMetrics\n* [vmgateway](https://hub.docker.com/r/victoriametrics/victoria-metrics/) \"victoria-metrics-prod\" courtesy of VictoriaMetrics\n* [caddy](https://hub.docker.com/_/caddy) \"Caddy\" courtesy of the Caddy Docker Maintainers\n\n## Exposed ports\nNo additional external ports are opened beyond ports `443` and `80` of the Grafana container hosting the vmgateway service.\n\n# Installation\n\nClone or download this repository.  Review `./docker-compose.yml` and make any changes that may be required for your production environment.\n\n### Label\nSpecify a single docker worker node to act as the centralized location for the Grafana dashboard.\n\n* Obtain the node ID of a worker.  From the manager node of the swarm type:\n```\ndocker node ls\n```\n* Add the `monitoringrole=gateway` label to that node:\n```\ndocker node update --label-add=monitoringrole=gateway \u003cnodeid\u003e\n```\n\n### Secrets\nSet a unique Grafana dashboard password in the following file:\n```\n./secrets/gf_admin_password.txt\n```\n### Deploy\n\nDeploy the stack to all docker worker nodes.  From the manager node type:\n```\nMIAS_DOMAIN=\"your-specified-domain.com\" docker stack deploy -c docker-compose.yml monitoring\n```\n\n## Post installation\nVisit port `https://your-specified-domain.com` use the username `admin` with the previously specified password.\n\n## Tagging images\nYou may desire to tag the images within `docker-compose.yml` instead of relying upon the latest images for a more consistent deployment experience in production.\n\n## Troubleshooting\nTo review logs, from the manager node of the swarm, type:\n```\ndocker service logs monitoring_grafana -f\ndocker service logs monitoring_node-exporter -f\ndocker service logs monitoring_vmagent -f\ndocker service logs monitoring_vmgateway -f\ndocker service logs monitoring_caddy -f\n```\n\n## Credits\nThe included Grafana dashboard was modified from the popular [Node Exporter Server Metrics](https://grafana.com/grafana/dashboards/405/) by Knut Ytterhaug","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fequalitie%2Fmias-host","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fequalitie%2Fmias-host","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fequalitie%2Fmias-host/lists"}