Konradodocs
PołączeniaIntegracjeIntegracje serweroweWirtualizacja

Proxmox

Konrado sprawdza maszynę wirtualną lub kontener, których dotyczy zgłoszenie, przez API Proxmox VE albo wtyczkę Konrado.

Proxmox
Wirtualizacja
Maszyna wirtualna lub kontener, których dotyczy każde zgłoszenie

Po podłączeniu Proxmox Konrado sprawdza maszynę wirtualną (VM) lub kontener, których dotyczy zgłoszenie. W Proxmox oba nazywa się gośćmi. Konrado widzi stan gościa, jego zasoby, ostatnie użycie, snapshoty i kopie zapasowe. Konrado tylko czyta. Nic w Twoim klastrze się nie zmienia.

Możesz podłączyć Proxmox na jeden z dwóch sposobów. Z opcją API Konrado czyta Proxmox VE przez token API tylko do odczytu i nic nie trzeba instalować. Z opcją Wtyczka Konrado uruchamiasz jedno polecenie jako root na węźle. API to obecny sposób. Wtyczka to starsza metoda: działa dalej tam, gdzie jest zainstalowana, ale nowy węzeł powinien korzystać z API. Wybierz zakładkę poniżej. Każda sekcja pokaże wtedy wybrany sposób.

API
Nic do instalowania
Token API Proxmox tylko do odczytu.
Wtyczka Konrado
Starsza metoda
Jedno polecenie jako root na węźle.
Dostęp
Tylko odczyt
Konrado nigdy nie uruchamia, nie zatrzymuje i nie zmienia gościa.
Agenci dostają
Sprawdzanie konta
Dla VM z każdego zgłoszenia.

Co czyta Konrado

Konrado znajduje gościa na podstawie usługi klienta w Twoim systemie rozliczeniowym. Czyta tylko gości należących do tej usługi. Działa to zarówno z maszynami wirtualnymi QEMU, jak i z kontenerami LXC.

DaneJak pomagają
Stan i ustawieniaCzy gość działa, czas pracy, bieżące użycie CPU i pamięci, pełna konfiguracja gościa, jego dyski lub punkty montowania
Kopie zapasoweKopie zapasowe gościa w magazynach kopii na węźle: nazwa archiwum, data, rozmiar i magazyn
SnapshotyNazwa, opis i data każdego snapshotu
MetrykiPróbki CPU, pamięci, dysku i sieci z ostatniej godziny
ZaporaCzy zapora gościa jest włączona, jej opcje i reguły
ReplikacjaZadania replikacji gościa: harmonogram, węzeł docelowy i ostatnia synchronizacja

Usługa z kilkoma gośćmi jest objęta w całości: Konrado może czytać każdego z nich i tylko ich. Listy kończą się na 100 kopiach zapasowych, snapshotach lub próbkach i informują, kiedy się kończą. Konrado ukrywa każde ustawienie, którego nazwa zawiera hasło, sekret, token lub dane logowania.

DaneJak pomagają
Tożsamość gościaWęzeł, ID maszyny wirtualnej lub kontenera, typ i informacja, czy gość istnieje
Stan i ustawieniaBieżący stan, konfiguracja, ustawienia CPU, RAM, dysku, sieci i urządzeń
MetrykiHistoria użycia CPU, pamięci, operacji dyskowych i sieci
Dane i odtwarzanieUstawienia dysków, snapshoty i kopie zapasowe gościa
Sieć i działanieReguły i opcje zapory, replikacja i inne sygnały o gościu

Czego Konrado nie potrafi

Nie da sięDlaczego
Uruchomić, zatrzymać, wyłączyć, zrestartować, zresetować ani przenieść gościaKonrado czyta. Każde jego zapytanie tylko czyta
Utworzyć, usunąć, przywrócić ani pobrać kopii zapasowej lub snapshotuOdtwarzanie zostaje w rękach Twojego zespołu
Zmienić ustawień CPU, RAM, dysku, sieci lub zaporyZmiany robi się w Proxmox lub w Twoim systemie provisioningu
Czytać gościa spoza usługi ze zgłoszeniaKonrado odrzuca każde inne ID maszyny, zanim połączy się z Proxmox
Wyświetlić cały klaster lub działać na wielu gościach narazKonrado pracuje na gościu ze zgłoszenia
Zarządzać użytkownikami, rolami, tokenami, pulami, magazynami lub węzłamiKonrado korzysta ze stałego zestawu zapytań, a nie z panelu administracyjnego
Czytać stanu samego węzła, jego zadań ani dziennika systemowegoZapytania dotyczą gościa, a nie hosta
Model bezpieczeństwa

