-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merged in demo-notebooks (pull request #14)
add demo notebooks * add demo notebooks
- Loading branch information
1 parent
ef61c53
commit 1b9cf6a
Showing
30 changed files
with
5,123 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
## Demo notebooks | ||
|
||
- Wine quality ML pipeline: [demo_pipeline](./demo_pipeline) | ||
|
||
- [Fairness and energy monitoring pipeline.](./demo_fairness_and_energy_monitoring) |
1,312 changes: 1,312 additions & 0 deletions
1,312
...mo_fairness_and_energy_monitoring/demo-pipeline-with-fairness-and-energy-monitoring.ipynb
Large diffs are not rendered by default.
Oops, something went wrong.
283 changes: 283 additions & 0 deletions
283
...o_notebooks/demo_fairness_and_energy_monitoring/fairness-alert-prometheus-config-map.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,283 @@ | ||
apiVersion: v1 | ||
kind: ConfigMap | ||
metadata: | ||
name: prometheus-server-conf | ||
labels: | ||
name: prometheus-server-conf | ||
data: | ||
prometheus.rules: |- | ||
groups: | ||
- name: devopscube demo alert | ||
rules: | ||
- alert: High Pod Memory | ||
expr: sum(container_memory_usage_bytes) > 1 | ||
for: 1m | ||
labels: | ||
severity: slack | ||
annotations: | ||
summary: High Memory Usage | ||
- alert: Training Data Disparate Impact | ||
expr: Tr_D_DI{job="kubernetes-service-endpoints"} < 0.8 or Tr_D_DI{job="kubernetes-service-endpoints"} > 1.2 | ||
for: 1m | ||
labels: | ||
severity: slack | ||
annotations: | ||
summary: Disparate impact unfairness | ||
- alert: Training Data Statistical Parity | ||
expr: Tr_D_SP{job="kubernetes-service-endpoints"} < -0.2 or Tr_D_SP{job="kubernetes-service-endpoints"} > 0.2 | ||
for: 1m | ||
labels: | ||
severity: slack | ||
annotations: | ||
summary: Statistical parity unfairness | ||
- alert: Test Data Disparate Impact | ||
expr: Te_D_DI{job="kubernetes-service-endpoints"} < 0.8 or Te_D_DI{job="kubernetes-service-endpoints"} > 1.2 | ||
for: 1m | ||
labels: | ||
severity: slack | ||
annotations: | ||
summary: Disparate impact unfairness | ||
- alert: Test Data Statistical Parity | ||
expr: Te_D_SP{job="kubernetes-service-endpoints"} < -0.2 or Te_D_SP{job="kubernetes-service-endpoints"} > 0.2 | ||
for: 1m | ||
labels: | ||
severity: slack | ||
annotations: | ||
summary: Statistical parity unfairness | ||
- alert: Model Accuracy | ||
expr: M_Acc{job="kubernetes-service-endpoints"} < 0.7 | ||
for: 1m | ||
labels: | ||
severity: slack | ||
annotations: | ||
summary: Low Accuracy | ||
- alert: Model Disparate Impact | ||
expr: M_DI{job="kubernetes-service-endpoints"} < 0.8 or M_DI{job="kubernetes-service-endpoints"} > 1.2 | ||
for: 1m | ||
labels: | ||
severity: slack | ||
annotations: | ||
summary: Disparate impact unfairness | ||
- alert: Model Statistical Parity | ||
expr: M_SP{job="kubernetes-service-endpoints"} < -0.2 or M_SP{job="kubernetes-service-endpoints"} > 0.2 | ||
for: 1m | ||
labels: | ||
severity: slack | ||
annotations: | ||
summary: Statistical parity unfairness | ||
- alert: Model Averge Odds Difference | ||
expr: M_AOD{job="kubernetes-service-endpoints"} < -0.1 or M_AOD{job="kubernetes-service-endpoints"} > 0.1 | ||
for: 1m | ||
labels: | ||
severity: slack | ||
annotations: | ||
summary: Average odds difference unfairness | ||
- alert: Model Equal Oppoturnity Difference | ||
expr: M_EOD{job="kubernetes-service-endpoints"} < -0.2 or M_EOD{job="kubernetes-service-endpoints"} > 0.2 | ||
for: 1m | ||
labels: | ||
severity: slack | ||
annotations: | ||
summary: Equal oppoturnity difference unfairness | ||
- alert: Model Theil Index | ||
expr: M_TI{job="kubernetes-service-endpoints"} > 0.05 | ||
for: 1m | ||
labels: | ||
severity: slack | ||
annotations: | ||
summary: Theil index unfairness | ||
prometheus.yml: |- | ||
# my global config | ||
global: | ||
scrape_interval: 15s # By default, scrape targets every 15 seconds. | ||
evaluation_interval: 15s # By default, scrape targets every 15 seconds. | ||
# scrape_timeout is set to the global default (10s). | ||
# Load and evaluate rules in this file every 'evaluation_interval' seconds. | ||
rule_files: | ||
# - 'alert.rules' | ||
# - "first.rules" | ||
# - "second.rules" | ||
- /etc/prometheus/prometheus.rules | ||
alerting: | ||
alertmanagers: | ||
- scheme: http | ||
static_configs: | ||
- targets: | ||
- "alertmanager.monitoring.svc:9093" | ||
# - "alertmanager:9093" | ||
# A scrape configuration containing exactly one endpoint to scrape: | ||
scrape_configs: | ||
# Here it's Prometheus itself. | ||
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. | ||
- job_name: 'prometheus' | ||
# Override the global default and scrape targets from this job every 5 seconds. | ||
scrape_interval: 5s | ||
static_configs: | ||
- targets: ['localhost:9090'] | ||
#- job_name: 'prometheus-pushgateway' | ||
# scrape_interval: 10s | ||
# static_configs: | ||
# - targets: ['prometheus-pushgateway.monitoring.svc.cluster.local:9091'] | ||
- job_name: 'k8services' | ||
kubernetes_sd_configs: | ||
- role: endpoints | ||
relabel_configs: | ||
- source_labels: | ||
- __meta_kubernetes_namespace | ||
- __meta_kubernetes_service_name | ||
action: drop | ||
regex: default;kubernetes | ||
- source_labels: | ||
- __meta_kubernetes_namespace | ||
regex: default | ||
action: keep | ||
- source_labels: [__meta_kubernetes_service_name] | ||
target_label: job | ||
- job_name: 'k8pods' | ||
kubernetes_sd_configs: | ||
- role: pod | ||
relabel_configs: | ||
- source_labels: [__meta_kubernetes_pod_container_port_name] | ||
regex: metrics | ||
action: keep | ||
- source_labels: [__meta_kubernetes_pod_container_name] | ||
target_label: job | ||
- job_name: 'node-exporter' | ||
kubernetes_sd_configs: | ||
- role: endpoints | ||
relabel_configs: | ||
- source_labels: [__meta_kubernetes_endpoints_name] | ||
regex: 'node-exporter' | ||
action: keep | ||
# Collects all the metrics from the API servers | ||
- job_name: 'kubernetes-apiservers' | ||
kubernetes_sd_configs: | ||
- role: endpoints | ||
scheme: https | ||
tls_config: | ||
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt | ||
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token | ||
relabel_configs: | ||
- source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name] | ||
action: keep | ||
regex: default;kubernetes;https | ||
# Collects all the kubernetes node metrics | ||
- job_name: 'kubernetes-nodes' | ||
scheme: https | ||
tls_config: | ||
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt | ||
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token | ||
kubernetes_sd_configs: | ||
- role: node | ||
relabel_configs: | ||
- action: labelmap | ||
regex: __meta_kubernetes_node_label_(.+) | ||
- target_label: __address__ | ||
replacement: kubernetes.default.svc:443 | ||
- source_labels: [__meta_kubernetes_node_name] | ||
regex: (.+) | ||
target_label: __metrics_path__ | ||
replacement: /api/v1/nodes/${1}/proxy/metrics | ||
# Pod metrics will get discovered and scraped if the pod metadata is annotated | ||
# with prometheus.io/scrape and prometheus.io/port annotations. | ||
- job_name: 'kubernetes-pods' | ||
kubernetes_sd_configs: | ||
- role: pod | ||
relabel_configs: | ||
- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape] | ||
action: keep | ||
regex: true | ||
- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path] | ||
action: replace | ||
target_label: __metrics_path__ | ||
regex: (.+) | ||
- source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port] | ||
action: replace | ||
regex: ([^:]+)(?::\d+)?;(\d+) | ||
replacement: $1:$2 | ||
target_label: __address__ | ||
- action: labelmap | ||
regex: __meta_kubernetes_pod_label_(.+) | ||
- source_labels: [__meta_kubernetes_namespace] | ||
action: replace | ||
target_label: kubernetes_namespace | ||
- source_labels: [__meta_kubernetes_pod_name] | ||
action: replace | ||
target_label: kubernetes_pod_name | ||
# Collects all cAdvisor metrics | ||
- job_name: 'kubernetes-cadvisor' | ||
scheme: https | ||
tls_config: | ||
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt | ||
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token | ||
kubernetes_sd_configs: | ||
- role: node | ||
relabel_configs: | ||
- action: labelmap | ||
regex: __meta_kubernetes_node_label_(.+) | ||
- target_label: __address__ | ||
replacement: kubernetes.default.svc:443 | ||
- source_labels: [__meta_kubernetes_node_name] | ||
regex: (.+) | ||
target_label: __metrics_path__ | ||
replacement: /api/v1/nodes/${1}/proxy/metrics/cadvisor | ||
# Scrapes Service endpoints if the service metadata is annotated | ||
# with prometheus.io/scrape and prometheus.io/port annotations | ||
- job_name: 'kubernetes-service-endpoints' | ||
kubernetes_sd_configs: | ||
- role: endpoints | ||
relabel_configs: | ||
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape] | ||
action: keep | ||
regex: true | ||
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scheme] | ||
action: replace | ||
target_label: __scheme__ | ||
regex: (https?) | ||
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_path] | ||
action: replace | ||
target_label: __metrics_path__ | ||
regex: (.+) | ||
- source_labels: [__address__, __meta_kubernetes_service_annotation_prometheus_io_port] | ||
action: replace | ||
target_label: __address__ | ||
regex: ([^:]+)(?::\d+)?;(\d+) | ||
replacement: $1:$2 | ||
- action: labelmap | ||
regex: __meta_kubernetes_service_label_(.+) | ||
- source_labels: [__meta_kubernetes_namespace] | ||
action: replace | ||
target_label: kubernetes_namespace | ||
- source_labels: [__meta_kubernetes_service_name] | ||
action: replace | ||
target_label: kubernetes_name |
Oops, something went wrong.