{"id":26164692,"url":"https://github.com/optum/telemetry-snmp","last_synced_at":"2025-04-14T15:22:11.972Z","repository":{"id":56915473,"uuid":"390510086","full_name":"Optum/telemetry-snmp","owner":"Optum","description":"A gem that grabs data from SNMP sources and sends it to Telemetry::AMQP","archived":false,"fork":false,"pushed_at":"2021-10-30T12:29:10.000Z","size":405,"stargazers_count":1,"open_issues_count":1,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-14T15:22:01.938Z","etag":null,"topics":["collector","ruby","snmp","telemetry"],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/Optum.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-07-28T21:25:35.000Z","updated_at":"2021-10-30T12:28:23.000Z","dependencies_parsed_at":"2022-08-20T20:50:36.563Z","dependency_job_id":null,"html_url":"https://github.com/Optum/telemetry-snmp","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/Optum%2Ftelemetry-snmp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Optum%2Ftelemetry-snmp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Optum%2Ftelemetry-snmp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Optum%2Ftelemetry-snmp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Optum","download_url":"https://codeload.github.com/Optum/telemetry-snmp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248904637,"owners_count":21180837,"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":["collector","ruby","snmp","telemetry"],"created_at":"2025-03-11T15:39:30.291Z","updated_at":"2025-04-14T15:22:11.946Z","avatar_url":"https://github.com/Optum.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Telemetry::Snmp\n\n### Telemetry::Snmp Collector Service\nThis is a servce that runs and collects SNMP metrics at whatever frequency is defined inside the basement. As you need\nadditional collectors, you can scale this out to give you more parallel workers\n\nYou can start this service by running\n```ruby\nbundle update\nbundle exec exe/snmp_collector\n```\n\n\n### Telemetry::Snmp::API\nThe API allows for you to remotely CRUD devices, oids, users, device credentials, etc  \nThe Routes are available via a [postman json](https://github.com/Optum/telemetry-snmp/blob/main/telemetry-snmp.json)  \n\n## OID Mappings\nThe oid_walks table is the most utilized and probably what you are looking for. \nTable Layout\n```json\n{\n  \"oid\": \"the oid you want to grab metrics from(walk)\",\n  \"oid_index\": \"the oid to use as an index for naming\",\n  \"measurement_name\": \"what name to name the measurement\",\n  \"active\": 1\n}\n```\n\n\n## Settings\nTelemetry::Snmp::Publisher\n```ruby\nENV['telemetry.snmp.amqp.username'] = 'guest'\nENV['telemetry.snmp.amqp.password'] = 'guest'\nENV['telemetry.snmp.amqp.nodes'] = 'localhost'\nENV['telemetry.snmp.amqp.vhost'] = 'telemetry'\nENV['telemetry.snmp.amqp.port'] = '5672'\nENV['telemetry.snmp.amqp.use_ssl'] = 'false'\nENV['telemetry.snmp.amqp.exchange_name'] = 'telemetry.snmp'\n```\n\nTelemetry::Snmp::Data\n```ruby\nENV['telemetry.snmp.data.adapter'] = 'mysql2'\nENV['telemetry.snmp.data.username'] = 'root'\nENV['telemetry.snmp.data.password'] = ''\nENV['telemetry.snmp.data.database'] = 'telemetry_snmp'\nENV['telemetry.snmp.data.host'] = '127.0.0.1'\nENV['telemetry.snmp.data.port'] = '3306'\nENV['telemetry.snmp.data.max_connections'] = '16'\nENV['telemetry.snmp.data.pool_timeout'] = '2'\nENV['telemetry.snmp.data.preconnect'] = 'concurrently'\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foptum%2Ftelemetry-snmp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foptum%2Ftelemetry-snmp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foptum%2Ftelemetry-snmp/lists"}