circonus-labs / circonus-cookbook Goto Github PK
View Code? Open in Web Editor NEWChef 10.x cookbook for managing Circonus checks, metrics, rules, and graphs.
License: Apache License 2.0
Chef 10.x cookbook for managing Circonus checks, metrics, rules, and graphs.
License: Apache License 2.0
It'd be nice if I could specify multiple criteria for a rule when specifying the rule, so I don't need to write separate rules for absence checks and the actual criteria that I care about.
libraries/circonus_api.rb
requires rest_client
which isn't installed along with Chef anymore since v12.0 was released. This causes the chef-client compile phase to fail.
In theory the caching should protect updates from happening constantly (needlessly). Without some mechanism to tie some sort of clear cache mechanism to an update having happened on this chef run the protection does not happen in practice. In fact without a clear cache every chef run results in an attempted update if there is any difference between circonus and the local copy. This is VERY slow to be doing every chef run.
Suggested solution: Trigger a cache clear at the end of the run if we perceive a difference that needed to be updated for.
Have a report that JSON.parse is being called from somewhere that JSON is already being used as a class name; need to use absolute class name, ::JSON.parse.
https://github.com/circonus-labs/circonus-cookbook/blob/v0.0.9/providers/check_bundle.rb#L60
We're using the display name of a check bundle as an identifier internally, and in the caching system - target, type, name is the full tuple. But the circonus API uses target, type, hashed config and a modified version of the broker list.
This means that if you specify a display name, and it does not match the name of an otherwise matching check_bundle, the API will return code 200 and make no changes.
We should hash on the config, and leave the display name as a secondary attribute.
The existing resource is copied over, but any existing rules that have no matches in the new set are never removed when updating the check_bundle/rule_set/etc..
Internal private notes: http://pastebin.office.omniti.com/d1007f0ac
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.