21 Commits

Author SHA1 Message Date
7fbbb6d0f7 feat: добавлено обнаружение 18 новых сервисов в коллектор proxvmservices
Добавлены следующие сервисы с поддержкой кластеров:

**Standalone сервисы:**
- BIND9 DNS сервер (порты: 53, 953)
- Grafana (порт: 3000)
- Prometheus (порт: 9090)
- Loki (порт: 3100)
- Harbor (порты: 80, 443, 8080)
- Jenkins (порты: 8080, 50000)
- Keycloak (порты: 8080, 8443)
- Neo4j (порты: 7474, 7687)
- Sentry (порты: 9000, 9001)
- Apache Superset (порт: 8088)
- InfluxDB (порт: 8086)
- VictoriaMetrics (порты: 8428, 8429)

**Кластерные сервисы:**
- DragonflyDB (порты: 6379, 6380) - через dragonfly cluster nodes
- Elasticsearch (порты: 9200, 9300) - через HTTP API /_cluster/state/nodes
- Greenplum (порты: 5432, 28080) - через gpstate -s
- MinIO (порты: 9000, 9001) - через mc admin info
- Redpanda (порты: 9092, 9644) - через rpk cluster info
- NATS (порты: 4222, 8222) - через nats server list

**Особенности реализации:**
- Все сервисы определяют тип (standalone/cluster) автоматически
- Кластерные сервисы извлекают IP всех нод кластера
- Поддержка получения версий через CLI и HTTP API
- Fallback на localhost для standalone сервисов
- Обработка ошибок при недоступности команд управления кластерами

**Результаты тестирования:**
- Proxmox нода: обнаружено 8 сервисов (PostgreSQL, etcd, MongoDB, Elasticsearch, Grafana, Harbor, Keycloak, Superset)
- VM: обнаружено 2 сервиса (Kubernetes, Prometheus)
- LXC: обнаружен 1 сервис (PostgreSQL 11.17)

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-09-15 17:28:07 +03:00
ceab977da1 feat: улучшен коллектор proxvmservices - добавлено обнаружение нод кластеров
- Добавлено поле cluster_nodes в структуру ServiceInfo для вывода IP всех нод кластера
- Реализовано извлечение нод для PostgreSQL с Patroni через patronictl list
- Реализовано извлечение нод для etcd кластера через etcdctl member list
- Реализовано извлечение нод для Kubernetes кластера через kubectl get nodes
- Реализовано извлечение нод для Redis кластера через redis-cli cluster nodes
- Реализовано извлечение нод для ClickHouse кластера через system.clusters
- Реализовано извлечение нод для RabbitMQ кластера через rabbitmqctl cluster_status
- Реализовано извлечение нод для Kafka кластера (базовая реализация)
- Реализовано извлечение нод для MongoDB кластера через rs.status()
- Добавлены вспомогательные функции: extractIPFromURL, isValidIP, resolveHostname
- Исправлена паника в extractClusterNodes при работе с nil указателями
- Протестировано на удаленных серверах

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-09-15 17:19:54 +03:00
5fa101dfff feat: добавлен коллектор proxvmservices для обнаружения сервисов на VM
- Создан новый коллектор proxvmservices для обнаружения и мониторинга сервисов
- Поддержка PostgreSQL с Patroni (кластер, репликация, конфигурация)
- Поддержка etcd кластера (члены, лидер, здоровье)
- Поддержка остальных сервисов: Redis, ClickHouse, RabbitMQ, Kafka, MongoDB, Kubernetes
- Добавлен в Makefile и конфигурацию агента
- Обновлены групповые переменные Ansible для включения в группу proxvms
- Исправлены проблемы с шаблонами Ansible (конфигурация и systemd unit)
- Создана подробная документация
- Протестирован на удаленных серверах через Ansible

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-09-15 17:04:47 +03:00
7d970eada7 feat: добавлен коллектор proxvmsystem и обновлена документация
- Добавлен новый коллектор proxvmsystem, объединяющий функциональность system и gpu коллекторов
- Добавлен machine_uid для идентификации VM/контейнеров в Proxmox инфраструктуре
- Обновлена документация по коллекторам и проекту
- Добавлены новые хосты в inventory для тестирования
- Обновлен Makefile для сборки нового коллектора
- Обновлен config.yaml с конфигурацией proxvmsystem коллектора

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-09-15 14:13:22 +03:00
b23d724bea feat: реализована новая логика получения machine_uid для QEMU и LXC
- Для QEMU VM: получение UUID из конфигурации (uuid, smbios1 uuid) с fallback на machine_id
- Для LXC контейнеров: получение machine-id через pct exec (запущенные) или чтение из rootfs (остановленные)
- Добавлены функции getLXCMachineIDViaExec и getLXCMachineIDFromRootfs
- Улучшена логика fallback для случаев когда UUID недоступен
- Все machine_uid генерируются как SHA256[:16] для консистентности
- Протестировано на реальных VM и контейнерах
2025-09-15 13:28:01 +03:00
96b841d6c8 feat: улучшен парсинг конфигурации в коллекторе proxvms
- Добавлен парсинг nameserver в формат dns1: ip1, dns2: ip2
- Добавлен парсинг searchdomain в структурированный формат
- Добавлен парсинг features в структурированный формат
- Переименовано description_parsed в description
- Переименовано pool_disk_size в pool_disk_size_gb
- Добавлена конвертация единиц измерения: T в GB, M в GB
- Улучшена логика удаления оригинальных полей после успешного парсинга
2025-09-15 13:09:21 +03:00
15e6260ac3 feat: добавлен коллектор proxvms и обновлена документация
- Добавлен новый коллектор proxvms для сбора информации о виртуальных машинах и контейнерах Proxmox
- Реализован парсинг конфигураций VM/контейнеров с структурированием данных
- Добавлена поддержка парсинга сетевых интерфейсов, IP конфигураций, SCSI/IDE устройств
- Реализован парсинг JSON из поля description с переводом русских ключей на английский
- Добавлена генерация уникальных идентификаторов (cluster_uid, node_uid, machine_uid)
- Обновлена документация для всех коллекторов:
  - proxcluster (существующая)
  - gpu (существующая)
  - proxnode (новая)
  - proxvms (новая)
  - system (новая)
  - docker (новая)
  - hba (новая)
  - sensors (новая)
  - kubernetes (новая)
  - macos (новая)
  - uptime (новая)
- Обновлен основной файл docs/collectors.md с полным списком коллекторов
- Добавлена поддержка платформ для каждого коллектора
- Включены примеры использования и устранение неполадок

Автор: Сергей Антропов, сайт: https://devops.org.ru
2025-09-15 12:47:44 +03:00
8b8f26909c feat: улучшения proxcluster коллектора и системы логирования
- Переписан proxcluster коллектор с асинхронным получением данных
- Добавлена информация о loadavg для каждой ноды
- Добавлена суммарная статистика кластера (CPU, память, VM, контейнеры)
- Добавлено время выполнения во все коллекторы Go (execution_time_ms/seconds)
- Улучшено логирование агента:
  * Логи запуска/завершения коллекторов
  * Информация о коллекторах в Kafka/stdout логах
- Добавлен новый коллектор proxnode
- Обновлен Makefile для сборки proxcluster коллектора
- Исправлены типы данных в main.go файлах коллекторов
2025-09-12 00:11:32 +03:00
c3a81d963f Исправлены критические ошибки приведения типов в коллекторе proxcluster
- Исправлена ошибка 'interface conversion: interface {} is int, not float64'
- Добавлено безопасное приведение типов для всех операций с interface{}
- Исправлены проблемы в функциях getAlternativeResources, getAlternativeHardware, getVMSummary, calculateClusterResources
- Добавлена поддержка как int, так и float64 типов из JSON
- Улучшена стабильность работы коллектора

