**Новые возможности:** - Обнаружение сервисов, запущенных в Docker-контейнерах - Поддержка Docker Compose развертываний - Проверка как по имени контейнера, так и по образу **Добавленные функции:** - isDockerContainerRunning() - проверка контейнеров по имени - isDockerImageRunning() - проверка контейнеров по образу - getDockerContainerPorts() - получение портов контейнера - getDockerContainerVersion() - получение версии из контейнера **Обновленные сервисы с Docker поддержкой:** - PostgreSQL: postgres, patroni, bitnami/postgresql - Redis: redis - ClickHouse: clickhouse, clickhouse/clickhouse-server - RabbitMQ: rabbitmq - MongoDB: mongo - Elasticsearch: elasticsearch - Grafana: grafana, grafana/grafana - Prometheus: prometheus, prom/prometheus **Обновленная документация:** - Добавлены способы развертывания (нативные, Docker, Docker Compose) - Обновлены методы обнаружения с Docker проверками - Добавлены примеры использования Docker команд - Добавлен docker в системные зависимости **Поддерживаемые способы развертывания:** - Нативные процессы (systemd, init) - Docker-контейнеры - Docker Compose Теперь коллектор может обнаруживать сервисы независимо от способа их развертывания! Автор: Сергей Антропов Сайт: https://devops.org.ru
591 lines
21 KiB
Markdown
591 lines
21 KiB
Markdown
# Коллектор proxvmservices
|
||
|
||
## Описание
|
||
|
||
Коллектор `proxvmservices` предназначен для обнаружения и мониторинга сервисов на виртуальных машинах и контейнерах Proxmox. Он автоматически определяет запущенные сервисы, их конфигурацию, состояние кластеров и соединения между сервисами.
|
||
|
||
**Поддерживаемые способы развертывания:**
|
||
- Нативные процессы (systemd, init)
|
||
- Docker-контейнеры
|
||
- Docker Compose
|
||
|
||
## Поддерживаемые сервисы
|
||
|
||
### Кластерные сервисы
|
||
- **PostgreSQL** с Patroni - обнаружение кластера, репликации, конфигурации
|
||
- **etcd** - обнаружение кластера, членов, лидера, здоровья
|
||
- **Kubernetes** - обнаружение кластера, версии, портов
|
||
- **ClickHouse** - аналитическая БД с кластерной поддержкой
|
||
- **Redis** - Redis кластер с поддержкой cluster nodes
|
||
- **RabbitMQ** - RabbitMQ кластер с поддержкой cluster_status
|
||
- **Kafka** - Kafka кластер (базовая поддержка)
|
||
- **MongoDB** - MongoDB replica set с поддержкой rs.status()
|
||
- **DragonflyDB** - Redis-совместимая БД с кластерной поддержкой
|
||
- **Elasticsearch** - поисковая система с кластерной поддержкой
|
||
- **Greenplum** - аналитическая БД с кластерной поддержкой
|
||
- **MinIO** - S3-совместимое хранилище с кластерной поддержкой
|
||
- **Redpanda** - Kafka-совместимый брокер с кластерной поддержкой
|
||
- **NATS** - система сообщений с кластерной поддержкой
|
||
- **Zookeeper** - координатор распределенных систем с кластерной поддержкой
|
||
|
||
### Автономные сервисы
|
||
- **BIND9** - DNS сервер
|
||
- **Grafana** - мониторинг и дашборды
|
||
- **Prometheus** - система мониторинга
|
||
- **Loki** - система логирования
|
||
- **Harbor** - реестр контейнеров
|
||
- **Jenkins** - CI/CD сервер
|
||
- **Keycloak** - система управления идентификацией
|
||
- **Neo4j** - графовая база данных
|
||
- **Sentry** - система отслеживания ошибок
|
||
- **Apache Superset** - BI платформа
|
||
- **InfluxDB** - временная база данных
|
||
- **VictoriaMetrics** - система мониторинга
|
||
|
||
## Методы обнаружения
|
||
|
||
### PostgreSQL с Patroni
|
||
1. **Процессы**: проверка `postgres` и `patroni`
|
||
2. **Docker**: проверка контейнеров `postgres`, `patroni`, образов `postgres`, `bitnami/postgresql`
|
||
3. **Порты**: 5432 (PostgreSQL), 8008 (Patroni REST API)
|
||
4. **Версия**: через `psql --version` или `postgres --version`
|
||
5. **Конфигурация**: парсинг файлов `/etc/patroni/patroni.yml`, `/etc/patroni.yml`
|
||
6. **Кластер**: команда `patronictl list` для получения информации о членах кластера
|
||
7. **Репликация**: SQL-запрос `SELECT client_addr, state FROM pg_stat_replication`
|
||
|
||
### etcd
|
||
1. **Процессы**: проверка `etcd`
|
||
2. **Порты**: 2379 (client), 2380 (peer)
|
||
3. **Версия**: через `etcdctl version`
|
||
4. **Конфигурация**: парсинг файлов `/etc/etcd/etcd.conf`, systemd unit
|
||
5. **Кластер**: команды `etcdctl member list`, `etcdctl endpoint status`, `etcdctl endpoint health`
|
||
|
||
### Kubernetes
|
||
1. **Процессы**: проверка `kubelet`, `kube-apiserver`
|
||
2. **Порты**: 6443 (API server), 10250 (kubelet)
|
||
3. **Версия**: через `kubectl version --client --short`
|
||
|
||
### ClickHouse
|
||
1. **Процессы**: проверка `clickhouse-server`
|
||
2. **Docker**: проверка контейнеров `clickhouse`, образов `clickhouse/clickhouse-server`
|
||
3. **Порты**: 8123 (HTTP), 9000 (native)
|
||
4. **Версия**: через `clickhouse-client --version`
|
||
5. **Кластер**: SQL-запрос `SELECT host_name FROM system.clusters`
|
||
|
||
### Redis
|
||
1. **Процессы**: проверка `redis-server`
|
||
2. **Docker**: проверка контейнеров `redis`, образов `redis`
|
||
3. **Порты**: 6379 (client)
|
||
4. **Версия**: через `redis-cli --version`
|
||
5. **Кластер**: команда `redis-cli cluster nodes`
|
||
|
||
### RabbitMQ
|
||
1. **Процессы**: проверка `rabbitmq-server`
|
||
2. **Docker**: проверка контейнеров `rabbitmq`, образов `rabbitmq`
|
||
3. **Порты**: 5672 (AMQP), 15672 (management)
|
||
4. **Версия**: через `rabbitmqctl version`
|
||
5. **Кластер**: команда `rabbitmqctl cluster_status`
|
||
|
||
### Kafka
|
||
1. **Процессы**: проверка `kafka.Kafka`
|
||
2. **Порты**: 9092 (broker)
|
||
3. **Версия**: через конфигурационные файлы
|
||
4. **Кластер**: команда `kafka-topics --bootstrap-server localhost:9092 --list`
|
||
|
||
### MongoDB
|
||
1. **Процессы**: проверка `mongod`
|
||
2. **Docker**: проверка контейнеров `mongo`, образов `mongo`
|
||
3. **Порты**: 27017 (mongod)
|
||
4. **Версия**: через `mongosh --version`
|
||
5. **Кластер**: команда `mongosh --eval "rs.status().members.map(m => m.name)"`
|
||
|
||
### Новые кластерные сервисы
|
||
|
||
#### DragonflyDB
|
||
1. **Процессы**: проверка `dragonfly`
|
||
2. **Порты**: 6379 (client), 6380 (admin)
|
||
3. **Версия**: через `dragonfly --version`
|
||
4. **Кластер**: команда `dragonfly cluster nodes`
|
||
|
||
#### Elasticsearch
|
||
1. **Процессы**: проверка `elasticsearch`, `java.*elasticsearch`
|
||
2. **Docker**: проверка контейнеров `elasticsearch`, образов `elasticsearch`
|
||
3. **Порты**: 9200 (HTTP), 9300 (transport)
|
||
4. **Версия**: через HTTP API `http://localhost:9200`
|
||
5. **Кластер**: HTTP API `/_cluster/state/nodes`
|
||
|
||
#### Greenplum
|
||
1. **Процессы**: проверка `postgres.*greenplum`, `gpdb`
|
||
2. **Порты**: 5432 (PostgreSQL), 28080 (GPAdmin)
|
||
3. **Версия**: через `psql --version`
|
||
4. **Кластер**: команда `gpstate -s`
|
||
|
||
#### MinIO
|
||
1. **Процессы**: проверка `minio`
|
||
2. **Порты**: 9000 (API), 9001 (Console)
|
||
3. **Версия**: через `minio --version`
|
||
4. **Кластер**: команда `mc admin info local`
|
||
|
||
#### Redpanda
|
||
1. **Процессы**: проверка `redpanda`
|
||
2. **Порты**: 9092 (Kafka API), 9644 (Admin API)
|
||
3. **Версия**: через `rpk version`
|
||
4. **Кластер**: команда `rpk cluster info`
|
||
|
||
#### NATS
|
||
1. **Процессы**: проверка `nats-server`
|
||
2. **Порты**: 4222 (client), 8222 (monitoring)
|
||
3. **Версия**: через `nats-server --version`
|
||
4. **Кластер**: команда `nats server list`
|
||
|
||
#### Zookeeper
|
||
1. **Процессы**: проверка `zookeeper`, `java.*zookeeper`
|
||
2. **Порты**: 2181 (client), 2888 (follower), 3888 (election)
|
||
3. **Версия**: через `zkCli version`
|
||
4. **Кластер**: команда `zkCli ls /` (базовая поддержка)
|
||
|
||
### Новые автономные сервисы
|
||
|
||
#### BIND9
|
||
1. **Процессы**: проверка `named`, `bind9`
|
||
2. **Порты**: 53 (DNS), 953 (control)
|
||
3. **Версия**: через `named -v`
|
||
|
||
#### Grafana
|
||
1. **Процессы**: проверка `grafana-server`, `grafana`
|
||
2. **Docker**: проверка контейнеров `grafana`, образов `grafana/grafana`
|
||
3. **Порты**: 3000 (HTTP)
|
||
4. **Версия**: через `grafana-server --version`
|
||
|
||
#### Prometheus
|
||
1. **Процессы**: проверка `prometheus`
|
||
2. **Docker**: проверка контейнеров `prometheus`, образов `prom/prometheus`
|
||
3. **Порты**: 9090 (HTTP)
|
||
4. **Версия**: через `prometheus --version`
|
||
|
||
#### Loki
|
||
1. **Процессы**: проверка `loki`
|
||
2. **Порты**: 3100 (HTTP)
|
||
3. **Версия**: через `loki --version`
|
||
|
||
#### Harbor
|
||
1. **Процессы**: проверка `harbor`, `nginx.*harbor`
|
||
2. **Порты**: 80 (HTTP), 443 (HTTPS), 8080 (API)
|
||
3. **Версия**: через HTTP API `/api/v2.0/systeminfo`
|
||
|
||
#### Jenkins
|
||
1. **Процессы**: проверка `jenkins`, `java.*jenkins`
|
||
2. **Порты**: 8080 (HTTP), 50000 (agent)
|
||
3. **Версия**: через HTTP API `/api/json`
|
||
|
||
#### Keycloak
|
||
1. **Процессы**: проверка `keycloak`, `java.*keycloak`
|
||
2. **Порты**: 8080 (HTTP), 8443 (HTTPS)
|
||
3. **Версия**: через HTTP API `/auth/admin/info` или `/admin/info`
|
||
|
||
#### Neo4j
|
||
1. **Процессы**: проверка `neo4j`, `java.*neo4j`
|
||
2. **Порты**: 7474 (HTTP), 7687 (Bolt)
|
||
3. **Версия**: через HTTP API `/db/data/`
|
||
|
||
#### Sentry
|
||
1. **Процессы**: проверка `sentry`, `python.*sentry`
|
||
2. **Порты**: 9000 (HTTP), 9001 (WebSocket)
|
||
3. **Версия**: через HTTP API `/api/0/`
|
||
|
||
#### Apache Superset
|
||
1. **Процессы**: проверка `superset`, `python.*superset`
|
||
2. **Порты**: 8088 (HTTP)
|
||
3. **Версия**: через HTTP API `/api/v1/version`
|
||
|
||
#### InfluxDB
|
||
1. **Процессы**: проверка `influxd`
|
||
2. **Порты**: 8086 (HTTP)
|
||
3. **Версия**: через `influxd version`
|
||
|
||
#### VictoriaMetrics
|
||
1. **Процессы**: проверка `victoria-metrics`, `vmagent`
|
||
2. **Порты**: 8428 (HTTP), 8429 (HTTPS)
|
||
3. **Версия**: через `victoria-metrics --version`
|
||
|
||
### Остальные сервисы
|
||
- Все остальные сервисы перечислены выше в соответствующих разделах
|
||
|
||
## Структура выходных данных
|
||
|
||
```json
|
||
{
|
||
"collector_name": "proxvmservices",
|
||
"execution_time_ms": 280,
|
||
"execution_time_seconds": 0.280283673,
|
||
"machine_uid": "1581318a2bb03141",
|
||
"services": [
|
||
{
|
||
"name": "postgresql",
|
||
"type": "cluster",
|
||
"status": "running",
|
||
"version": "14.9",
|
||
"ports": [5432, 8008],
|
||
"config": {
|
||
"config_file": "/etc/patroni/patroni.yml",
|
||
"scope": "postgresql_cluster",
|
||
"namespace": "/patroni"
|
||
},
|
||
"cluster": {
|
||
"name": "postgresql_cluster",
|
||
"state": "healthy",
|
||
"role": "leader",
|
||
"members": [
|
||
{
|
||
"name": "postgresql-1",
|
||
"host": "10.14.246.75",
|
||
"port": 5432,
|
||
"state": "running",
|
||
"role": "leader",
|
||
"lag": 0
|
||
}
|
||
],
|
||
"etcd_endpoint": "10.14.246.77:2379",
|
||
"config": {
|
||
"scope": "postgresql_cluster",
|
||
"namespace": "/patroni"
|
||
}
|
||
},
|
||
"cluster_nodes": ["10.14.246.75", "10.14.246.76", "10.14.246.77"],
|
||
"connections": [
|
||
{
|
||
"type": "replication",
|
||
"target": "10.14.246.76",
|
||
"status": "streaming"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
## Поля данных
|
||
|
||
### ServiceInfo
|
||
- `name` - имя сервиса (postgresql, etcd, redis, etc.)
|
||
- `type` - тип сервиса ("standalone" или "cluster")
|
||
- `status` - статус сервиса ("running", "stopped", "unknown")
|
||
- `version` - версия сервиса
|
||
- `ports` - массив портов, на которых слушает сервис
|
||
- `config` - конфигурация сервиса (файлы, параметры)
|
||
- `cluster` - информация о кластере (для кластерных сервисов)
|
||
- `cluster_nodes` - массив IP-адресов всех нод кластера
|
||
- `connections` - информация о соединениях (репликация, etc.)
|
||
|
||
### PatroniClusterInfo (для PostgreSQL)
|
||
- `name` - имя кластера
|
||
- `state` - состояние кластера ("healthy", "degraded")
|
||
- `role` - роль текущего узла ("leader", "replica", "unknown")
|
||
- `members` - массив членов кластера
|
||
- `etcd_endpoint` - endpoint etcd для Patroni
|
||
- `config` - конфигурация Patroni
|
||
|
||
### PatroniMember
|
||
- `name` - имя члена кластера
|
||
- `host` - IP-адрес
|
||
- `port` - порт
|
||
- `state` - состояние ("running", "stopped")
|
||
- `role` - роль ("leader", "replica")
|
||
- `lag` - задержка репликации в байтах
|
||
|
||
### EtcdClusterInfo (для etcd)
|
||
- `name` - имя кластера
|
||
- `version` - версия etcd
|
||
- `members` - массив членов кластера
|
||
- `leader` - ID лидера
|
||
- `health` - здоровье кластера ("healthy", "unhealthy")
|
||
- `cluster_size` - размер кластера
|
||
|
||
### EtcdMember
|
||
- `id` - ID члена
|
||
- `name` - имя члена
|
||
- `peer_urls` - URL для peer-соединений
|
||
- `client_urls` - URL для client-соединений
|
||
- `is_leader` - является ли лидером
|
||
- `status` - статус члена
|
||
|
||
### ConnectionInfo
|
||
- `type` - тип соединения ("replication", etc.)
|
||
- `target` - целевой хост
|
||
- `status` - статус соединения
|
||
|
||
## Конфигурация
|
||
|
||
```yaml
|
||
proxvmservices:
|
||
enabled: true
|
||
type: exec
|
||
key: proxvmservices
|
||
interval: "300s"
|
||
timeout: "60s"
|
||
exec: "./collectors/proxvmservices"
|
||
platforms: [linux]
|
||
```
|
||
|
||
## Требования
|
||
|
||
### Системные зависимости
|
||
- `pgrep` - для проверки процессов
|
||
- `ss` - для проверки портов
|
||
- `curl` - для HTTP API запросов
|
||
- `getent` - для разрешения hostname в IP
|
||
- `docker` - для проверки Docker-контейнеров
|
||
|
||
#### Основные сервисы
|
||
- `psql` или `postgres` - для PostgreSQL
|
||
- `patronictl` - для Patroni
|
||
- `etcdctl` - для etcd
|
||
- `kubectl` - для Kubernetes
|
||
- `redis-cli` - для Redis кластера
|
||
- `clickhouse-client` - для ClickHouse кластера
|
||
- `rabbitmqctl` - для RabbitMQ кластера
|
||
- `kafka-topics` - для Kafka кластера
|
||
- `mongosh` - для MongoDB кластера
|
||
|
||
#### Новые сервисы
|
||
- `dragonfly` - для DragonflyDB
|
||
- `gpstate` - для Greenplum
|
||
- `minio`, `mc` - для MinIO
|
||
- `rpk` - для Redpanda
|
||
- `nats-server`, `nats` - для NATS
|
||
- `zkCli` - для Zookeeper
|
||
- `named` - для BIND9
|
||
- `grafana-server` - для Grafana
|
||
- `prometheus` - для Prometheus
|
||
- `loki` - для Loki
|
||
- `influxd` - для InfluxDB
|
||
- `victoria-metrics` - для VictoriaMetrics
|
||
|
||
### Права доступа
|
||
- Чтение конфигурационных файлов сервисов
|
||
- Выполнение команд управления сервисами
|
||
- Доступ к портам для проверки состояния
|
||
|
||
## Примеры использования
|
||
|
||
### Обнаружение PostgreSQL кластера
|
||
```bash
|
||
# Проверка процессов
|
||
pgrep -f postgres
|
||
pgrep -f patroni
|
||
|
||
# Проверка Docker-контейнеров
|
||
docker ps --filter "name=postgres"
|
||
docker ps --filter "name=patroni"
|
||
docker ps --filter "ancestor=postgres"
|
||
docker ps --filter "ancestor=bitnami/postgresql"
|
||
|
||
# Проверка портов
|
||
ss -tln sport = :5432
|
||
ss -tln sport = :8008
|
||
|
||
# Информация о кластере
|
||
patronictl list
|
||
patronictl show-config
|
||
|
||
# Репликация
|
||
psql -t -c "SELECT client_addr, state FROM pg_stat_replication;"
|
||
```
|
||
|
||
### Обнаружение etcd кластера
|
||
```bash
|
||
# Проверка процессов
|
||
pgrep -f etcd
|
||
|
||
# Проверка портов
|
||
ss -tln sport = :2379
|
||
ss -tln sport = :2380
|
||
|
||
# Информация о кластере
|
||
etcdctl member list
|
||
etcdctl endpoint status --write-out=json
|
||
etcdctl endpoint health
|
||
```
|
||
|
||
### Обнаружение ClickHouse кластера
|
||
```bash
|
||
# Проверка процессов
|
||
pgrep -f clickhouse-server
|
||
|
||
# Проверка портов
|
||
ss -tln sport = :8123
|
||
ss -tln sport = :9000
|
||
|
||
# Информация о кластере
|
||
clickhouse-client --query "SELECT host_name FROM system.clusters"
|
||
clickhouse-client --query "SELECT * FROM system.clusters"
|
||
```
|
||
|
||
### Обнаружение Redis кластера
|
||
```bash
|
||
# Проверка процессов
|
||
pgrep -f redis-server
|
||
|
||
# Проверка Docker-контейнеров
|
||
docker ps --filter "name=redis"
|
||
docker ps --filter "ancestor=redis"
|
||
|
||
# Проверка портов
|
||
ss -tln sport = :6379
|
||
|
||
# Информация о кластере
|
||
redis-cli cluster nodes
|
||
redis-cli cluster info
|
||
```
|
||
|
||
### Обнаружение RabbitMQ кластера
|
||
```bash
|
||
# Проверка процессов
|
||
pgrep -f rabbitmq-server
|
||
|
||
# Проверка портов
|
||
ss -tln sport = :5672
|
||
ss -tln sport = :15672
|
||
|
||
# Информация о кластере
|
||
rabbitmqctl cluster_status
|
||
rabbitmqctl list_nodes
|
||
```
|
||
|
||
### Обнаружение Kafka кластера
|
||
```bash
|
||
# Проверка процессов
|
||
pgrep -f kafka.Kafka
|
||
|
||
# Проверка портов
|
||
ss -tln sport = :9092
|
||
|
||
# Информация о кластере
|
||
kafka-topics --bootstrap-server localhost:9092 --list
|
||
kafka-broker-api-versions --bootstrap-server localhost:9092
|
||
```
|
||
|
||
### Обнаружение MongoDB кластера
|
||
```bash
|
||
# Проверка процессов
|
||
pgrep -f mongod
|
||
|
||
# Проверка портов
|
||
ss -tln sport = :27017
|
||
|
||
# Информация о кластере
|
||
mongosh --eval "rs.status()"
|
||
mongosh --eval "rs.status().members.map(m => m.name)"
|
||
```
|
||
|
||
### Обнаружение Elasticsearch кластера
|
||
```bash
|
||
# Проверка процессов
|
||
pgrep -f elasticsearch
|
||
|
||
# Проверка портов
|
||
ss -tln sport = :9200
|
||
ss -tln sport = :9300
|
||
|
||
# Информация о кластере
|
||
curl -s http://localhost:9200/_cluster/state/nodes
|
||
curl -s http://localhost:9200/_cluster/health
|
||
```
|
||
|
||
### Обнаружение MinIO кластера
|
||
```bash
|
||
# Проверка процессов
|
||
pgrep -f minio
|
||
|
||
# Проверка портов
|
||
ss -tln sport = :9000
|
||
ss -tln sport = :9001
|
||
|
||
# Информация о кластере
|
||
mc admin info local
|
||
mc admin heal local
|
||
```
|
||
|
||
### Обнаружение Grafana
|
||
```bash
|
||
# Проверка процессов
|
||
pgrep -f grafana
|
||
|
||
# Проверка портов
|
||
ss -tln sport = :3000
|
||
|
||
# Версия
|
||
grafana-server --version
|
||
```
|
||
|
||
### Обнаружение Prometheus
|
||
```bash
|
||
# Проверка процессов
|
||
pgrep -f prometheus
|
||
|
||
# Проверка портов
|
||
ss -tln sport = :9090
|
||
|
||
# Версия
|
||
prometheus --version
|
||
```
|
||
|
||
### Обнаружение Zookeeper кластера
|
||
```bash
|
||
# Проверка процессов
|
||
pgrep -f zookeeper
|
||
|
||
# Проверка портов
|
||
ss -tln sport = :2181
|
||
ss -tln sport = :2888
|
||
ss -tln sport = :3888
|
||
|
||
# Информация о кластере
|
||
zkCli ls /
|
||
zkCli version
|
||
```
|
||
|
||
## Ограничения
|
||
|
||
1. **Версии сервисов**: некоторые команды могут не работать на старых версиях
|
||
2. **Конфигурационные файлы**: парсинг ограничен стандартными форматами
|
||
3. **Права доступа**: требует sudo для доступа к некоторым командам
|
||
4. **Сетевые соединения**: не анализирует содержимое трафика
|
||
5. **Кластерное состояние**: может не отражать реальное состояние при проблемах с сетью
|
||
6. **HTTP API**: требует доступности HTTP API для получения версий и информации о кластерах
|
||
7. **Команды управления**: не все команды управления кластерами могут быть установлены
|
||
8. **Fallback поведение**: при недоступности команд управления возвращается localhost
|
||
9. **Производительность**: большое количество сервисов может увеличить время выполнения
|
||
10. **Сетевые зависимости**: некоторые сервисы требуют сетевого доступа для полной диагностики
|
||
|
||
## Результаты тестирования
|
||
|
||
### Proxmox нода (10.14.253.20)
|
||
Обнаружено 8 сервисов:
|
||
- **PostgreSQL** (кластер) - порты 5432, 8008
|
||
- **etcd** (кластер) - порты 2379, 2380
|
||
- **MongoDB** (standalone) - порт 27017
|
||
- **Elasticsearch** (standalone) - порты 9200, 9300
|
||
- **Grafana** (standalone) - порт 3000
|
||
- **Harbor** (standalone) - порты 80, 443, 8080
|
||
- **Keycloak** (standalone) - порты 8080, 8443
|
||
- **Superset** (standalone) - порт 8088
|
||
|
||
### VM (10.14.246.75)
|
||
Обнаружено 2 сервиса:
|
||
- **Kubernetes** (кластер) - порты 6443, 10250
|
||
- **Prometheus** (standalone) - порт 9090
|
||
|
||
### LXC (10.14.246.150)
|
||
Обнаружен 1 сервис:
|
||
- **PostgreSQL 11.17** (кластер) - порты 5432, 8008
|
||
|
||
## Автор
|
||
|
||
**Сергей Антропов**
|
||
Сайт: https://devops.org.ru
|
||
|
||
## Лицензия
|
||
|
||
Проект распространяется под лицензией MIT.
|