1
0
Fork 0
mirror of https://github.com/monitoring-mixins/website.git synced 2024-12-14 11:37:31 +00:00

changed mixins.yaml to mixins.json; added command to copy mixins.json to hugo

This commit is contained in:
Allen Ma 2020-10-22 09:22:03 -04:00
parent 282d2b97cd
commit 72033fda0a
7 changed files with 209 additions and 78 deletions

View file

@ -3,7 +3,7 @@
## Adding new mixin
0. Install [required software](#requirements)
1. Add new mixin to [mixins.yaml](mixins.yaml) file
1. Add new mixin to [mixins.json](mixins.json) file
2. Run `make`
## Requirements

View file

@ -9,6 +9,7 @@ TMPDIR="${TOP}/tmp/repos"
# Make sure to use project tooling
PATH="${TOP}/tmp/bin:${PATH}"
download_mixin() {
local mixin="$1"
local repo="$2"
@ -79,12 +80,12 @@ find site/content/ ! -name '_index.md' -type f -exec rm -rf {} +
mkdir -p "${TMPDIR}"
# Generate mixins
CONFIG=$(gojsontoyaml -yamltojson < mixins.yaml)
CONFIG="mixins.json"
for mixin in $(echo "$CONFIG" | jq -r '.mixins[].name'); do
repo="$(echo "$CONFIG" | jq -r ".mixins[] | select(.name == \"$mixin\") | .source")"
subdir="$(echo "$CONFIG" | jq -r ".mixins[] | select(.name == \"$mixin\") | .subdir")"
text="$(echo "$CONFIG" | jq -r ".mixins[] | select(.name == \"$mixin\") | .description")"
for mixin in $(cat "$CONFIG" | jq -r '.mixins[].name'); do
repo="$(cat "$CONFIG" | jq -r ".mixins[] | select(.name == \"$mixin\") | .source")"
subdir="$(cat "$CONFIG" | jq -r ".mixins[] | select(.name == \"$mixin\") | .subdir")"
text="$(cat "$CONFIG" | jq -r ".mixins[] | select(.name == \"$mixin\") | .description")"
if [ "$text" == "null" ]; then text=""; fi
set +u
download_mixin "$mixin" "$repo" "$subdir"
@ -124,3 +125,7 @@ for mixin in $(echo "$CONFIG" | jq -r '.mixins[].name'); do
done
fi
done
cd "${TOP}" || exit 1
mkdir -p "site/static"
cp -f "${CONFIG}" "site/static/"

98
mixins.json Normal file
View file

@ -0,0 +1,98 @@
{
"mixins": [
{
"name": "prometheus",
"source": "https://github.com/prometheus/prometheus",
"subdir": "documentation/prometheus-mixin",
"description": "The Prometheus Mixin is a set of configurable, reusable, and extensible alerts and dashboards for Prometheus."
},
{
"name": "node-exporter",
"source": "https://github.com/prometheus/node_exporter",
"subdir": "docs/node-mixin",
"description": "The Node Mixin is a set of configurable, reusable, and extensible alerts and dashboards based on the metrics exported by the Node Exporter. The mixin creates recording and alerting rules for Prometheus and suitable dashboard descriptions for Grafana."
},
{
"name": "kubernetes",
"source": "https://github.com/kubernetes-monitoring/kubernetes-mixin",
"subdir": "",
"description": "A set of Grafana dashboards and Prometheus alerts for Kubernetes."
},
{
"name": "kube-state-metrics",
"source": "https://github.com/kubernetes/kube-state-metrics",
"subdir": "jsonnet/kube-state-metrics-mixin"
},
{
"name": "etcd",
"source": "https://github.com/etcd-io/etcd",
"subdir": "Documentation/etcd-mixin",
"description": "A set of customisable Prometheus alerts for etcd."
},
{
"name": "ceph",
"source": "https://github.com/ceph/ceph-mixins",
"subdir": "",
"description": "A set of Prometheus alerts for Ceph.\n\nThe scope of this project is to provide Ceph specific Prometheus rule files using Prometheus Mixins.\n"
},
{
"name": "gluster",
"source": "https://github.com/gluster/gluster-mixins",
"subdir": "",
"description": "A set of Grafana dashboards and Prometheus alerts for Gluster.\n\nThe scope of this project is to provide Gluster specific Grafana dashboard configs and Prometheus rule files using Prometheus Mixins.\n"
},
{
"name": "consul",
"source": "https://github.com/grafana/jsonnet-libs",
"subdir": "consul-mixin",
"description": "Grafana dashboards and Prometheus alerts for operating Consul, in the form of a monitoring mixin."
},
{
"name": "jaeger",
"source": "https://github.com/grafana/jsonnet-libs",
"subdir": "jaeger-mixin"
},
{
"name": "memcached",
"source": "https://github.com/grafana/jsonnet-libs",
"subdir": "memcached-mixin",
"description": "Grafana dashboard for operating Memcached, in the form of a monitoring mixin."
},
{
"name": "sealed-secrets",
"source": "https://github.com/bitnami-labs/sealed-secrets",
"subdir": "contrib/prometheus-mixin"
},
{
"name": "thanos",
"source": "https://github.com/thanos-io/thanos",
"subdir": "mixin"
},
{
"name": "cortex",
"source": "https://github.com/grafana/cortex-jsonnet",
"subdir": "cortex-mixin"
},
{
"name": "kube-cockroachdb",
"source": "https://github.com/metalmatze/kube-cockroachdb",
"subdir": "monitoring"
},
{
"name": "coredns",
"source": "https://github.com/povilasv/coredns-mixin",
"subdir": "",
"description": "CoreDNS mixin provides Grafana dashboard and Prometheus Alerts to monitor CoreDNS. The mixin was introduced in [Kubernetes Node Local DNS Cache blogpost](https://povilasv.me/kubernetes-node-local-dns-cache/) to better help users monitor CoreDNS in Kubernetes. Mixin can also be used to monitor standalone CoreDNS instance without any orchestrators.\n"
},
{
"name": "prometheus-operator",
"source": "https://github.com/prometheus-operator/prometheus-operator",
"subdir": "jsonnet/mixin"
},
{
"name": "cert-manager",
"source": "https://gitlab.com/uneeq-oss/cert-manager-mixin.git",
"subdir": ""
}
]
}

View file

@ -1,70 +0,0 @@
---
mixins:
- name: "prometheus"
source: "https://github.com/prometheus/prometheus"
subdir: "documentation/prometheus-mixin"
description: "The Prometheus Mixin is a set of configurable, reusable, and extensible alerts and dashboards for Prometheus."
- name: node-exporter
source: "https://github.com/prometheus/node_exporter"
subdir: "docs/node-mixin"
description: "The Node Mixin is a set of configurable, reusable, and extensible alerts and dashboards based on the metrics exported by the Node Exporter. The mixin creates recording and alerting rules for Prometheus and suitable dashboard descriptions for Grafana."
- name: kubernetes
source: "https://github.com/kubernetes-monitoring/kubernetes-mixin"
subdir: ""
description: "A set of Grafana dashboards and Prometheus alerts for Kubernetes."
- name: kube-state-metrics
source: "https://github.com/kubernetes/kube-state-metrics"
subdir: "jsonnet/kube-state-metrics-mixin"
- name: etcd
source: "https://github.com/etcd-io/etcd"
subdir: "Documentation/etcd-mixin"
description: "A set of customisable Prometheus alerts for etcd."
- name: ceph
source: "https://github.com/ceph/ceph-mixins"
subdir: ""
description: |
A set of Prometheus alerts for Ceph.
The scope of this project is to provide Ceph specific Prometheus rule files using Prometheus Mixins.
- name: gluster
source: "https://github.com/gluster/gluster-mixins"
subdir: ""
description: |
A set of Grafana dashboards and Prometheus alerts for Gluster.
The scope of this project is to provide Gluster specific Grafana dashboard configs and Prometheus rule files using Prometheus Mixins.
- name: consul
source: "https://github.com/grafana/jsonnet-libs"
subdir: "consul-mixin"
description: "Grafana dashboards and Prometheus alerts for operating Consul, in the form of a monitoring mixin."
- name: jaeger
source: "https://github.com/grafana/jsonnet-libs"
subdir: "jaeger-mixin"
- name: memcached
source: "https://github.com/grafana/jsonnet-libs"
subdir: "memcached-mixin"
description: "Grafana dashboard for operating Memcached, in the form of a monitoring mixin."
- name: sealed-secrets
source: "https://github.com/bitnami-labs/sealed-secrets"
subdir: "contrib/prometheus-mixin"
- name: thanos
source: "https://github.com/thanos-io/thanos"
subdir: "mixin"
- name: cortex
source: "https://github.com/grafana/cortex-jsonnet"
subdir: "cortex-mixin"
- name: kube-cockroachdb
source: "https://github.com/metalmatze/kube-cockroachdb"
subdir: "monitoring"
- name: coredns
source: "https://github.com/povilasv/coredns-mixin"
subdir: ""
description: |
CoreDNS mixin provides Grafana dashboard and Prometheus Alerts to monitor CoreDNS. The mixin was introduced in [Kubernetes Node Local DNS Cache blogpost](https://povilasv.me/kubernetes-node-local-dns-cache/) to better help users monitor CoreDNS in Kubernetes. Mixin can also be used to monitor standalone CoreDNS instance without any orchestrators.
- name: prometheus-operator
source: "https://github.com/prometheus-operator/prometheus-operator"
subdir: "jsonnet/mixin"
- name: cert-manager
source: "https://gitlab.com/uneeq-oss/cert-manager-mixin.git"
subdir: ""

View file

@ -1772,8 +1772,8 @@ Following dashboards are generated from mixins and hosted on github:
- [cortex-blocks-vs-chunks](https://github.com/monitoring-mixins/website/blob/master/assets/cortex/dashboards/cortex-blocks-vs-chunks.json)
- [cortex-chunks](https://github.com/monitoring-mixins/website/blob/master/assets/cortex/dashboards/cortex-chunks.json)
- [cortex-compactor-resources](https://github.com/monitoring-mixins/website/blob/master/assets/cortex/dashboards/cortex-compactor-resources.json)
- [cortex-compactor](https://github.com/monitoring-mixins/website/blob/master/assets/cortex/dashboards/cortex-compactor.json)
- [cortex-compactor-resources](https://github.com/monitoring-mixins/website/blob/master/assets/cortex/dashboards/cortex-compactor-resources.json)
- [cortex-config](https://github.com/monitoring-mixins/website/blob/master/assets/cortex/dashboards/cortex-config.json)
- [cortex-object-store](https://github.com/monitoring-mixins/website/blob/master/assets/cortex/dashboards/cortex-object-store.json)
- [cortex-queries](https://github.com/monitoring-mixins/website/blob/master/assets/cortex/dashboards/cortex-queries.json)

View file

@ -324,5 +324,5 @@ labels:
Following dashboards are generated from mixins and hosted on github:
- [prometheus-remote-write](https://github.com/monitoring-mixins/website/blob/master/assets/prometheus/dashboards/prometheus-remote-write.json)
- [prometheus](https://github.com/monitoring-mixins/website/blob/master/assets/prometheus/dashboards/prometheus.json)
- [prometheus-remote-write](https://github.com/monitoring-mixins/website/blob/master/assets/prometheus/dashboards/prometheus-remote-write.json)

98
site/static/mixins.json Normal file
View file

@ -0,0 +1,98 @@
{
"mixins": [
{
"name": "prometheus",
"source": "https://github.com/prometheus/prometheus",
"subdir": "documentation/prometheus-mixin",
"description": "The Prometheus Mixin is a set of configurable, reusable, and extensible alerts and dashboards for Prometheus."
},
{
"name": "node-exporter",
"source": "https://github.com/prometheus/node_exporter",
"subdir": "docs/node-mixin",
"description": "The Node Mixin is a set of configurable, reusable, and extensible alerts and dashboards based on the metrics exported by the Node Exporter. The mixin creates recording and alerting rules for Prometheus and suitable dashboard descriptions for Grafana."
},
{
"name": "kubernetes",
"source": "https://github.com/kubernetes-monitoring/kubernetes-mixin",
"subdir": "",
"description": "A set of Grafana dashboards and Prometheus alerts for Kubernetes."
},
{
"name": "kube-state-metrics",
"source": "https://github.com/kubernetes/kube-state-metrics",
"subdir": "jsonnet/kube-state-metrics-mixin"
},
{
"name": "etcd",
"source": "https://github.com/etcd-io/etcd",
"subdir": "Documentation/etcd-mixin",
"description": "A set of customisable Prometheus alerts for etcd."
},
{
"name": "ceph",
"source": "https://github.com/ceph/ceph-mixins",
"subdir": "",
"description": "A set of Prometheus alerts for Ceph.\n\nThe scope of this project is to provide Ceph specific Prometheus rule files using Prometheus Mixins.\n"
},
{
"name": "gluster",
"source": "https://github.com/gluster/gluster-mixins",
"subdir": "",
"description": "A set of Grafana dashboards and Prometheus alerts for Gluster.\n\nThe scope of this project is to provide Gluster specific Grafana dashboard configs and Prometheus rule files using Prometheus Mixins.\n"
},
{
"name": "consul",
"source": "https://github.com/grafana/jsonnet-libs",
"subdir": "consul-mixin",
"description": "Grafana dashboards and Prometheus alerts for operating Consul, in the form of a monitoring mixin."
},
{
"name": "jaeger",
"source": "https://github.com/grafana/jsonnet-libs",
"subdir": "jaeger-mixin"
},
{
"name": "memcached",
"source": "https://github.com/grafana/jsonnet-libs",
"subdir": "memcached-mixin",
"description": "Grafana dashboard for operating Memcached, in the form of a monitoring mixin."
},
{
"name": "sealed-secrets",
"source": "https://github.com/bitnami-labs/sealed-secrets",
"subdir": "contrib/prometheus-mixin"
},
{
"name": "thanos",
"source": "https://github.com/thanos-io/thanos",
"subdir": "mixin"
},
{
"name": "cortex",
"source": "https://github.com/grafana/cortex-jsonnet",
"subdir": "cortex-mixin"
},
{
"name": "kube-cockroachdb",
"source": "https://github.com/metalmatze/kube-cockroachdb",
"subdir": "monitoring"
},
{
"name": "coredns",
"source": "https://github.com/povilasv/coredns-mixin",
"subdir": "",
"description": "CoreDNS mixin provides Grafana dashboard and Prometheus Alerts to monitor CoreDNS. The mixin was introduced in [Kubernetes Node Local DNS Cache blogpost](https://povilasv.me/kubernetes-node-local-dns-cache/) to better help users monitor CoreDNS in Kubernetes. Mixin can also be used to monitor standalone CoreDNS instance without any orchestrators.\n"
},
{
"name": "prometheus-operator",
"source": "https://github.com/prometheus-operator/prometheus-operator",
"subdir": "jsonnet/mixin"
},
{
"name": "cert-manager",
"source": "https://gitlab.com/uneeq-oss/cert-manager-mixin.git",
"subdir": ""
}
]
}