Coder Social home page Coder Social logo

alloy-modules's Introduction

Grafana Logo (Light) Grafana Logo (Dark)

The open-source platform for monitoring and observability

License Drone Go Report Card

Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored. Create, explore, and share dashboards with your team and foster a data-driven culture:

  • Visualizations: Fast and flexible client side graphs with a multitude of options. Panel plugins offer many different ways to visualize metrics and logs.
  • Dynamic Dashboards: Create dynamic & reusable dashboards with template variables that appear as dropdowns at the top of the dashboard.
  • Explore Metrics: Explore your data through ad-hoc queries and dynamic drilldown. Split view and compare different time ranges, queries and data sources side by side.
  • Explore Logs: Experience the magic of switching from metrics to logs with preserved label filters. Quickly search through all your logs or streaming them live.
  • Alerting: Visually define alert rules for your most important metrics. Grafana will continuously evaluate and send notifications to systems like Slack, PagerDuty, VictorOps, OpsGenie.
  • Mixed Data Sources: Mix different data sources in the same graph! You can specify a data source on a per-query basis. This works for even custom datasources.

Get started

Unsure if Grafana is for you? Watch Grafana in action on play.grafana.org!

Documentation

The Grafana documentation is available at grafana.com/docs.

Contributing

If you're interested in contributing to the Grafana project:

Get involved

This project is tested with BrowserStack

License

Grafana is distributed under AGPL-3.0-only. For Apache-2.0 exceptions, see LICENSING.md.

alloy-modules's People

Contributors

adamhackl avatar bentonam avatar danstadler-pdx avatar dependabot[bot] avatar erikbaranowski avatar hbjydev avatar imshelledin21 avatar mattdurham avatar petewall avatar rfratto avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

alloy-modules's Issues

kube-state-metrics module metrics.alloy fixes

Found a couple of config issues when trying to utilize the kube-state-metrics module

  • discovery.relabel "ksm" component referenced the wrong component in it's targets argument
  • prometheus.scrape "kube_state_metrics" component didn't reference argument.targets.value, instead referenced a direct component that didn't exist

Create Helm Chart from Modules

It would be great to create a helm chart from all of the modules that would automatically create config maps, this way it can be included as a sub chart. Then modules can be imported via configmap / import.string

remote.kubernetes.configmap "agent_mysql_module" {
  namespace = "monitoring"
  name = "agent-mysql-module"
}

import.string "mysql" {
  content = remote.kubernetes.configmap.agent_mysql_module.data["databases-sql-mysql-metrics.river"]
}

Discovery drops on a non-existent label

This same rule is found across various modules as the first discovery.relabel rule. It does a keep based on labels that the pod has a port name defined or one named metrics, is running and ready. But it also checks that the container is not an init container. The problem I have is that I don't have the label for init containers on any of my scrapes. So I'm getting a lot of stuff dropped that shouldn't be. This came to light because I can't get the kube_dns scrape in the core module to work and removing this fourth label from the keep caused it to start working.

I'm happy to submit a PR, but I'm wondering if the right move is to remove this last keep requirement for __meta_kubernetes_pod_container_init ... we could add a drop rule after this rule for if __meta_kubernetes_pod_container_init=true to solve what I think this is trying to do. Can anyone confirm my solution is correct and I'll get it PRd to all the places this exists?

  // kube_dns relabelings (pre-scrape)
  discovery.relabel "kube_dns" {
    targets = discovery.kubernetes.kube_dns.targets

    // keep only the specified metrics port name, and pods that are Running and ready
    rule {
      source_labels = [
        "__meta_kubernetes_pod_container_port_name",
        "__meta_kubernetes_pod_phase",
        "__meta_kubernetes_pod_ready",
        "__meta_kubernetes_pod_container_init",
      ]
      separator = "@"
      regex = coalesce(argument.port_name.value, "metrics") + "@Running@true@false"
      action = "keep"
    }
  // kube_dns relabelings (pre-scrape)
  discovery.relabel "kube_dns" {
    targets = discovery.kubernetes.kube_dns.targets

    // keep only the specified metrics port name, and pods that are Running and ready
    rule {
      source_labels = [
        "__meta_kubernetes_pod_container_port_name",
        "__meta_kubernetes_pod_phase",
        "__meta_kubernetes_pod_ready",
      ]
      separator = "@"
      regex = coalesce(argument.port_name.value, "metrics") + "@Running@true"
      action = "keep"
    }

    // drop any init containers
    rule {
      source_labels = ["__meta_kubernetes_pod_container_init"]
      regex = "true"
      action = "drop"
    }

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.