feat: добавлена полная поддержка Docker для всех сервисов в коллекторе proxvmservices
**Обновленные сервисы с Docker поддержкой:** **Кластерные сервисы:** - etcd: etcd, etcd - Kubernetes: kubelet, k8s.gcr.io/kubelet - Kafka: kafka, confluentinc/cp-kafka - DragonflyDB: dragonfly, docker.dragonflydb.io/dragonflydb/dragonfly - Greenplum: greenplum, greenplum/greenplum - MinIO: minio, minio/minio - Redpanda: redpanda, redpandadata/redpanda - NATS: nats, nats **Автономные сервисы:** - BIND9: bind9, internetwache/bind9 - Loki: loki, grafana/loki - Harbor: harbor, goharbor/harbor-core - Jenkins: jenkins, jenkins/jenkins - Keycloak: keycloak, quay.io/keycloak/keycloak - Neo4j: neo4j, neo4j/neo4j - Sentry: sentry, sentry - Apache Superset: superset, apache/superset - InfluxDB: influxdb, influxdb - VictoriaMetrics: victoria-metrics, victoriametrics/victoria-metrics **Обновленная документация:** - Добавлены Docker проверки для всех 26 сервисов - Обновлены методы обнаружения с Docker командами - Добавлены примеры использования Docker команд для всех сервисов - Обновлены примеры обнаружения кластеров с Docker поддержкой **Полная поддержка способов развертывания:** - ✅ Нативные процессы (systemd, init) - ✅ Docker-контейнеры - ✅ Docker Compose Теперь коллектор может обнаруживать все 26 сервисов независимо от способа их развертывания! Автор: Сергей Антропов Сайт: https://devops.org.ru
This commit is contained in:
parent
4a36a04d82
commit
67db7765c5
@ -55,15 +55,17 @@
|
||||
|
||||
### 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`
|
||||
2. **Docker**: проверка контейнеров `etcd`, образов `etcd`
|
||||
3. **Порты**: 2379 (client), 2380 (peer)
|
||||
4. **Версия**: через `etcdctl version`
|
||||
5. **Конфигурация**: парсинг файлов `/etc/etcd/etcd.conf`, systemd unit
|
||||
6. **Кластер**: команды `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`
|
||||
2. **Docker**: проверка контейнеров `kubelet`, образов `k8s.gcr.io/kubelet`
|
||||
3. **Порты**: 6443 (API server), 10250 (kubelet)
|
||||
4. **Версия**: через `kubectl version --client --short`
|
||||
|
||||
### ClickHouse
|
||||
1. **Процессы**: проверка `clickhouse-server`
|
||||
@ -88,9 +90,10 @@
|
||||
|
||||
### Kafka
|
||||
1. **Процессы**: проверка `kafka.Kafka`
|
||||
2. **Порты**: 9092 (broker)
|
||||
3. **Версия**: через конфигурационные файлы
|
||||
4. **Кластер**: команда `kafka-topics --bootstrap-server localhost:9092 --list`
|
||||
2. **Docker**: проверка контейнеров `kafka`, образов `confluentinc/cp-kafka`
|
||||
3. **Порты**: 9092 (broker)
|
||||
4. **Версия**: через конфигурационные файлы
|
||||
5. **Кластер**: команда `kafka-topics --bootstrap-server localhost:9092 --list`
|
||||
|
||||
### MongoDB
|
||||
1. **Процессы**: проверка `mongod`
|
||||
@ -103,9 +106,10 @@
|
||||
|
||||
#### DragonflyDB
|
||||
1. **Процессы**: проверка `dragonfly`
|
||||
2. **Порты**: 6379 (client), 6380 (admin)
|
||||
3. **Версия**: через `dragonfly --version`
|
||||
4. **Кластер**: команда `dragonfly cluster nodes`
|
||||
2. **Docker**: проверка контейнеров `dragonfly`, образов `docker.dragonflydb.io/dragonflydb/dragonfly`
|
||||
3. **Порты**: 6379 (client), 6380 (admin)
|
||||
4. **Версия**: через `dragonfly --version`
|
||||
5. **Кластер**: команда `dragonfly cluster nodes`
|
||||
|
||||
#### Elasticsearch
|
||||
1. **Процессы**: проверка `elasticsearch`, `java.*elasticsearch`
|
||||
@ -116,27 +120,31 @@
|
||||
|
||||
#### Greenplum
|
||||
1. **Процессы**: проверка `postgres.*greenplum`, `gpdb`
|
||||
2. **Порты**: 5432 (PostgreSQL), 28080 (GPAdmin)
|
||||
3. **Версия**: через `psql --version`
|
||||
4. **Кластер**: команда `gpstate -s`
|
||||
2. **Docker**: проверка контейнеров `greenplum`, образов `greenplum/greenplum`
|
||||
3. **Порты**: 5432 (PostgreSQL), 28080 (GPAdmin)
|
||||
4. **Версия**: через `psql --version`
|
||||
5. **Кластер**: команда `gpstate -s`
|
||||
|
||||
#### MinIO
|
||||
1. **Процессы**: проверка `minio`
|
||||
2. **Порты**: 9000 (API), 9001 (Console)
|
||||
3. **Версия**: через `minio --version`
|
||||
4. **Кластер**: команда `mc admin info local`
|
||||
2. **Docker**: проверка контейнеров `minio`, образов `minio/minio`
|
||||
3. **Порты**: 9000 (API), 9001 (Console)
|
||||
4. **Версия**: через `minio --version`
|
||||
5. **Кластер**: команда `mc admin info local`
|
||||
|
||||
#### Redpanda
|
||||
1. **Процессы**: проверка `redpanda`
|
||||
2. **Порты**: 9092 (Kafka API), 9644 (Admin API)
|
||||
3. **Версия**: через `rpk version`
|
||||
4. **Кластер**: команда `rpk cluster info`
|
||||
2. **Docker**: проверка контейнеров `redpanda`, образов `redpandadata/redpanda`
|
||||
3. **Порты**: 9092 (Kafka API), 9644 (Admin API)
|
||||
4. **Версия**: через `rpk version`
|
||||
5. **Кластер**: команда `rpk cluster info`
|
||||
|
||||
#### NATS
|
||||
1. **Процессы**: проверка `nats-server`
|
||||
2. **Порты**: 4222 (client), 8222 (monitoring)
|
||||
3. **Версия**: через `nats-server --version`
|
||||
4. **Кластер**: команда `nats server list`
|
||||
2. **Docker**: проверка контейнеров `nats`, образов `nats`
|
||||
3. **Порты**: 4222 (client), 8222 (monitoring)
|
||||
4. **Версия**: через `nats-server --version`
|
||||
5. **Кластер**: команда `nats server list`
|
||||
|
||||
#### Zookeeper
|
||||
1. **Процессы**: проверка `zookeeper`, `java.*zookeeper`
|
||||
@ -148,8 +156,9 @@
|
||||
|
||||
#### BIND9
|
||||
1. **Процессы**: проверка `named`, `bind9`
|
||||
2. **Порты**: 53 (DNS), 953 (control)
|
||||
3. **Версия**: через `named -v`
|
||||
2. **Docker**: проверка контейнеров `bind9`, образов `internetwache/bind9`
|
||||
3. **Порты**: 53 (DNS), 953 (control)
|
||||
4. **Версия**: через `named -v`
|
||||
|
||||
#### Grafana
|
||||
1. **Процессы**: проверка `grafana-server`, `grafana`
|
||||
@ -165,48 +174,57 @@
|
||||
|
||||
#### Loki
|
||||
1. **Процессы**: проверка `loki`
|
||||
2. **Порты**: 3100 (HTTP)
|
||||
3. **Версия**: через `loki --version`
|
||||
2. **Docker**: проверка контейнеров `loki`, образов `grafana/loki`
|
||||
3. **Порты**: 3100 (HTTP)
|
||||
4. **Версия**: через `loki --version`
|
||||
|
||||
#### Harbor
|
||||
1. **Процессы**: проверка `harbor`, `nginx.*harbor`
|
||||
2. **Порты**: 80 (HTTP), 443 (HTTPS), 8080 (API)
|
||||
3. **Версия**: через HTTP API `/api/v2.0/systeminfo`
|
||||
2. **Docker**: проверка контейнеров `harbor`, образов `goharbor/harbor-core`
|
||||
3. **Порты**: 80 (HTTP), 443 (HTTPS), 8080 (API)
|
||||
4. **Версия**: через HTTP API `/api/v2.0/systeminfo`
|
||||
|
||||
#### Jenkins
|
||||
1. **Процессы**: проверка `jenkins`, `java.*jenkins`
|
||||
2. **Порты**: 8080 (HTTP), 50000 (agent)
|
||||
3. **Версия**: через HTTP API `/api/json`
|
||||
2. **Docker**: проверка контейнеров `jenkins`, образов `jenkins/jenkins`
|
||||
3. **Порты**: 8080 (HTTP), 50000 (agent)
|
||||
4. **Версия**: через HTTP API `/api/json`
|
||||
|
||||
#### Keycloak
|
||||
1. **Процессы**: проверка `keycloak`, `java.*keycloak`
|
||||
2. **Порты**: 8080 (HTTP), 8443 (HTTPS)
|
||||
3. **Версия**: через HTTP API `/auth/admin/info` или `/admin/info`
|
||||
2. **Docker**: проверка контейнеров `keycloak`, образов `quay.io/keycloak/keycloak`
|
||||
3. **Порты**: 8080 (HTTP), 8443 (HTTPS)
|
||||
4. **Версия**: через HTTP API `/auth/admin/info` или `/admin/info`
|
||||
|
||||
#### Neo4j
|
||||
1. **Процессы**: проверка `neo4j`, `java.*neo4j`
|
||||
2. **Порты**: 7474 (HTTP), 7687 (Bolt)
|
||||
3. **Версия**: через HTTP API `/db/data/`
|
||||
2. **Docker**: проверка контейнеров `neo4j`, образов `neo4j/neo4j`
|
||||
3. **Порты**: 7474 (HTTP), 7687 (Bolt)
|
||||
4. **Версия**: через HTTP API `/db/data/`
|
||||
|
||||
#### Sentry
|
||||
1. **Процессы**: проверка `sentry`, `python.*sentry`
|
||||
2. **Порты**: 9000 (HTTP), 9001 (WebSocket)
|
||||
3. **Версия**: через HTTP API `/api/0/`
|
||||
2. **Docker**: проверка контейнеров `sentry`, образов `sentry`
|
||||
3. **Порты**: 9000 (HTTP), 9001 (WebSocket)
|
||||
4. **Версия**: через HTTP API `/api/0/`
|
||||
|
||||
#### Apache Superset
|
||||
1. **Процессы**: проверка `superset`, `python.*superset`
|
||||
2. **Порты**: 8088 (HTTP)
|
||||
3. **Версия**: через HTTP API `/api/v1/version`
|
||||
2. **Docker**: проверка контейнеров `superset`, образов `apache/superset`
|
||||
3. **Порты**: 8088 (HTTP)
|
||||
4. **Версия**: через HTTP API `/api/v1/version`
|
||||
|
||||
#### InfluxDB
|
||||
1. **Процессы**: проверка `influxd`
|
||||
2. **Порты**: 8086 (HTTP)
|
||||
3. **Версия**: через `influxd version`
|
||||
2. **Docker**: проверка контейнеров `influxdb`, образов `influxdb`
|
||||
3. **Порты**: 8086 (HTTP)
|
||||
4. **Версия**: через `influxd version`
|
||||
|
||||
#### VictoriaMetrics
|
||||
1. **Процессы**: проверка `victoria-metrics`, `vmagent`
|
||||
2. **Порты**: 8428 (HTTP), 8429 (HTTPS)
|
||||
3. **Версия**: через `victoria-metrics --version`
|
||||
2. **Docker**: проверка контейнеров `victoria-metrics`, образов `victoriametrics/victoria-metrics`
|
||||
3. **Порты**: 8428 (HTTP), 8429 (HTTPS)
|
||||
4. **Версия**: через `victoria-metrics --version`
|
||||
|
||||
### Остальные сервисы
|
||||
- Все остальные сервисы перечислены выше в соответствующих разделах
|
||||
@ -397,6 +415,10 @@ psql -t -c "SELECT client_addr, state FROM pg_stat_replication;"
|
||||
# Проверка процессов
|
||||
pgrep -f etcd
|
||||
|
||||
# Проверка Docker-контейнеров
|
||||
docker ps --filter "name=etcd"
|
||||
docker ps --filter "ancestor=etcd"
|
||||
|
||||
# Проверка портов
|
||||
ss -tln sport = :2379
|
||||
ss -tln sport = :2380
|
||||
@ -412,6 +434,10 @@ etcdctl endpoint health
|
||||
# Проверка процессов
|
||||
pgrep -f clickhouse-server
|
||||
|
||||
# Проверка Docker-контейнеров
|
||||
docker ps --filter "name=clickhouse"
|
||||
docker ps --filter "ancestor=clickhouse/clickhouse-server"
|
||||
|
||||
# Проверка портов
|
||||
ss -tln sport = :8123
|
||||
ss -tln sport = :9000
|
||||
@ -443,6 +469,10 @@ redis-cli cluster info
|
||||
# Проверка процессов
|
||||
pgrep -f rabbitmq-server
|
||||
|
||||
# Проверка Docker-контейнеров
|
||||
docker ps --filter "name=rabbitmq"
|
||||
docker ps --filter "ancestor=rabbitmq"
|
||||
|
||||
# Проверка портов
|
||||
ss -tln sport = :5672
|
||||
ss -tln sport = :15672
|
||||
@ -457,6 +487,10 @@ rabbitmqctl list_nodes
|
||||
# Проверка процессов
|
||||
pgrep -f kafka.Kafka
|
||||
|
||||
# Проверка Docker-контейнеров
|
||||
docker ps --filter "name=kafka"
|
||||
docker ps --filter "ancestor=confluentinc/cp-kafka"
|
||||
|
||||
# Проверка портов
|
||||
ss -tln sport = :9092
|
||||
|
||||
@ -470,6 +504,10 @@ kafka-broker-api-versions --bootstrap-server localhost:9092
|
||||
# Проверка процессов
|
||||
pgrep -f mongod
|
||||
|
||||
# Проверка Docker-контейнеров
|
||||
docker ps --filter "name=mongo"
|
||||
docker ps --filter "ancestor=mongo"
|
||||
|
||||
# Проверка портов
|
||||
ss -tln sport = :27017
|
||||
|
||||
|
@ -934,8 +934,9 @@ func getMongoDBClusterNodes() []string {
|
||||
|
||||
// detectEtcd обнаруживает etcd
|
||||
func detectEtcd() *ServiceInfo {
|
||||
// Проверяем процессы
|
||||
if !isProcessRunning("etcd") {
|
||||
// Проверяем процессы и Docker-контейнеры
|
||||
if !isProcessRunning("etcd") &&
|
||||
!isDockerContainerRunning("etcd") && !isDockerImageRunning("etcd") {
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -1220,7 +1221,9 @@ func detectRabbitMQ() *ServiceInfo {
|
||||
}
|
||||
|
||||
func detectKafka() *ServiceInfo {
|
||||
if !isProcessRunning("kafka.Kafka") {
|
||||
// Проверяем процессы и Docker-контейнеры
|
||||
if !isProcessRunning("kafka.Kafka") &&
|
||||
!isDockerContainerRunning("kafka") && !isDockerImageRunning("confluentinc/cp-kafka") {
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -1283,7 +1286,9 @@ func detectMongoDB() *ServiceInfo {
|
||||
}
|
||||
|
||||
func detectKubernetes() *ServiceInfo {
|
||||
if !isProcessRunning("kubelet") && !isProcessRunning("kube-apiserver") {
|
||||
// Проверяем процессы и Docker-контейнеры
|
||||
if !isProcessRunning("kubelet") && !isProcessRunning("kube-apiserver") &&
|
||||
!isDockerContainerRunning("kubelet") && !isDockerImageRunning("k8s.gcr.io/kubelet") {
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -1315,7 +1320,9 @@ func detectKubernetes() *ServiceInfo {
|
||||
|
||||
// detectBind9 обнаруживает BIND9 DNS сервер
|
||||
func detectBind9() *ServiceInfo {
|
||||
if !isProcessRunning("named") && !isProcessRunning("bind9") {
|
||||
// Проверяем процессы и Docker-контейнеры
|
||||
if !isProcessRunning("named") && !isProcessRunning("bind9") &&
|
||||
!isDockerContainerRunning("bind9") && !isDockerImageRunning("internetwache/bind9") {
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -1344,7 +1351,9 @@ func detectBind9() *ServiceInfo {
|
||||
|
||||
// detectDragonflyDB обнаруживает DragonflyDB
|
||||
func detectDragonflyDB() *ServiceInfo {
|
||||
if !isProcessRunning("dragonfly") {
|
||||
// Проверяем процессы и Docker-контейнеры
|
||||
if !isProcessRunning("dragonfly") &&
|
||||
!isDockerContainerRunning("dragonfly") && !isDockerImageRunning("docker.dragonflydb.io/dragonflydb/dragonfly") {
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -1481,7 +1490,9 @@ func detectPrometheus() *ServiceInfo {
|
||||
|
||||
// detectLoki обнаруживает Loki
|
||||
func detectLoki() *ServiceInfo {
|
||||
if !isProcessRunning("loki") {
|
||||
// Проверяем процессы и Docker-контейнеры
|
||||
if !isProcessRunning("loki") &&
|
||||
!isDockerContainerRunning("loki") && !isDockerImageRunning("grafana/loki") {
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -1510,7 +1521,9 @@ func detectLoki() *ServiceInfo {
|
||||
|
||||
// detectGreenplum обнаруживает Greenplum
|
||||
func detectGreenplum() *ServiceInfo {
|
||||
if !isProcessRunning("postgres.*greenplum") && !isProcessRunning("gpdb") {
|
||||
// Проверяем процессы и Docker-контейнеры
|
||||
if !isProcessRunning("postgres.*greenplum") && !isProcessRunning("gpdb") &&
|
||||
!isDockerContainerRunning("greenplum") && !isDockerImageRunning("greenplum/greenplum") {
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -1546,7 +1559,9 @@ func detectGreenplum() *ServiceInfo {
|
||||
|
||||
// detectHarbor обнаруживает Harbor
|
||||
func detectHarbor() *ServiceInfo {
|
||||
if !isProcessRunning("harbor") && !isProcessRunning("nginx.*harbor") {
|
||||
// Проверяем процессы и Docker-контейнеры
|
||||
if !isProcessRunning("harbor") && !isProcessRunning("nginx.*harbor") &&
|
||||
!isDockerContainerRunning("harbor") && !isDockerImageRunning("goharbor/harbor-core") {
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -1576,7 +1591,9 @@ func detectHarbor() *ServiceInfo {
|
||||
|
||||
// detectJenkins обнаруживает Jenkins
|
||||
func detectJenkins() *ServiceInfo {
|
||||
if !isProcessRunning("jenkins") && !isProcessRunning("java.*jenkins") {
|
||||
// Проверяем процессы и Docker-контейнеры
|
||||
if !isProcessRunning("jenkins") && !isProcessRunning("java.*jenkins") &&
|
||||
!isDockerContainerRunning("jenkins") && !isDockerImageRunning("jenkins/jenkins") {
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -1606,7 +1623,9 @@ func detectJenkins() *ServiceInfo {
|
||||
|
||||
// detectKeycloak обнаруживает Keycloak
|
||||
func detectKeycloak() *ServiceInfo {
|
||||
if !isProcessRunning("keycloak") && !isProcessRunning("java.*keycloak") {
|
||||
// Проверяем процессы и Docker-контейнеры
|
||||
if !isProcessRunning("keycloak") && !isProcessRunning("java.*keycloak") &&
|
||||
!isDockerContainerRunning("keycloak") && !isDockerImageRunning("quay.io/keycloak/keycloak") {
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -1640,7 +1659,9 @@ func detectKeycloak() *ServiceInfo {
|
||||
|
||||
// detectMinio обнаруживает MinIO
|
||||
func detectMinio() *ServiceInfo {
|
||||
if !isProcessRunning("minio") {
|
||||
// Проверяем процессы и Docker-контейнеры
|
||||
if !isProcessRunning("minio") &&
|
||||
!isDockerContainerRunning("minio") && !isDockerImageRunning("minio/minio") {
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -1676,7 +1697,9 @@ func detectMinio() *ServiceInfo {
|
||||
|
||||
// detectNeo4j обнаруживает Neo4j
|
||||
func detectNeo4j() *ServiceInfo {
|
||||
if !isProcessRunning("neo4j") && !isProcessRunning("java.*neo4j") {
|
||||
// Проверяем процессы и Docker-контейнеры
|
||||
if !isProcessRunning("neo4j") && !isProcessRunning("java.*neo4j") &&
|
||||
!isDockerContainerRunning("neo4j") && !isDockerImageRunning("neo4j/neo4j") {
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -1706,7 +1729,9 @@ func detectNeo4j() *ServiceInfo {
|
||||
|
||||
// detectRedpanda обнаруживает Redpanda
|
||||
func detectRedpanda() *ServiceInfo {
|
||||
if !isProcessRunning("redpanda") {
|
||||
// Проверяем процессы и Docker-контейнеры
|
||||
if !isProcessRunning("redpanda") &&
|
||||
!isDockerContainerRunning("redpanda") && !isDockerImageRunning("redpandadata/redpanda") {
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -1742,7 +1767,9 @@ func detectRedpanda() *ServiceInfo {
|
||||
|
||||
// detectSentry обнаруживает Sentry
|
||||
func detectSentry() *ServiceInfo {
|
||||
if !isProcessRunning("sentry") && !isProcessRunning("python.*sentry") {
|
||||
// Проверяем процессы и Docker-контейнеры
|
||||
if !isProcessRunning("sentry") && !isProcessRunning("python.*sentry") &&
|
||||
!isDockerContainerRunning("sentry") && !isDockerImageRunning("sentry") {
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -1772,7 +1799,9 @@ func detectSentry() *ServiceInfo {
|
||||
|
||||
// detectSuperset обнаруживает Apache Superset
|
||||
func detectSuperset() *ServiceInfo {
|
||||
if !isProcessRunning("superset") && !isProcessRunning("python.*superset") {
|
||||
// Проверяем процессы и Docker-контейнеры
|
||||
if !isProcessRunning("superset") && !isProcessRunning("python.*superset") &&
|
||||
!isDockerContainerRunning("superset") && !isDockerImageRunning("apache/superset") {
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -1802,7 +1831,9 @@ func detectSuperset() *ServiceInfo {
|
||||
|
||||
// detectNats обнаруживает NATS
|
||||
func detectNats() *ServiceInfo {
|
||||
if !isProcessRunning("nats-server") {
|
||||
// Проверяем процессы и Docker-контейнеры
|
||||
if !isProcessRunning("nats-server") &&
|
||||
!isDockerContainerRunning("nats") && !isDockerImageRunning("nats") {
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -1838,7 +1869,9 @@ func detectNats() *ServiceInfo {
|
||||
|
||||
// detectInfluxDB обнаруживает InfluxDB
|
||||
func detectInfluxDB() *ServiceInfo {
|
||||
if !isProcessRunning("influxd") {
|
||||
// Проверяем процессы и Docker-контейнеры
|
||||
if !isProcessRunning("influxd") &&
|
||||
!isDockerContainerRunning("influxdb") && !isDockerImageRunning("influxdb") {
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -1867,7 +1900,9 @@ func detectInfluxDB() *ServiceInfo {
|
||||
|
||||
// detectVictoriaMetrics обнаруживает VictoriaMetrics
|
||||
func detectVictoriaMetrics() *ServiceInfo {
|
||||
if !isProcessRunning("victoria-metrics") && !isProcessRunning("vmagent") {
|
||||
// Проверяем процессы и Docker-контейнеры
|
||||
if !isProcessRunning("victoria-metrics") && !isProcessRunning("vmagent") &&
|
||||
!isDockerContainerRunning("victoria-metrics") && !isDockerImageRunning("victoriametrics/victoria-metrics") {
|
||||
return nil
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user