solarwinds.uamsclient
Rola Klienta UAMS w Ansible
Rola Klienta UAMS w Ansible instaluje i konfiguruje Klienta UAMS.
Ustawienie
Wymagania
- Przy używaniu z hostami Windows, wymagane jest zainstalowanie kolekcji ansible.windows. Proszę zainstalować ją na hoście kontrolera za pomocą następującego polecenia:
ansible-galaxy collection install ansible.windows
Instalacja
Zainstaluj rolę Klienta UAMS z Ansible Galaxy
ansible-galaxy install solarwinds.uamsclient
Aby wdrożyć Klienta UAMS na hostach, dodaj token dostępu
, rolę
i adres URL swo
do swojego playbooka pod kluczem environment
. Wartości mogą być zapisane na sztywno, ale przynajmniej dla tokena dostępu
zaleca się używanie zmiennej, aby nie ujawniać tokena w jawnej postaci.
Masz możliwość ustawienia proxy HTTPS za pomocą zmiennej środowiskowej UAMS_HTTPS_PROXY
. Po prostu zdefiniuj tę zmienną, aby wskazywała na żądane proxy HTTPS. Pamiętaj, że zmienna środowiskowa UAMS_HTTPS_PROXY
ustawia proxy HTTPS tylko dla połączeń nawiązanych przez Klienta UAMS i jego wtyczki. Aby używać proxy HTTPS podczas instalacji, skonfiguruj proxy HTTPS na swoim komputerze, aby Ansible mogło z niego korzystać.
environment:
UAMS_ACCESS_TOKEN: "TWÓJ_TOKEN_DOSTĘPU_SWO"
UAMS_METADATA: "ROLA"
SWO_URL: "https://swo-url"
UAMS_HTTPS_PROXY: "https://twoje-proxy" # opcjonalnie
UAMS_OVERRIDE_HOSTNAME: "nazwa_własna" # opcjonalnie
Proszę zapoznać się z przykładowym playbookiem, który używamy w testach CI.
Nadpisanie nazwy hosta
Opcjonalna zmienna środowiskowa UAMS_OVERRIDE_HOSTNAME
jest używana do ustawienia niestandardowej nazwy Agenta. Domyślnie nazwa Agenta jest ustawiana na nazwę hosta.
Możesz przypisać wartość do tej zmiennej, używając zmiennych z pliku inwentarza. Zobacz przykład poniżej.
# Plik inwentarza
[test_servers]
192.168.0.123 ansible_user=user override_hostname=web_server1
192.168.0.124 ansible_user=user override_hostname=web_server2
# Plik playbooka
environment:
UAMS_OVERRIDE_HOSTNAME: "DEV_{{ override_hostname }}"
Odinstalowanie
Aby odinstalować Klienta UAMS na hostach, dodaj etykietę uninstall
podczas uruchamiania playbooka.
Przykład:
ansible-playbook -i inventory playbook.yml --tags uninstall
Proszę zapoznać się z przykładowym playbookiem, który używamy w testach CI.
Dodawanie wtyczki DBO do Klienta UAMS
Przegląd
Ta rola Ansible instaluje i konfiguruje wtyczkę DBO dla Klienta UAMS. Aby zainstalować wtyczkę DBO, musisz uruchomić następujące polecenie:
ansible-playbook -i inventory playbook.yml --tags dbo
Spowoduje to wykonanie zadań związanych z etykietą dbo
, instalując i konfigurując wtyczkę DBO zgodnie z twoim plikiem inwentarza lub plikami zmiennych.
Upewnij się, że twój inwentarz i/lub sekrety są poprawnie skonfigurowane przed uruchomieniem playbooka.
Konfiguracja
Aby używać wtyczki DBO, musisz zdefiniować niezbędne zmienne w swoim inwentarzu Ansible lub pliku sekretów. Oto format tych zmiennych: Dodatkowo musisz podać token z pełnym dostępem, aby mieć dostęp do API do instalacji wtyczek DBO.
uams_full_access_token: "<full_access_token>"
dbo_plugin:
- databaseType: "mongo"
name: "mongodb profiler na dev-amd64-mu nasłuchujący na 10.0.2.2:27018"
host: "10.0.2.2"
port: "27018"
user: "myUser"
password: "<password>"
packetCaptureEnabled: false
metricsCaptureMethod: "profiler"
Sposoby podawania zmiennych
- Plik inwentarza: możesz bezpośrednio zdefiniować zmienną
dbo_plugin
iuams_full_access_token
w swoim pliku inwentarza. - Zmienne grupowe lub hostowe
- Ansible Vault
Dla wrażliwych informacji, takich jak hasła, zaleca się użycie Ansible Vault do zaszyfrowania zmiennych. Możesz utworzyć zaszyfrowany plik dla swoich sekretów:
Zaszyfruj ten plik za pomocą następującego polecenia:
ansible-vault encrypt path/to/secrets.yml
Następnie odwołaj się do niego w swoim playbooku lub pliku inwentarza:
vars_files:
- path/to/secrets.yml
Zmienne roli
Zmienna | Opis |
---|---|
uams_local_pkg_path |
Nadpisz lokalizację, w której przechowywany jest pakiet instalacyjny (domyślnie: /tmp/uams) |
uams_local_pkg_path_windows |
Nadpisz lokalizację, w której przechowywany jest pakiet instalacyjny na Windows (domyślnie: wartość zmiennej TEMP) |
uams_remove_installer |
Jeśli pakiet instalacyjny powinien być usunięty (domyślnie: true) |
AWX
Rola Klienta UAMS może być również używana w konfiguracji AWX. Należy wziąć pod uwagę następujące kwestie:
- AWX musi być skonfigurowane do pobierania ról z Ansible Galaxy. W obecnym czasie (z AWX 0.30.0) musi być to włączone w Ustawienia > Zadania (
Enable Role Download
) oraz muszą być skonfigurowane dane logowania do Ansible Galaxy na poziomieorganizacji
. Plikroles/requirements.yml
musi być obecny w repozytorium projektu i zawierać wymaganą rolę (przykład poniżej). - Wartości dla zmiennych reprezentujących
token dostępu
,rolę
iadres URL swo
powinny być podawane przez interfejs AWX. - Playbook musi zawierać wartość
hosts:
dopasowaną do grupy hostów (lub poszczególnego hosta) zdefiniowanej w inwentarzu AWX. Playbook nie będzie dostępny w AWX do tworzeniaszablonu zadania
, jeśli nie została podana odpowiednia wartość. - Ustawienie
eskalacji uprawnień
wszablonie zadania
może spowodować niepowodzenie zadań delegowanych do localhost z powodu braku poleceniasudo
w kontenerze wykonawczym.
Przykłady konfiguracji AWX
Playbook
---
- name: Zainstaluj klienta UAMS
# Istniejąca grupa hostów z inwentarza
hosts: uams-hosts
environment:
UAMS_ACCESS_TOKEN: "{{ uams_access_token }}"
UAMS_METADATA: "{{ uams_metadata }}"
SWO_URL: "{{ swo_url }}"
roles:
- role: solarwinds.uamsclient
roles/requirements.yml
Jeśli wersja
jest pominięta, zainstalowana zostanie najnowsza wersja.
roles:
- src: solarwinds.uamsclient
version: 1.8.0
ansible-galaxy install solarwinds.uamsclient