Created
March 14, 2023 11:15
-
-
Save liwsakilive/de248118fd5a8ce9513c7e3ce1da7327 to your computer and use it in GitHub Desktop.
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
apiVersion: apps/v1 | |
kind: Deployment | |
metadata: | |
name: prometheus-deployment | |
namespace: prom | |
labels: | |
app: prometheus-server | |
spec: | |
replicas: 1 | |
selector: | |
matchLabels: | |
app: prometheus-server | |
template: | |
metadata: | |
labels: | |
app: prometheus-server | |
spec: | |
containers: | |
- name: prometheus | |
image: prom/prometheus | |
args: | |
- "--config.file=/etc/prometheus/prometheus.yml" | |
- "--storage.tsdb.path=/prometheus/" | |
ports: | |
- containerPort: 9090 | |
volumeMounts: | |
- name: prometheus-config-volume | |
mountPath: /etc/prometheus/ | |
- name: prometheus-storage-volume | |
mountPath: /prometheus/ | |
volumes: | |
- name: prometheus-config-volume | |
configMap: | |
defaultMode: 420 | |
name: prometheus-server-conf | |
- name: prometheus-storage-volume | |
emptyDir: {} | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: prometheus-service | |
namespace: prom | |
annotations: | |
prometheus.io/scrape: 'true' | |
prometheus.io/port: '9090' | |
spec: | |
selector: | |
app: prometheus-server | |
type: NodePort | |
ports: | |
- port: 8080 | |
targetPort: 9090 | |
nodePort: 30000 | |
--- | |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: prometheus-server-conf | |
labels: | |
name: prometheus-server-conf | |
namespace: prom | |
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 | |
prometheus.yml: |- | |
global: | |
scrape_interval: 5s | |
evaluation_interval: 5s | |
rule_files: | |
- /etc/prometheus/prometheus.rules | |
alerting: | |
alertmanagers: | |
- scheme: http | |
static_configs: | |
- targets: | |
- "alertmanager.monitoring.svc:9093" | |
scrape_configs: | |
- job_name: 'node-exporter' | |
kubernetes_sd_configs: | |
- role: endpoints | |
relabel_configs: | |
- source_labels: [__meta_kubernetes_endpoints_name] | |
regex: 'node-exporter' | |
action: keep | |
- 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 | |
- 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 | |
- 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 | |
- job_name: 'kube-state-metrics' | |
static_configs: | |
- targets: ['kube-state-metrics.kube-system.svc.cluster.local:8080'] | |
- 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 | |
- 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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment