-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: Atualizar arquivos de configuração do Nginx e Service Monitor
- Loading branch information
nataliagranato
committed
Jul 8, 2024
1 parent
20befef
commit 70798d5
Showing
12 changed files
with
477 additions
and
85 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Empty file.
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,17 @@ | ||
apiVersion: monitoring.coreos.com/v1 # versão da API | ||
kind: PodMonitor # tipo de recurso, no caso, um PodMonitor do Prometheus Operator | ||
metadata: # metadados do recurso | ||
name: nginx-podmonitor # nome do recurso | ||
labels: # labels do recurso | ||
app: nginx # label que identifica o app | ||
spec: | ||
namespaceSelector: # seletor de namespaces | ||
matchNames: # namespaces que serão monitorados | ||
- default # namespace que será monitorado | ||
selector: # seletor para identificar os pods que serão monitorados | ||
matchLabels: # labels que identificam os pods que serão monitorados | ||
app: nginx # label que identifica o app que será monitorado | ||
podMetricsEndpoints: # endpoints que serão monitorados | ||
- interval: 10s # intervalo de tempo entre as requisições | ||
path: /metrics # caminho para a requisição | ||
targetPort: 9113 # porta do target |
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,33 @@ | ||
apiVersion: v1 # versão da API | ||
kind: Pod # tipo de recurso, no caso, um Pod | ||
metadata: # metadados do recurso | ||
name: nginx-pod # nome do recurso | ||
labels: # labels do recurso | ||
app: nginx # label que identifica o app | ||
spec: # especificações do recursos | ||
containers: # containers do template | ||
- name: nginx-container # nome do container | ||
image: nginx # imagem do container do Nginx | ||
ports: # portas do container | ||
- containerPort: 80 # porta do container | ||
name: http # nome da porta | ||
volumeMounts: # volumes que serão montados no container | ||
- name: nginx-config # nome do volume | ||
mountPath: /etc/nginx/conf.d/default.conf # caminho de montagem do volume | ||
subPath: nginx.conf # subpath do volume | ||
- name: nginx-exporter # nome do container que será o exporter | ||
image: 'nginx/nginx-prometheus-exporter:0.11.0' # imagem do container do exporter | ||
args: # argumentos do container | ||
- '-nginx.scrape-uri=http://localhost/metrics' # argumento para definir a URI de scraping | ||
resources: # recursos do container | ||
limits: # limites de recursos | ||
memory: 128Mi # limite de memória | ||
cpu: 0.3 # limite de CPU | ||
ports: # portas do container | ||
- containerPort: 9113 # porta do container que será exposta | ||
name: metrics # nome da porta | ||
volumes: # volumes do template | ||
- configMap: # configmap do volume, nós iremos criar esse volume através de um configmap | ||
defaultMode: 420 # modo padrão do volume | ||
name: nginx-config # nome do configmap | ||
name: nginx-config # nome do volume |
25 changes: 25 additions & 0 deletions
25
docs/k8s/day-10/files/prometheus-rules/nginx-prometheus-rule.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,25 @@ | ||
apiVersion: monitoring.coreos.com/v1 # Versão da api do PrometheusRule | ||
kind: PrometheusRule # Tipo do recurso | ||
metadata: # Metadados do recurso (nome, namespace, labels) | ||
annotations: | ||
meta.helm.sh/release-name: kube-prometheus-stack | ||
meta.helm.sh/release-namespace: kube-prometheus-stack | ||
name: nginx-prometheus-rule | ||
namespace: kube-prometheus-stack | ||
labels: # Labels do recurso | ||
app: kube-prometheus-stack | ||
role: alert-rules # Label que indica que o PrometheusRule contém regras de alerta | ||
app.kubernetes.io/name: kube-prometheus-stack # Label que indica que o PrometheusRule faz parte do kube-prometheus | ||
app.kubernetes.io/part-of: kube-prometheus-stack # Label que indica que o PrometheusRule faz parte do kube-prometheus | ||
spec: # Especificação do recurso | ||
groups: # Lista de grupos de regras | ||
- name: nginx-prometheus-rule # Nome do grupo de regras | ||
rules: # Lista de regras | ||
- alert: NginxDown # Nome do alerta | ||
expr: up{job="nginx"} == 0 # Expressão que será utilizada para disparar o alerta | ||
for: 1m # Tempo que a expressão deve ser verdadeira para que o alerta seja disparado | ||
labels: # Labels do alerta | ||
severity: critical # Label que indica a severidade do alerta | ||
annotations: # Anotações do alerta | ||
summary: "Nginx is down" # Título do alerta | ||
description: "Nginx is down for more than 1 minute. Pod name: {{ $labels.pod }}" # Descrição do alerta |
File renamed without changes.
43 changes: 43 additions & 0 deletions
43
docs/k8s/day-10/files/service-monitor/nginx-deployment.yml
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,43 @@ | ||
apiVersion: apps/v1 # versão da API | ||
kind: Deployment # tipo de recurso, no caso, um Deployment | ||
metadata: # metadados do recurso | ||
name: nginx-server # nome do recurso | ||
spec: # especificação do recurso | ||
selector: # seletor para identificar os pods que serão gerenciados pelo deployment | ||
matchLabels: # labels que identificam os pods que serão gerenciados pelo deployment | ||
app: nginx # label que identifica o app que será gerenciado pelo deployment | ||
replicas: 3 # quantidade de réplicas do deployment | ||
template: # template do deployment | ||
metadata: # metadados do template | ||
labels: # labels do template | ||
app: nginx # label que identifica o app | ||
annotations: # annotations do template | ||
prometheus.io/scrape: 'true' # habilita o scraping do Prometheus | ||
prometheus.io/port: '9113' # porta do target | ||
spec: # especificação do template | ||
containers: # containers do template | ||
- name: nginx # nome do container | ||
image: nginx # imagem do container do Nginx | ||
ports: # portas do container | ||
- containerPort: 80 # porta do container | ||
name: http # nome da porta | ||
volumeMounts: # volumes que serão montados no container | ||
- name: nginx-config # nome do volume | ||
mountPath: /etc/nginx/conf.d/default.conf # caminho de montagem do volume | ||
subPath: nginx.conf # subpath do volume | ||
- name: nginx-exporter # nome do container que será o exporter | ||
image: 'nginx/nginx-prometheus-exporter:0.11.0' # imagem do container do exporter | ||
args: # argumentos do container | ||
- '-nginx.scrape-uri=http://localhost/metrics' # argumento para definir a URI de scraping | ||
resources: # recursos do container | ||
limits: # limites de recursos | ||
memory: 128Mi # limite de memória | ||
cpu: 0.3 # limite de CPU | ||
ports: # portas do container | ||
- containerPort: 9113 # porta do container que será exposta | ||
name: metrics # nome da porta | ||
volumes: # volumes do template | ||
- configMap: # configmap do volume, nós iremos criar esse volume através de um configmap | ||
defaultMode: 420 # modo padrão do volume | ||
name: nginx-config # nome do configmap | ||
name: nginx-config # nome do volume |
17 changes: 17 additions & 0 deletions
17
docs/k8s/day-10/files/service-monitor/nginx-pod-monitor.yml
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,17 @@ | ||
apiVersion: monitoring.coreos.com/v1 # versão da API | ||
kind: PodMonitor # tipo de recurso, no caso, um PodMonitor do Prometheus Operator | ||
metadata: # metadados do recurso | ||
name: nginx-podmonitor # nome do recurso | ||
labels: # labels do recurso | ||
app: nginx # label que identifica o app | ||
spec: | ||
namespaceSelector: # seletor de namespaces | ||
matchNames: # namespaces que serão monitorados | ||
- pick # namespace que será monitorado | ||
selector: # seletor para identificar os pods que serão monitorados | ||
matchLabels: # labels que identificam os pods que serão monitorados | ||
app: nginx # label que identifica o app que será monitorado | ||
podMetricsEndpoints: # endpoints que serão monitorados | ||
- interval: 10s # intervalo de tempo entre as requisições | ||
path: /metrics # caminho para a requisição | ||
targetPort: 9113 # porta do target |
14 changes: 14 additions & 0 deletions
14
docs/k8s/day-10/files/service-monitor/nginx-service-monitor.yml
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,14 @@ | ||
apiVersion: monitoring.coreos.com/v1 # versão da API | ||
kind: ServiceMonitor # tipo de recurso, no caso, um ServiceMonitor do Prometheus Operator | ||
metadata: # metadados do recurso | ||
name: nginx-servicemonitor # nome do recurso | ||
labels: # labels do recurso | ||
app: nginx # label que identifica o app | ||
spec: # especificação do recurso | ||
selector: # seletor para identificar os pods que serão monitorados | ||
matchLabels: # labels que identificam os pods que serão monitorados | ||
app: nginx # label que identifica o app que será monitorado | ||
endpoints: # endpoints que serão monitorados | ||
- interval: 10s # intervalo de tempo entre as requisições | ||
path: /metrics # caminho para a requisição | ||
targetPort: 9113 # porta do target |
File renamed without changes.
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