{"id":43413092,"url":"https://github.com/mmorga/diamond_cookbook","last_synced_at":"2026-02-02T17:02:18.369Z","repository":{"id":7443813,"uuid":"8785069","full_name":"mmorga/diamond_cookbook","owner":"mmorga","description":"My fork of a diamond cookbook","archived":false,"fork":false,"pushed_at":"2013-05-20T21:23:44.000Z","size":128,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2023-04-13T07:51:08.847Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","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/mmorga.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}},"created_at":"2013-03-14T20:48:28.000Z","updated_at":"2013-10-31T18:10:48.000Z","dependencies_parsed_at":"2022-09-02T14:51:17.690Z","dependency_job_id":null,"html_url":"https://github.com/mmorga/diamond_cookbook","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"purl":"pkg:github/mmorga/diamond_cookbook","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmorga%2Fdiamond_cookbook","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmorga%2Fdiamond_cookbook/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmorga%2Fdiamond_cookbook/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmorga%2Fdiamond_cookbook/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mmorga","download_url":"https://codeload.github.com/mmorga/diamond_cookbook/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmorga%2Fdiamond_cookbook/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29015750,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-02T16:17:30.374Z","status":"ssl_error","status_checked_at":"2026-02-02T15:58:50.469Z","response_time":58,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":"2026-02-02T17:02:11.706Z","updated_at":"2026-02-02T17:02:18.364Z","avatar_url":"https://github.com/mmorga.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"About\n=====\n\nDiamond is a python daemon that collects system metrics and publishes them to Graphite. It is\ncapable of collecting cpu, memory, network, i/o, load and disk metrics.  Additionally,\nit features an API for implementing custom collectors for gathering metrics from almost any source.\n\nThe documentation can be found on our [wiki](https://github.com/BrightcoveOS/Diamond/wiki). For your\nconvenience the wiki is setup as a submodule of this checkout. You can get it via running\n\n    git submodule init\n    git submodule update\n\nDefinitions\n===========\nThis cookbook has a definition to make it easy to create collector configs. By default, the definition enables the\ncollector. You can supply it with addition parameters. Below is the simplest example.\n\n```\n    collector_config \"CPUCollector\"\n```\n\nThis simple example just enables the collector and it inhereits the default configuration for this collector as defined\nby the collector.\n\nYou can override these default settings by passing additional parameters. Below is an example of this.\n\n```\n    collector_config \"DiskSpaceCollector\" do\n      filesystems      'ext2,ext3,xfs'\n      exclude_filters  \"'^/export/home'\"\n    end\n```\n\nThis example is enabling the DiskSpaceCollector while passing addition settings to specify which filesystems to mine data \nand to exclude certain directories (regex). Read the documentation/collector source code for information on what parameters\neach collector has.\nIt is recommended that instead of passing values directly, inherit them from the node (as show belown).\n\n```\n    collector_config \"DiskSpaceCollector\" do\n      filesystems      node[:diamond][:collectors][:DiskSpaceCollector][:filesystems]\n      exclude_filters  node[:diamond][:collectors][:DiskSpaceCollector][:exclude_filters]\n    end\n```\n\nWhen you are collecting data via snmp, you need to specify that in the definition (as shown below)\n```\n      collector_config \"SNMPInterfaceCollector\" do\n        path      node[:diamond][:collectors][:SNMPInterfaceCollector][:path]\n        snmp      true\n        interval  node[:diamond][:collectors][:SNMPInterfaceCollector][:interval]\n        time__out node[:diamond][:collectors][:SNMPInterfaceCollector][:timeout]\n        retries   node[:diamond][:collectors][:SNMPInterfaceCollector][:retries]\n        port      node[:diamond][:collectors][:SNMPInterfaceCollector][:port]\n        community node[:diamond][:collectors][:SNMPInterfaceCollector][:community]\n        devices   node[:diamond][:collectors][:SNMPInterfaceCollector][:devices]\n      end\n```\n\nWhats with the double underscore ('__')?\nif a double underscore exists in the attribute name, it will be automatically removed when written to the collector config file.\nThis is due to limitations within ruby code. Sometimes a attibute name may be a reserved ruby word (ie timeout), in which\ncase, you can't use that key to specify an attribute for the collector. The use of double underscores ('__') is a work around for that. \n(so 'timeout' is called as 'time__out' in the cookbook, but writes 'timeout' to the config file.\n\nUSAGE\n=====\nIt is recommended that you create a recipe per collector, and add that recipe to the related role.\nWhen passing sensitive data to a diamond collector config (ie a username, password, etc), use data bags \nto encrypt the values.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmmorga%2Fdiamond_cookbook","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmmorga%2Fdiamond_cookbook","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmmorga%2Fdiamond_cookbook/lists"}