Автор: Сергей Антропов, сайт: https://devops.org.ru
2025-09-11 19:00:15 +03:00
17f5a04c9e Исправлен парсинг данных в коллекторе proxcluster
- Исправлен парсинг /etc/pve/.members - теперь правильно обрабатывает JSON структуру
- Улучшен парсинг corosync.conf для извлечения имен нод
- Исправлено определение онлайн статуса нод (поддержка разных форматов статуса)
- Добавлена отладочная информация для диагностики проблем
- Исправлена проблема с неправильными именами нод в выводе

Автор: Сергей Антропов, сайт: https://devops.org.ru
2025-09-11 18:54:49 +03:00
bb966dcea2 Исправлен коллектор proxcluster: улучшено получение данных о CPU/RAM и ресурсах нод
- Добавлена проверка онлайн статуса нод через pvesh get /nodes
- Реализованы альтернативные методы получения данных о ресурсах через /nodes/{node}/rrddata и /nodes/{node}/capabilities
- Улучшено получение информации о VM и контейнерах с детальными ресурсами
- Добавлены fallback методы для получения данных о железе через /nodes/{node}/hardware
- Исправлена проблема с нулевыми значениями CPU/RAM

Автор: Сергей Антропов, сайт: https://devops.org.ru
2025-09-11 18:49:43 +03:00
621d3f0a43 feat: добавлена информация о VM в коллектор GPU
- Добавлен сбор информации о виртуальных машинах и контейнерах Proxmox
- Генерация уникального vm_id на основе cluster_uuid + vmid (16 символов SHA256)
- Убрана информация о VM из коллектора proxcluster
- Обновлена документация по коллектору GPU
- Исправлен возврат пустого массива вместо null для vms

Автор: Сергей Антропов, сайт: https://devops.org.ru
2025-09-11 16:14:42 +03:00
5bfb6fea8b feat: добавлена поддержка SSL для Kafka
- Добавлены SSL поля в KafkaConfig структуру
- Реализована SSL поддержка в KafkaOutput с TLS транспортом
- Добавлена поддержка переменных окружения для SSL настроек
- Обновлен config.yaml с SSL конфигурацией
- Создан env.example с SSL переменными
- Добавлена документация по SSL в docs/kafka_ssl.md
- Обновлен README.md с ссылкой на SSL документацию

Поддерживаемые SSL параметры:
- ssl_enabled, ssl_keystore_location, ssl_keystore_password
- ssl_key_password, ssl_truststore_location, ssl_truststore_password
- ssl_client_auth, ssl_endpoint_identification_algorithm

Автор: Сергей Антропов, сайт: https://devops.org.ru
2025-09-10 11:37:04 +03:00
51fdd67831 feat(kafka-logs): логируем статус подключения при старте и успешные отправки сообщений 2025-09-08 18:37:36 +03:00
838dc4fc00 feat(kafka): авто-создание топика в writer; Makefile targets kafka-once/kafka-consume; config points to 10.99.0.90 2025-09-08 18:25:08 +03:00
be7e3c3420 feat(kubernetes): расширены метрики — узлы (capacity/allocatable + usage), поды (usage, requests/limits, IPs), PV type, kubelet storage usage 2025-09-08 18:07:45 +03:00
fbee229d5d feat(kubernetes): новый коллектор K8s (узлы, поды, ingress, svc LB, NS, PV/PVC, секреты, деплойменты/DS/SS, cronjobs); добавлен в Makefile и config 2025-09-08 17:51:35 +03:00
10b79a14bb feat(gpu): новый коллектор GPU для Linux (nvidia-smi/rocm-smi); добавлен в сборку и config 2025-09-08 17:41:45 +03:00
2e87580e84 feat(docker): снижена информативность и добавлено ~20% подробностей (IO, PIDs, scope, total image size); обновлены коллекторы Linux/macOS 2025-09-08 17:29:03 +03:00
576caf1fba chore: commit all pending changes (configs, code, runner) [author: Сергей Антропов https://devops.org.ru] 2025-09-08 15:32:30 +03:00
ad409950b8 Initial commit: SensusAgent core, collectors, build, docs 2025-09-08 10:47:41 +03:00