Giter Site home page Giter Site logo

prometheus's People

Contributors

geek avatar misterbisson avatar tgross avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

prometheus's Issues

Metrics forwarder

ContainerMonitor supports the Prometheus API but its clear, particularly given the poor story around long-term persistence (ref #12), that we want to have a blueprint for metrics forwarding using the Prometheus API. This metrics forwarder would scrape Prometheus endpoints and then forward to an end-user's existing metrics collectors (ex. graphite, ES, nagios, etc.).

Open questions for this issue:

  • what metrics collector(s) should we support?
  • what existing tooling is there for scraping Prometheus and forwarding the metrics? telegraf seems promising.
  • should this be a separate blueprint or keep it in this repo as an alternative option?

Edit see also https://github.com/misterbisson/telegraf/tree/wip

Config template uses wrong service name

telemetry is the wrong service name for the ContainerPilot telemetry service

{{ if service "telemetry" }} - targets: [{{range $i, $e := service "telemetry"}}{{if ne $i 0}},{{end}}'{{$e.Address}}:{{$e.Port}}'{{end}},'localhost:9090']

This can be fixed immediately, but service discovery can also be moved internal with #5

Account for Differing CloudAPI/Docker Endpoints

Hi,

I'm going to throw a PR together for this, but wanted to log it. The Triton setup script assumes a certain API endpoint format (with datacenter at the beginning of the URL), which may not be the case for many non-Joyent datacenters.

For example:

$ ./setup.sh

Error! The Triton CLI configuration does not match the Docker CLI configuration.

Docker user: jay.schmidt
Triton user: jay.schmidt
Docker data center: docker
Triton data center: cloudapi

With a config of:

$ env | grep DOCKER
DOCKER_CLIENT_TIMEOUT=300
DOCKER_CERT_PATH=/Users/jschmidt/.sdc/docker/cak1-jay.schmidt
DOCKER_HOST=tcp://docker.cak-1.virington.com:2376
DOCKER_TLS_VERIFY=1
$ env | egrep "SDC|TRITON"
SDC_KEY_ID=6b:95:03:3d:d3:6e:52:69:01:96:1a:46:4a:8d:c1:7e
SDC_ACCOUNT=jay.schmidt
SDC_URL=https://cloudapi.cak-1.virington.com

In my case, the DC is the secondary item in the URL (due to using CMON). One possible fix is to just have a flag to ignore this check; a second fix is to actually query cloudapi/docker to check the datacenter. I'll work on this later this month.

Jay

Data center confusion

The config in #18 takes a data center, but it's possible to run it in a different data center. The result can be very confusing, because the data center being used for discovery is not shown anywhere within Prometheus itself.

The embarrassment this causes was discovered in CMON-66.

Persistent storage

Prometheus mostly punts on the question of long-term storage of metrics. Each Prometheus node stores time series in local files with a LevelDB index. As of this writing it appears the design for remote storage will be to have some kind of generic interface for remote storage over gRPC.

At some point we'll want to have an answer to this question and I want to leave this issue here. In the meantime we'll also be following up on the notion of an example metrics forwarder (ref #13).

Pull Pacakge Definitions at Runtime Rather than Hardcode

Hi,

For non-public cloud use, this package will most likely not be available:

- com.joyent.package=g4-highcpu-1G

Suggestion would be to move this to generic memory/cpu target level and/or have it pull package definitions as part of the setup process to fill this line out.

Jay

docker-compose.yml environment missing

Looks like,

47 environment:
48 - CONSUL=pc.svc.${TRITON_CNS_SEARCH_DOMAIN_PRIVATE}

Is missing from the consul definition. When I ran triton-compose scale consul=3 Consul couldn't find its cluster members.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.