Muestra las diferencias entre dos versiones de la página.
Próxima revisión | Revisión previa | ||
ada:sicoferp:integraciones:prometheus [2024/05/23 15:48] 186.97.148.66 creado |
ada:sicoferp:integraciones:prometheus [2024/05/24 02:44] (actual) 191.156.37.8 |
||
---|---|---|---|
Línea 33: | Línea 33: | ||
Ejemplo: | Ejemplo: | ||
- | http://ipservidor:9323 | + | http://ipservidor:9323/metrics |
| | ||
Deberia mostrarle algo como lo siguiente. | Deberia mostrarle algo como lo siguiente. | ||
Línea 133: | Línea 133: | ||
static_configs: | static_configs: | ||
- targets: ["ipservidor:9323"] | - targets: ["ipservidor:9323"] | ||
+ | |||
+ | |||
| | ||
+ | Lo siguiente seria reiniciar el contendor de prometheus pero si lo hace en este momento la mas probable es que el contenor no suba debido a que el archivo de reglas no esta definido asi que lo siguiente seria crearlo. | ||
+ | |||
+ | En ese msimo direcorio cree un archivo llamado rules-files.yml o el nombre de su preferencia pero recuerde referenciarlo en su archivo prometheus.yml. | ||
+ | |||
+ | Comando. | ||
+ | |||
+ | nano rules-files.yml | ||
+ | |||
+ | Este archivo es para definir algunas reglas y se puede definir en que caso se levantan alertas. | ||
+ | Para esta configuración agregue la siguiente información a este archivo. | ||
+ | |||
+ | groups: | ||
+ | - name: docker-containers | ||
+ | rules: | ||
+ | - alert: ContainerStoppedAlert | ||
+ | expr: engine_daemon_container_states_containers{state="stopped"} > 0 | ||
+ | for: 1m | ||
+ | labels: | ||
+ | severity: critical | ||
+ | annotations: | ||
+ | summary: "Detected stopped containers" | ||
+ | description: "There are one or more containers stopped on the Docker engine." | ||
+ | |||
+ | En resumen esta configuración hace que se levante una alerta cada vez que un contendor se detuvo por almenos 1 minuto. | ||
+ | |||
+ | Lo siguiente seria reinicar el contendor de prmetheus pero existe uan gran probabilidad de que este no suba debido a qaue aún no se ha creado ni configuradoe el aert manager. | ||
+ | |||
+ | == Configuración alert manager == | ||
+ | |||
+ | El alert manager es el encargado de administrar las alertas y hacer el envío de estas a donde se defina para levantar el alert manager. | ||
+ | |||
+ | Antes de levantar el alert manager se recomienda ya tener su archivo de configuación ya construido para eso digamos que voy a utilizar el directorio /opt/monitoring puede ser el de su preferencia. | ||
+ | |||
+ | Lo siguiente seria crear su archivo alertmanager.yml | ||
+ | |||
+ | Como se ha indicado estos archivos son muy configurables pero para este manual por favor ingrese el seguiente contenido al archivo. | ||
+ | |||
+ | global: | ||
+ | resolve_timeout: 3m | ||
+ | route: | ||
+ | group_by: ['alertname'] | ||
+ | group_wait: 30s | ||
+ | group_interval: 5m | ||
+ | repeat_interval: 2m | ||
+ | receiver: 'slack-notifications' | ||
+ | receivers: | ||
+ | - name: 'slack-notifications' | ||
+ | slack_configs: | ||
+ | - api_url: 'https://hooks.slack.com/services/your_chanel' | ||
+ | channel: '#monitoring-portal' | ||
+ | text: 'Se ha caído el portal {{ .CommonLabels.instance }}.' | ||
+ | title: 'Portal Caído' | ||
+ | inhibit_rules: | ||
+ | - source_match: | ||
+ | severity: 'critical' | ||
+ | target_match: | ||
+ | severity: 'warning' | ||
+ | equal: ['alertname', 'dev', 'instance'] | ||
+ | |||
+ | Recuerde que debe generar su propio webhook para que conecte a su canal deseado de slack. | ||
+ | |||
+ | Ya con el archivo definido lo siguiente seria inicar el contendor de slack puede utilizar el siguiente comando. | ||
+ | |||
+ | docker run -d --name alertmanager -v /opt/monitoring/alertmanager.yml:/etc/alertmanager/alertmanager.yml -p 9093:9093 prom/alertmanager | ||
+ | | ||
+ | Ya con este arriba ahora reinicie el contendor de prometheus o levantelo si estaba abajo. | ||
+ | |||
+ | Esta vez el contendor si deberia quedar arriba, si ingresa por el navegador a prometheus y revisa en alert ya debe registrarle un item ya en este momento ya tiene configurado las alertas en caso de que se caiga algun contendor pueda responder a tiempo. | ||
+ | |||
+ | Ya solo tiene que configurar grafana para una monitoria mas comoda de sus contendores o agregar mas reglas para manejar mas factores de riesgo. | ||
+ | |||
+ | === Gracias por su atención prestada === | ||
+ | |||
+ | |||
+ | |||
+ | |||