{"id":26763554,"url":"https://github.com/cobaltcore-dev/prysm","last_synced_at":"2025-03-28T19:19:36.362Z","repository":{"id":280993670,"uuid":"846117236","full_name":"cobaltcore-dev/prysm","owner":"cobaltcore-dev","description":"A CLI tool to manage Ceph \u0026 RadosGW observability, including logging and metrics collection","archived":false,"fork":false,"pushed_at":"2025-03-24T12:31:13.000Z","size":354,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-03-24T13:31:50.363Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cobaltcore-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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":"2024-08-22T15:05:59.000Z","updated_at":"2025-03-24T12:28:44.000Z","dependencies_parsed_at":"2025-03-06T12:40:03.848Z","dependency_job_id":null,"html_url":"https://github.com/cobaltcore-dev/prysm","commit_stats":null,"previous_names":["cobaltcore-dev/prysm"],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cobaltcore-dev%2Fprysm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cobaltcore-dev%2Fprysm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cobaltcore-dev%2Fprysm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cobaltcore-dev%2Fprysm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cobaltcore-dev","download_url":"https://codeload.github.com/cobaltcore-dev/prysm/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246085643,"owners_count":20721213,"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":"2025-03-28T19:19:35.801Z","updated_at":"2025-03-28T19:19:36.351Z","avatar_url":"https://github.com/cobaltcore-dev.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![REUSE status](https://api.reuse.software/badge/github.com/cobaltcore-dev/prysm)](https://api.reuse.software/info/github.com/cobaltcore-dev/prysm)\n\n# Prysm - Comprehensive Observability CLI Tool for Ceph and Rados Gateway Monitoring\n\n\u003e **Disclaimer**\n\u003e\n\u003e Prysm is currently under heavy development and may contain bugs, incomplete features, and\n\u003e non-functional code. This project is in the testing and proof-of-concept stage, so please use it\n\u003e with caution and be aware that it may not work as expected. Contributions and feedback are\n\u003e appreciated as we continue to improve and stabilize the tool\n\n## Overview\n\nPrysm is a versatile CLI tool designed to provide an efficient observability solution for a wide\nrange of systems, including RadosGW (Rados Gateway), Ceph storage clusters, and various hardware\ncomponents. With a multi-layered architecture, Prysm enables real-time monitoring, data collection,\nand analysis across diverse environments, ensuring optimal performance, compliance, and operational\ninsights.\n\n## Features\n\n- Multi-system Support: Prysm supports RadosGW, Ceph clusters, and hardware monitoring, making it a\n  comprehensive observability tool.\n- Flexible Architecture: Prysm’s four-layered architecture—Consumers, NATS, Remote Producers, and\n  Nearby Producers—enables it to handle a variety of observability tasks with precision and\n  scalability.\n- Diverse Data Collection: Collect and analyze metrics and logs from RadosGW, Ceph, and hardware\n  devices such as disks. Producers can be configured to gather data locally or remotely, ensuring\n  adaptability to different environments.\n- Real-time Messaging: Use NATS as the messaging backbone to enable real-time, low-latency\n  communication between data producers and consumers, ensuring seamless data flow.\n- Customizable Output: Prysm supports multiple output formats, including console, NATS, and\n  Prometheus, allowing you to tailor the tool to your specific observability requirements.\n- Standalone Functionality: Prysm can be used standalone for specific tasks, such as providing a\n  metrics endpoint for Prometheus, checking disk health, or printing data directly to the console.\n\n## Components\n\n### Consumers\n\nPurpose:\n\n- Process and analyze data received from various systems, including RadosGW, Ceph, and hardware\n  components.\n\nKey Responsibilities:\n\n- Generate alerts based on predefined conditions.\n- Store and analyze logs for troubleshooting and auditing.\n- Display real-time metrics on dashboards.\n- Perform advanced analytics and usage reporting.\n- Ensure regulatory compliance through log and metrics analysis.\n\n[Monitoring Quota Usage](pkg/consumer/quotausageconsumer/README.md)\n\n### NATS\n\nPurpose:\n\n- Acts as the messaging backbone for the system.\n\nKey Responsibilities:\n\n- Route messages between producers and consumers.\n- Handle high volumes of messages with low latency.\n- Ensure reliable message delivery even in the face of network issues.\n\n### Remote Producers\n\nPurpose:\n\n- Collect metrics and logs from various systems via APIs or other interfaces, typically from outside\n  the monitored environment.\n\nKey Responsibilities:\n\n- Gather data using appropriate APIs or interfaces.\n- Transmit collected data to NATS.\n- Operate with minimal configuration, focusing on remote accessibility.\n\n[RGW Bucket Notifications](pkg/producers/bucketnotify/README.md)  \n[Quota Usage Monitor](pkg/producers/quotausagemonitor/README.md)  \n[RadosGW Usage Exporter](pkg/producers/radosgwusage/README.md)\n\n### Nearby Producers\n\nPurpose:\n\n- Deployed within the same network or environment as the monitored systems, allowing direct access\n  to logs, metrics, and configuration files.\n\nKey Responsibilities:\n\n- Collect data directly from system log files, metrics endpoints, or hardware sensors (e.g., SMART\n  attributes for disk health).\n- Leverage proximity for lower latency and higher data fidelity.\n- Transmit collected data to NATS.\n\n[RGW Bucket Notifications](pkg/producers/bucketnotify/README.md)  \n[Disk Health Metrics](pkg/producers/diskhealthmetrics/README.md)  \n[Kernel Metrics](pkg/producers/kernelmetrics/README.md)  \n[Resource Usage](pkg/producers/resourceusage/README.md)\n\n## Usage\n\nPrysm can be employed across a wide range of observability scenarios, from monitoring the health of\nCeph storage clusters and RadosGW instances to ensuring the reliability of hardware components\nthrough SMART attribute analysis. Whether you need to integrate with Prometheus, send real-time\nalerts via NATS, or simply log and visualize system performance, Prysm offers the tools and\nflexibility to meet your needs.\n\n## Support, Feedback, Contributing\n\nThis project is open to feature requests/suggestions, bug reports, etc. via [GitHub issues](https://github.com/cobaltcore-dev/prysm/issues). Contribution and feedback are encouraged and always welcome. For more information about how to contribute, the project structure, as well as additional contribution information, see our [Contribution Guidelines](CONTRIBUTING.md).\n\n## Security / Disclosure\n\nIf you find any bug that may be a security problem, please follow our instructions in [our security policy](https://github.com/cobaltcore-dev/prysm/security/policy) on how to report it. Please do not create GitHub issues for security-related doubts or problems.\n\n## Code of Conduct\n\nWe as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone. By participating in this project, you agree to abide by its [Code of Conduct](https://github.com/SAP/.github/blob/main/CODE_OF_CONDUCT.md) at all times.\n\n## Licensing\n\nCopyright 2025 SAP SE or an SAP affiliate company and prysm contributors. Please see our [LICENSE](LICENSE) for copyright and license information. Detailed information including third-party components and their licensing/copyright information is available [via the REUSE tool](https://api.reuse.software/info/github.com/cobaltcore-dev/prysm).\n\n---\n\n\u003e This README is a draft and will be updated as Prysm continues to evolve. Contributions,\n\u003e suggestions, and feedback are welcome to help improve and expand the functionality of Prysm.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcobaltcore-dev%2Fprysm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcobaltcore-dev%2Fprysm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcobaltcore-dev%2Fprysm/lists"}