Konrado łączy się z Proxmox VE przez HTTPS za pomocą jednego tokenu API. Nadaj mu rolę tylko do odczytu, na przykład PVEAuditor, i nigdy nie wpisuj w Konrado hasła roota. Po zapisaniu sekretu konsola pokazuje tylko jego ostatnie znaki.

  • Działają tylko adresy https://. Certyfikat TLS musi być ważny: nie ma opcji pominięcia sprawdzania.
  • Przed każdym zapytaniem Konrado sprawdza, czy adres prowadzi do publicznego IP. Odrzuca adresy prywatne, loopback i inne zakresy wewnętrzne.
  • Konrado nie podąża za przekierowaniami i ogranicza rozmiar każdej odpowiedzi.
  • Zapytania są powiązane z gośćmi usługi ze zgłoszenia. Konrado nie może zwracać się bezpośrednio do klastra.
Model bezpieczeństwa

Polecenie instalacyjne zawiera klucz, który łączy węzeł z Twoją organizacją, więc traktuj je jak hasło. Konrado łączy się potem z wtyczką na porcie 8000, domyślnym. Otwórz ten port dla adresów IP Konrado i dla nikogo więcej.

Przykładowe pytania w zgłoszeniach
  • "Klient pisze, że jego VPS nie działa. Jaki jest stan gościa, czas pracy i zasoby?"
  • "Serwer działa wolno. Co pokazują próbki CPU i pamięci z ostatniej godziny?"
  • "Klient chce przywrócenia. Jakie są kopie zapasowe i kiedy powstała ostatnia?"
  • "Zanim przekażemy dalej prośbę o cofnięcie zmian: czy ten gość ma snapshoty?"
  • "Port jest nieosiągalny. Czy zapora gościa jest włączona i jakie ma reguły?"
  • "Czy ten VPS jest replikowany na drugi węzeł?"
  • "Dysk jest pełny. Jakie dyski lub punkty montowania ma gość?"

Zanim zaczniesz

  • Proxmox VE pod publicznym adresem HTTPS z ważnym certyfikatem, na porcie 8006, chyba że podasz inny. Domyślny certyfikat samopodpisany nie wystarczy. Konrado przetestowano w pełni na Proxmox VE 9.2.5. Proxmox Backup Server i Proxmox Mail Gateway nie są obsługiwane.
  • Konto Proxmox, które może tworzyć tokeny API i nadawać uprawnienia.
  • Jeśli API stoi za zaporą lub WAF, dopuść adresy IP Konrado do portu 8006.
  • Podłączony system rozliczeniowy, w którym każda usługa VPS jest przypisana do swojego gościa. Szczegóły poniżej.

Co musi zapewnić system rozliczeniowy

Konrado łączy zgłoszenie z tym połączeniem w dwóch krokach. Oba muszą działać.

  1. Host. Nazwa hosta w polu Adres API Proxmox odpowiada serwerowi, na którym usługa działa w Twoim systemie rozliczeniowym. Zgodna musi być nazwa hosta lub adres IP.
  2. Gość. Usługa korzysta z modułu Proxmox i ma co najmniej jedną maszynę z liczbowym ID. Pasują moduły WHMCS proxmoxvps, proxmoxvevps i proxmoxvevpscloud.

Węzeł i typ zapisane przy maszynie to tylko wskazówki. Jeśli gość trafił na inny węzeł, Konrado znajdzie go po ID w całym klastrze. Usługa bez maszyny nie dostaje żadnych zapytań do Proxmox.

  • Dostęp SSH jako root do węzła Proxmox, z curl, unzip i systemd.
  • Dostęp do internetu na zewnątrz. Instalator pobiera wtyczkę i zgłasza się do app.konrado.ai.
  • Port 8000 otwarty dla adresów IP Konrado (zobacz listę).
  • Podłączony system rozliczeniowy, w którym każda usługa VPS działa na tym węźle i ma swoje ID maszyny.

Podłączanie

Utwórz token API

Zaloguj się do interfejsu webowego Proxmox VE. Wybierz Datacenter, a potem otwórz Permissions › API Tokens.

Widok Datacenter w Proxmox VE z listą API Tokens w sekcji Permissions

Kliknij Add. Wybierz użytkownika, do którego należy token, wpisz Token ID, na przykład konrado, i zostaw włączoną opcję Privilege Separation. Token dostanie wtedy tylko te uprawnienia, które mu nadasz.

Okno Add Token w Proxmox: użytkownik root@pam, Token ID konrado i zaznaczona opcja Privilege Separation

Skopiuj sekret

Kliknij Add. Proxmox pokazuje sekret tylko raz. Skopiuj go do menedżera haseł. Jeśli go zgubisz, użyj przy tokenie opcji Regenerate Secret albo usuń token i utwórz nowy.

Okno Token Secret w Proxmox z ID tokenu root@pam!konrado i ukrytym sekretem

Nadaj dostęp tylko do odczytu

Token z opcją Privilege Separation nie ma jeszcze żadnych uprawnień. Otwórz Datacenter › Permissions, kliknij Add › API Token Permission. W polu Path wpisz /, wybierz token, wybierz rolę PVEAuditor i zostaw włączoną opcję Propagate. Kliknij Add.

Okno Add API Token Permission w Proxmox: ścieżka /, token konrado, rola PVEAuditor i zaznaczona opcja Propagate

PVEAuditor tylko czyta i obejmuje każde zapytanie Konrado. Nadana na / z opcją Propagate działa dalej, gdy goście przenoszą się między węzłami. Aby zawęzić dostęp, nadaj PVEAuditor tylko na pule lub gości, których Konrado ma widzieć. Kopie zapasowe wymagają też uprawnienia Datastore.Audit do magazynów, w których się znajdują. PVEAuditor je zawiera tam, gdzie ma to zastosowanie.

Podłącz w Konrado

Otwórz Ustawienia obszaru roboczegoIntegracje, kliknij Dodaj integrację i wybierz Proxmox. W sekcji Jak Konrado ma łączyć się z tym serwerem? opcja Sekret tokenu API jest już wybrana.

Okno Proxmox: opcja Sekret tokenu API wybrana zamiast opcji Wtyczka Konrado, a pod nią pola Nazwa integracji, Adres API Proxmox, Identyfikator tokenu i Sekret tokenu API
PoleCo wpisać
Nazwa integracjiNazwę dla Twojego zespołu, na przykład Proxmox EU
Adres API ProxmoxSam adres, na przykład https://pve.example.com:8006, bez /api2/json. Jeśli pominiesz port, użyty zostanie port 8006
Identyfikator tokenuPełne ID w postaci pokazanej przez Proxmox: user@realm!tokenname, na przykład root@pam!konrado
Sekret tokenu APISekret pokazany przez Proxmox jeden raz

Kliknij Testuj połączenie. Zielone pole potwierdza token i pokazuje wersję Proxmox VE. Kliknij Podłącz.

Wtyczka to starsza metoda podłączania. Węzły już podłączone w ten sposób działają dalej. Dla nowego węzła wybierz zakładkę API.

Wybierz wtyczkę. Otwórz Ustawienia obszaru roboczegoIntegracje, kliknij Dodaj integrację i wybierz Proxmox. W pytaniu Jak Konrado ma łączyć się z tym serwerem? wybierz Wtyczka Konrado. Okno pokazuje trzy kroki i polecenie instalacji.

Uruchom polecenie jako root. Zaloguj się na serwer Proxmox przez SSH jako root. Kliknij przycisk kopiowania obok polecenia i wklej je w sesji. Okno ukrywa Twój klucz na ekranie, ale skopiowane polecenie go zawiera, więc traktuj je jak hasło. Klucz działa przez 24 godziny, na dowolnej liczbie serwerów.

bash <(curl -s https://repo.konrado.ai/init.sh) --api-key=YOUR_KEY --callback-url=https://app.konrado.ai/api/integrations/servers/install --platform=proxmox

Odpowiedz instalatorowi. Pyta o kilka ustawień, każde ma wartość domyślną: naciśnij Enter, aby ją zachować. Liczą się dwie odpowiedzi. Aby później aktualizować wtyczkę z konsoli, odpowiedz Yes na pytanie Do you want to be able to upgrade this plugin through the Konrado panel? Adres serwera, który proponuje, na przykład http://203.0.113.10:8000/mcp, to adres, pod którym Konrado łączy się z wtyczką.

Poczekaj na połączenie. Okno pokazuje Nasłuchiwanie serwera… i sprawdza co 5 sekund. Gdy wtyczka się zgłosi, pokazuje Połączono pomyślnie i adres serwera. Kliknij Gotowe. Okno możesz zamknąć wcześniej: serwer pojawi się na liście, gdy się połączy. Ponowne uruchomienie polecenia jest bezpieczne.

Sprawdź, czy działa

Klaster widnieje na stronie Integracje ze statusem Połączono. W kolumnie Typ widać Proxmox · API, a pod spodem wersję Proxmox VE. Wersja pochodzi z węzła, który odpowiedział. Konrado ponownie testuje połączenie co godzinę. Otwórz wiersz, a zakładka Narzędzia pokaże sześć zapytań.

Aby później zmienić sekret, otwórz wiersz, kliknij Zmień obok pola Sekret tokenu API, wklej nowy sekret i kliknij Zapisz.

Serwer jest na stronie Integracje ze statusem Połączono. Jego Typ to Proxmox · Wtyczka, z wersją wtyczki pod spodem. Wiersz nazywa się proxmox Server: kliknij go, aby zmienić nazwę. Ponowne uruchomienie polecenia instalacji przywraca tę nazwę. Konrado sprawdza połączenie co godzinę.

Jeśli coś nie działa

Otwórz wiersz na stronie Integracje. Połączenie, które przestało działać, ma status Nie działa. Widać przy nim, co sprawdzić, a dokładny błąd w sekcji Szczegóły techniczne.

Co widziszCo zrobić
Proxmox API URL must use HTTPS.Wpisz pełny adres https://. Zwykłe HTTP nie działa
Proxmox API URL cannot contain credentials, query parameters, or a fragment.Wpisz tylko adres i port, na przykład https://pve.example.com:8006
Proxmox Token ID must look like user@realm!tokenname.Skopiuj pełne ID z realmem i znakiem !, na przykład root@pam!konrado
Proxmox TLS verification failed.Zainstaluj ważny certyfikat dla nazwy hosta, z pełnym łańcuchem. Domyślny certyfikat samopodpisany jest odrzucany
Proxmox rejected the configured API token.Sprawdź, czy ID i sekret skopiowano w całości i czy token nadal istnieje w sekcji Permissions › API Tokens
This Proxmox token cannot read that capability.Nadaj tokenowi PVEAuditor na ścieżce, która obejmuje gościa i jego magazyny
The Proxmox API request timed out.Sprawdź, czy węzeł odpowiada na porcie 8006 i czy Twoja zapora lub WAF wpuszcza adresy IP Konrado (zobacz listę)
The Proxmox API is temporarily unavailable.Węzeł odpowiedział błędem lub limitem zapytań. Spróbuj ponownie i sprawdź węzeł
Adres prowadzi do sieci prywatnejUżyj publicznej nazwy hosta. Konrado odrzuca adresy prywatne i wewnętrzne
Połączono, ale odpowiedzi nigdy nie wspominają o maszynieSprawdź, czy usługa działa na serwerze zgodnym z adresem API i ma liczbowe ID maszyny
Brakuje kopii zapasowychKonrado podaje listę sprawdzonych magazynów. Gdy token nie może wyświetlić magazynów, Konrado sprawdza tylko local, backup i pbs
Metryki są pusteGość, który dopiero się uruchomił lub został przeniesiony, ma w pierwszej godzinie mało próbek
Co widziszCo zrobić
Polecenie od razu się zatrzymujeUruchom je jako root bezpośrednio na węźle Proxmox
Komunikat Nasłuchiwanie serwera… się nie zmieniaSprawdź, czy instalator zakończył pracę bez błędów i czy węzeł łączy się z app.konrado.ai przez HTTPS. Po 2 minutach okno pokazuje Trwa dłużej niż zwykle? z tymi samymi wskazówkami
Brakuje danych o maszynieSprawdź, czy wtyczka jest zainstalowana na węźle Proxmox i czy w konsoli wybrano Proxmox
Odpowiedzi nigdy nie wspominają o maszynieSprawdź, czy w Twoim systemie rozliczeniowym usługa ma ID maszyny i działa na tym węźle

Krok instalacji pokazuje Błąd połączenia. Podaje adres serwera i przyczynę. Sprawdź obie usługi wtyczki, przeczytaj ich ostatnie logi i uruchom je ponownie:

systemctl status   konrado-server.service konrado-root.service
journalctl         -u konrado-server.service -u konrado-root.service --since "15 minutes ago" --no-pager
systemctl restart  konrado-server.service konrado-root.service
systemctl enable   konrado-server.service konrado-root.service
ss -ltnp | grep ':8000'

Ostatni wiersz pokazuje, czy wtyczka nasłuchuje na porcie 8000. Konrado musi mieć dostęp do tego portu: zezwól na adresy IP Konrado w swojej zaporze. Potem uruchom polecenie instalacji ponownie.

Usuń integrację

Otwórz Ustawienia obszaru roboczegoIntegracje, otwórz menu wiersza (trzy kropki) i wybierz Usuń. Potem w Proxmox usuń token w sekcji Datacenter › Permissions › API Tokens oraz jego wpis w sekcji Datacenter › Permissions.

Aby wstrzymać integrację i zachować ustawienia, wybierz zamiast tego Odłącz.

Odinstaluj wtyczkę z węzła, a potem otwórz Ustawienia obszaru roboczegoIntegracje, otwórz menu wiersza (trzy kropki) i wybierz Usuń.

Aby wstrzymać integrację i zachować ustawienia, wybierz zamiast tego Odłącz.

Ostatnia aktualizacja:

Na tej stronie