# Эксплуатация

## Мониторинг

`make up` подключает мониторинг:

- Prometheus на `:9090`;
- Grafana на `:3000`;
- node-exporter;
- php-fpm-exporter для `php82` и `php84`.

Дашборды Grafana лежат в `monitoring/grafana/provisioning/dashboards`, datasource Prometheus - в `monitoring/grafana/provisioning/datasources/prometheus.yaml`.

## Cron-задачи

В `scripts` есть два основных cron-скрипта:

- `cron.hourly.sh` - обновление врачей;
- `cron.oncyday.sh` - обновление цен и отзывов.

Установка cron:

```bash
make cron-setup
```

Перед запуском проверьте `ROOT_DIR` в корневом `.env`: Makefile использует этот путь при записи задач в crontab.

## Сертификаты

Получение сертификатов:

```bash
scripts/certbot.sh
```

Исправление прав:

```bash
make fix-certs
```

После изменения сертификатов перезапустите nginx:

```bash
docker restart nginx
```

## Jenkins

Jenkins описан в `environments/docker-compose.jenkins.yml` и использует pipelines из `jenkins/pipelines`.

Запуск вручную:

```bash
docker compose --env-file .env \
  -f environments/docker-compose.networks.yml \
  -f environments/docker-compose.jenkins.yml \
  up -d
```

Порты:

- `8080` - UI;
- `50000` - agent port.

## Диагностика

Проверка контейнеров:

```bash
docker ps
```

Логи nginx и PHP:

```bash
docker logs nginx --tail=100
docker logs php84 --tail=100
docker logs php82 --tail=100
```

Проверка PHP-FPM конфигурации:

```bash
docker exec -it php84 php-fpm --test
docker exec -it php82 php-fpm --test
```
