datadog.datadog
Rola Ansible dla Agenta Datadog
Rola Ansible dla Agenta Datadog instaluje i konfiguruje Agenta Datadog oraz jego integracje.
Rola Ansible a kolekcja Ansible
Rola Ansible dla Agenta Datadog jest dostępna na 2 różne sposoby:
- Jako część kolekcji Datadog, dostępnej pod nazwą datadog.dd na Ansible Galaxy (zalecane).
- Jako samodzielna rola, dostępna pod nazwą datadog.datadog na Ansible Galaxy (starsza wersja).
Wersja 4
roli i wersja 5
kolekcji domyślnie instalują Agenta Datadog v7.
Ustawienia
Pamiętaj, że instrukcje instalacji w tym dokumencie opisują instalację samodzielnej roli Datadog. Aby uzyskać instrukcje instalacji kolekcji Datadog, zapoznaj się z plikem README kolekcji. Zmienne konfiguracyjne są takie same dla obu – zarówno dla samodzielnej roli, jak i roli dostępnej poprzez kolekcję.
Wymagania
Wymaga Ansible w wersji 2.6+.
Obsługuje większość dystrybucji Linuxa opartych na Debianie i RHEL, macOS oraz Windows.
Przy używaniu Ansible w wersji 2.10+ do zarządzania hostami Windows, wymagana jest instalacja kolekcji
ansible.windows
:ansible-galaxy collection install ansible.windows
Przy używaniu Ansible w wersji 2.10+ do zarządzania hostami openSUSE/SLES, wymagana jest instalacja kolekcji
community.general
:ansible-galaxy collection install community.general
Instalacja
Zainstaluj rolę Datadog z Ansible Galaxy na swoim serwerze Ansible:
ansible-galaxy install datadog.datadog
Aby wdrożyć Agenta Datadog na hostach, dodaj rolę Datadog i swoje klucz API do swojego playbooka:
- hosts: servers
roles:
- { role: datadog.datadog, become: yes }
vars:
datadog_api_key: "<TWÓJ_KLUCZ_API_DD>"
Klucz API jest wymagany, a jego brak powoduje, że rola nie powiedzie się. Jeśli chcesz podać go w inny sposób, poza kontrolą Ansible, określ przykładowy klucz i zamień go później.
Zmienne roli
Te zmienne zapewniają dodatkową konfigurację podczas instalacji Agenta Datadog. Należy je określić w sekcji vars
swojego playbooka.
Zmienna | Opis |
---|---|
datadog_api_key |
Twój klucz API Datadog. Ta zmienna jest obowiązkowa od wersji 4.21. |
datadog_site |
Strona, na którą wysyłane są dane Agenta. Domyślnie datadoghq.com , ustaw na datadoghq.eu , aby wysyłać dane na stronę UE. Ta opcja jest dostępna tylko dla wersji Agenta >= 6.6.0. |
datadog_agent_flavor |
Nadpisuje domyślny pakiet Debian / RedHat do instalacji IOT na RPI. Domyślnie "datadog-agent" - użyj "datadog-iot-agent" dla RPI. |
datadog_agent_version |
Przypisana wersja Agenta do zainstalowania (opcjonalnie, ale zalecane), na przykład: 7.16.0 . Ustawienie datadog_agent_major_version nie jest potrzebne, jeśli używasz datadog_agent_version . |
datadog_agent_major_version |
Główna wersja Agenta do zainstalowania. Możliwe wartości to 5, 6 lub 7 (domyślnie). Jeśli datadog_agent_version jest ustawione, ma pierwszeństwo, w przeciwnym razie instalowana jest najnowsza wersja określonej głównej wersji. Ustawienie datadog_agent_major_version nie jest potrzebne, jeśli używasz datadog_agent_version . |
datadog_checks |
Konfiguracja YAML dla kontrolów Agenta, do zapisania w: - /etc/datadog-agent/conf.d/<nazwa_kontroli>.d/conf.yaml dla Agenta v6 i v7, - /etc/dd-agent/conf.d dla Agenta v5. |
datadog_disable_untracked_checks |
Ustaw na true , aby usunąć wszystkie kontrole, które nie są obecne w datadog_checks i datadog_additional_checks . |
datadog_additional_checks |
Lista dodatkowych kontroli, które nie są usuwane, jeśli datadog_disable_untracked_checks jest ustawione na true . |
datadog_disable_default_checks |
Ustaw na true , aby usunąć wszystkie domyślne kontrole. |
datadog_config |
Ustawi konfiguracyjny dla Agenta Datadog. Rola zapisuje konfiguracje w odpowiedniej lokalizacji w zależności od systemu operacyjnego. Pełna lista opcji konfiguracyjnych znajduje się w pliku szablonu datadog.yaml w repozytorium GitHub Datadog Agenta. |
datadog_config_ex |
(Opcjonalnie) Dodatkowe sekcje INI do umieszczenia w /etc/dd-agent/datadog.conf (tylko Agent v5). |
datadog_apt_repo |
Nadpisuje domyślne repozytorium apt Datadog. Upewnij się, że używasz opcji signed-by , jeśli metadane repozytorium są podpisane przy użyciu kluczy podpisujących Datadog: deb [signed-by=/usr/share/keyrings/datadog-archive-keyring.gpg] https://yourrepo . |
datadog_apt_cache_valid_time |
Nadpisuje domyślny czas ważności pamięci podręcznej apt (domyślnie 1 godzina). |
datadog_apt_key_url_new |
Nadpisuje lokalizację, z której należy uzyskać klucz apt Datadog (przestarzała zmienna datadog_apt_key_url odnosi się do wygasłego klucza, który został usunięty z roli). Oczekuje się, że adres URL będzie kluczem GPG zawierającym klucze 382E94DE , F14F620E oraz C0962C7D . |
datadog_yum_repo_config_enabled |
Ustaw na false , aby zapobiec konfiguracji repozytorium yum Datadog (domyślnie true ). UWAGA: dezaktywuje to automatyczną aktualizację kluczy GPG. |
datadog_yum_repo |
Nadpisuje domyślne repozytorium yum Datadog. |
datadog_yum_repo_proxy |
Ustaw adres URL proxy do użycia w konfiguracji repozytorium yum Datadog. |
datadog_yum_repo_proxy_username |
Ustaw nazwę użytkownika proxy do użycia w konfiguracji repozytorium yum Datadog. |
datadog_yum_repo_proxy_password |
Ustaw hasło proxy do użycia w konfiguracji repozytorium yum Datadog. |
datadog_yum_repo_gpgcheck |
Nadpisuje domyślną wartość repo_gpgcheck (pusta). Jeśli pusta, wartość jest dynamicznie ustawiana na yes , gdy niestandardowe datadog_yum_repo nie jest używane i system nie jest RHEL/CentOS 8.1 (z powodu błędu w dnf), w przeciwnym przypadku jest ustawione na no . Uwaga: weryfikacja podpisu repodata jest zawsze wyłączona dla Agenta 5. |
datadog_yum_gpgcheck |
Nadpisuje domyślną wartość gpgcheck (yes ) - użyj no , aby wyłączyć weryfikację podpisów pakietów GPG. |
datadog_yum_gpgkey |
Usunięto w wersji 4.18.0 Nadpisuje domyślny adres URL klucza yum Datadog używanego do weryfikacji pakietów Agenta v5 i v6 (do 6.13) (ID klucza 4172A230 ). |
datadog_yum_gpgkey_e09422b3 |
Nadpisuje domyślny adres URL klucza yum Datadog używanego do weryfikacji pakietów Agenta v6.14+ (ID klucza E09422B3 ). |
datadog_yum_gpgkey_e09422b3_sha256sum |
Nadpisuje domyślną sumę kontrolną klucza datadog_yum_gpgkey_e09422b3 . |
datadog_zypper_repo |
Nadpisuje domyślne repozytorium zypper Datadog. |
datadog_zypper_repo_gpgcheck |
Nadpisuje domyślną wartość repo_gpgcheck (pusta). Jeśli pusta, wartość jest dynamicznie ustawiana na yes , gdy niestandardowe datadog_zypper_repo nie jest używane, w przeciwnym przypadku jest ustawiana na no . Uwaga: weryfikacja podpisu repodata jest zawsze wyłączona dla Agenta 5. |
datadog_zypper_gpgcheck |
Nadpisuje domyślną wartość gpgcheck (yes ) - użyj no , aby wyłączyć weryfikację podpisów pakietów GPG. |
datadog_zypper_gpgkey |
Usunięto w wersji 4.18.0 Nadpisuje domyślny adres URL klucza zypper Datadog używanego do weryfikacji pakietów Agenta v5 i v6 (do 6.13) (ID klucza 4172A230 ). |
datadog_zypper_gpgkey_sha256sum |
Usunięto w wersji 4.18.0 Nadpisuje domyślną sumę kontrolną klucza datadog_zypper_gpgkey . |
datadog_zypper_gpgkey_e09422b3 |
Nadpisuje domyślny adres URL klucza zypper Datadog używanego do weryfikacji pakietów Agenta v6.14+ (ID klucza E09422B3 ). |
datadog_zypper_gpgkey_e09422b3_sha256sum |
Nadpisuje domyślną sumę kontrolną klucza datadog_zypper_gpgkey_e09422b3 . |
datadog_agent_allow_downgrade |
Ustaw na yes , aby zezwolić na downgrade Agenta (używaj ostrożnie, zobacz defaults/main.yml dla szczegółów). Uwaga: Downgrady nie są wspierane na systemach Windows. |
datadog_enabled |
Ustaw na false , aby uniemożliwić uruchomienie usługi datadog-agent (domyślnie true ). |
datadog_additional_groups |
Lista lub ciąg zawierający przecinkowo oddzieloną listę dodatkowych grup dla datadog_user (tylko Linux). |
datadog_windows_ddagentuser_name |
Nazwa użytkownika Windows do utworzenia/użycia, w formacie <domena>\<użytkownik> (tylko Windows). |
datadog_windows_ddagentuser_password |
Hasło używane do utworzenia użytkownika i/lub zarejestrowania usługi (tylko Windows). |
datadog_apply_windows_614_fix |
Czy pobrać i zastosować plik referencyjny pod datadog_windows_614_fix_script_url (tylko Windows). Zobacz https://dtdg.co/win-614-fix dla bardziej szczegółowych informacji. Możesz ustawić to na false , zakładając, że twoje hosty nie działają na Datadog Agent 6.14.*. |
datadog_macos_user |
Nazwa użytkownika, pod którym działa Agent. Użytkownik musi istnieć, nie zostanie utworzony automatycznie. Domyślnie ansible_user (tylko macOS). |
datadog_macos_download_url |
Nadpisuje adres URL do pobrania instalatora DMG (tylko macOS). |
datadog_apm_instrumentation_enabled |
Konfiguracja instrumentacji APM. Możliwe wartości to: - host : Zarówno Agent, jak i twoje usługi działają na hoście. - docker : Agent i twoje usługi działają w oddzielnych kontenerach Docker na tym samym hoście.- all : Obsługuje wszystkie poprzednie scenariusze dla host i docker jednocześnie. |
datadog_apm_instrumentation_libraries |
Lista bibliotek APM do zainstalowania, jeśli włączona jest injekcja host lub docker (domyślnie ["java", "js", "dotnet", "python", "ruby"] ). Możesz znaleźć dostępne wartości w Inject Libraries Locally. |
datadog_apm_instrumentation_docker_config |
Nadpisuje konfigurację APM Docker. Zapoznaj się z konfiguracją injekcji Docker dla bardziej szczegółowych informacji. |
datadog_remote_updates |
Włącza zdalną instalację i aktualizacje za pomocą datadog-installer. |
Integracje
Aby skonfigurować integrację Datadog (kontrolę), dodaj wpis do sekcji datadog_checks
. Klucz na pierwszym poziomie to nazwa kontroli, a wartość to ładunek YAML do zapisania w pliku konfiguracyjnym. Przykłady podano poniżej.
Aby zainstalować lub usunąć integrację, zapoznaj się z akapitem datadog_integration
tutaj.
Kontrola procesów
Aby zdefiniować dwie instancje dla kontroli process
, użyj poniższej konfiguracji. Tworzy to odpowiednie pliki konfiguracyjne:
- Agent v6 i v7:
/etc/datadog-agent/conf.d/process.d/conf.yaml
- Agent v5:
/etc/dd-agent/conf.d/process.yaml
datadog_checks:
process:
init_config:
instances:
- name: ssh
search_string: ['ssh', 'sshd']
- name: syslog
search_string: ['rsyslog']
cpu_check_interval: 0.2
exact_match: true
ignore_denied_access: true
Niestandardowa kontrola
Aby skonfigurować niestandardową kontrolę, użyj poniższej konfiguracji. Tworzy to odpowiednie pliki konfiguracyjne:
- Agent v6 i v7:
/etc/datadog-agent/conf.d/my_custom_check.d/conf.yaml
- Agent v5:
/etc/dd-agent/conf.d/my_custom_check.yaml
datadog_checks:
my_custom_check:
init_config:
instances:
- some_data: true
Niestandardowe kontrole Pythona
Aby przekazać kontrolę Pythona do playbooka, użyj poniższej konfiguracji.
Ta konfiguracja wymaga, aby Datadog play i rola były częścią większego playbooka, w którym wartość przekazana to względna ścieżka do rzeczywistego zadania dla Linux lub Windows.
To jest dostępne tylko dla Agenta v6 lub nowszego.
Klucz powinien być nazwą pliku utworzonego w katalogu kontroli checks.d/{{ item }}.py
:
datadog_checks:
my_custom_check:
init_config:
instances:
- some_data: true
datadog_custom_checks:
my_custom_check: '../../../custom_checks/my_custom_check.py'
Autoodkrywanie
Podczas używania autoodkrywania, nie ma wstępnego przetwarzania ani post przetwarzania YAML. Oznacza to, że każda sekcja YAML jest dodawana do ostatecznego pliku konfiguracyjnego, w tym autoodkrywanie identyfikatorów
.
Poniższy przykład konfiguruje kontrolę PostgreSQL przez autoodkrywanie:
datadog_checks:
postgres:
ad_identifiers:
- db-master
- db-slave
init_config:
instances:
- host: %%host%%
port: %%port%%
username: username
password: password
Dowiedz się więcej o autoodkrywaniu w dokumentacji Datadog.
Śledzenie
Aby włączyć zbieranie śladów z Agentem v6 lub v7, użyj poniższej konfiguracji:
datadog_config:
apm_config:
enabled: true
Aby włączyć zbieranie śladów z Agentem v5, użyj poniższej konfiguracji:
datadog_config:
apm_enabled: "true" # musi być ciągiem
Procesy na żywo
Aby włączyć zbieranie procesów na żywo z Agentem v6 lub v7, użyj poniższej konfiguracji:
datadog_config:
process_config:
enabled: "true" # typ: ciąg
Możliwe wartości dla enabled
to: "true"
, "false"
(tylko zbieranie kontenerów) lub "disabled"
(całkowicie wyłącz zbieranie procesów na żywo).
Zmienne
Następujące zmienne są dostępne dla procesów na żywo:
scrub_args
: Włącza usuwanie wrażliwych argumentów z linii poleceń procesu (domyślnietrue
).custom_sensitive_words
: Rozszerza domyślną listę wrażliwych słów używanych przez program usuwający polecenia.
System probe
System probe jest konfigurowany za pomocą zmiennej system_probe_config
. Wszelkie zmienne zagnieżdżone pod tym będą zapisywane w system-probe.yaml
, w sekcji system_probe_config
.
Zarządzanie wydajnością sieci 7 (NPM) jest konfigurowane za pomocą zmiennej network_config
. Wszelkie zmienne zagnieżdżone pod tym będą zapisywane w system-probe.yaml
, w sekcji network_config
.
Zarządzanie bezpieczeństwem w chmurze 8 jest konfigurowane za pomocą zmiennej runtime_security_config
. Wszelkie zmienne zagnieżdżone pod tym będą zapisywane w system-probe.yaml
i security-agent.yaml
, w sekcji runtime_security_config
.
Uniwersalne monitorowanie usług 17 (USM) jest konfigurowane za pomocą zmiennej service_monitoring_config
. Wszelkie zmienne zagnieżdżone pod tym będą zapisywane w system-probe.yaml
, w sekcji service_monitoring_config
.
Zgodność 18 jest konfigurowana za pomocą zmiennej compliance_config
. Wszelkie zmienne zagnieżdżone pod tym będą zapisywane w security-agent.yaml
, w sekcji compliance_config
.
Uwaga dla użytkowników Windows: NPM jest wspierany w Windows z Agentem v6.27+ i v7.27+. Jest dostarczany jako opcjonalny komponent, który jest instalowany tylko wtedy, gdy network_config.enabled
jest ustawione na true
podczas instalacji lub aktualizacji Agenta. Z tego powodu istniejące instalacje mogą wymagać dezinstalacji i reinstalacji Agenta raz, aby zainstalować komponent NPM, chyba że Agent jest aktualizowany jednocześnie.
Przykład konfiguracji
datadog_config:
process_config:
enabled: "true" # typ: ciąg
scrub_args: true
custom_sensitive_words: ['consul_token','dd_api_key']
system_probe_config:
sysprobe_socket: /opt/datadog-agent/run/sysprobe.sock
network_config:
enabled: true
service_monitoring_config:
enabled: true
runtime_security_config:
enabled: true
Uwaga: Ta konfiguracja działa z Agentem 6.24.1+ i 7.24.1+. Dla starszych wersji Agenta zobacz dokumentację Zarządzanie wydajnością sieci, aby uzyskać informacje o włączeniu system-probe.
Na systemach Linux, po zakończeniu tej modyfikacji wykonaj poniższe kroki, jeśli zainstalowałeś wersję Agenta starszą niż 6.18.0 lub 7.18.0:
- Uruchom system-probe:
sudo service datadog-agent-sysprobe start
Uwaga: Jeśli wrapper usługi nie jest dostępny na twoim systemie, uruchom to polecenie:sudo initctl start datadog-agent-sysprobe
. - Uruchom ponownie Agenta:
sudo service datadog-agent restart
. - Włącz system-probe, aby uruchamiał się przy starcie:
sudo service enable datadog-agent-sysprobe
.
W przypadku ręcznej konfiguracji zapoznaj się z dokumentacją NPM.
Agent v5
Aby włączyć zbieranie procesów na żywo z Agentem v5, użyj poniższej konfiguracji:
datadog_config:
process_agent_enabled: true
datadog_config_ex:
process.config:
scrub_args: true
custom_sensitive_words: "<PIERWSZE_SŁOWO>,<DRUGIE_SŁOWO>"
Wersje
Domyślnie, aktualna główna wersja roli Ansible Datadog instaluje Agenta v7. Zmienne datadog_agent_version
i datadog_agent_major_version
są dostępne, aby kontrolować wersję Agenta, która ma być zainstalowana.
Dla wersji 4+ tej roli, gdy datadog_agent_version
jest używana do przypisania konkretnej wersji Agenta, rola wyprowadza nazwy wersji w zależności od systemu operacyjnego, aby dostosować się do schematów nazewnictwa wersji wspieranych systemów operacyjnych, na przykład:
1:7.16.0-1
dla systemów opartych na Debiana i SUSE7.16.0-1
dla RedHat7.16.0-1
dla macOS7.16.0
dla Windows.
To umożliwia targeting hostów działających na różnych systemach operacyjnych w tym samym uruchomieniu Ansible, na przykład:
Dostarczona | Instalacje | System |
---|---|---|
datadog_agent_version: 7.16.0 |
1:7.16.0-1 |
Oparte na Debianie i SUSE |
datadog_agent_version: 7.16.0 |
7.16.0-1 |
Oparte na RedHat |
datadog_agent_version: 7.16.0 |
7.16.0-1 |
macOS |
datadog_agent_version: 7.16.0 |
7.16.0 |
Windows |
datadog_agent_version: 1:7.16.0-1 |
1:7.16.0-1 |
Oparte na Debianie i SUSE |
datadog_agent_version: 1:7.16.0-1 |
7.16.0-1 |
Oparte na RedHat |
datadog_agent_version: 1:7.16.0-1 |
7.16.0 |
Windows |
Uwaga: Jeśli wersja nie jest podana, rola używa 1
jako epoki i 1
jako numeru wydania.
Agent v5 (starsza wersja):
Rola Ansible Datadog obsługuje Agenta Datadog v5 tylko dla Linuxa. Aby zainstalować Agenta v5, użyj datadog_agent_major_version: 5
, aby zainstalować najnowszą wersję Agenta v5 lub ustaw datadog_agent_version
na konkretną wersję Agenta v5. Uwaga: Zmienna datadog_agent5
jest przestarzała i została usunięta.
Repozytoria
Linux
Gdy zmienne datadog_apt_repo
, datadog_yum_repo
i datadog_zypper_repo
nie są ustawione, używane są oficjalne repozytoria Datadog dla głównej wersji ustawionej w datadog_agent_major_version
:
# | Domyślne repozytorium apt | Domyślne repozytorium yum | Domyślne repozytorium zypper |
---|---|---|---|
5 | deb https://apt.datadoghq.com stable main | https://yum.datadoghq.com/rpm | https://yum.datadoghq.com/suse/rpm |
6 | deb https://apt.datadoghq.com stable 6 | https://yum.datadoghq.com/stable/6 | https://yum.datadoghq.com/suse/stable/6 |
7 | deb https://apt.datadoghq.com stable 7 | https://yum.datadoghq.com/stable/7 | https://yum.datadoghq.com/suse/stable/7 |
Aby nadpisać domyślne zachowanie, ustaw te zmienne na coś innego niż pusty ciąg.
Jeśli wcześniej używałeś zmiennych Agenta v5, użyj nowych zmiennych poniżej z datadog_agent_major_version
ustawionym na 5
lub datadog_agent_version
przypisanym do konkretnej wersji Agenta v5.
Stara | Nowa |
---|---|
datadog_agent5_apt_repo |
datadog_apt_repo |
datadog_agent5_yum_repo |
datadog_yum_repo |
datadog_agent5_zypper_repo |
datadog_zypper_repo |
Od wersji 4.9.0 zmienna use_apt_backup_keyserver
została usunięta, ponieważ klucze APT są uzyskiwane z https://keys.datadoghq.com.
Windows
Gdy zmienna datadog_windows_download_url
nie jest ustawiona, używany jest oficjalny pakiet MSI Windows odpowiadający datadog_agent_major_version
:
Wersja Agenta | Domyślny adres URL pakietu Windows MSI |
---|---|
6 | https://s3.amazonaws.com/ddagent-windows-stable/datadog-agent-6-latest.amd64.msi |
7 | https://s3.amazonaws.com/ddagent-windows-stable/datadog-agent-7-latest.amd64.msi |
Aby nadpisać domyślne zachowanie, ustaw tę zmienną na cokolwiek innego niż pusty ciąg.
macOS
Gdy zmienna datadog_macos_download_url
nie jest ustawiona, używany jest oficjalny pakiet DMG dla macOS odpowiadający datadog_agent_major_version
:
Wersja Agenta | Domyślny adres URL pakietu DMG dla macOS |
---|---|
6 | https://install.datadoghq.com/datadog-agent-6-latest.dmg |
7 | https://install.datadoghq.com/datadog-agent-7-latest.dmg |
Aby nadpisać domyślne zachowanie, ustaw tę zmienną na coś innego niż pusty ciąg.
Aktualizacja
Aby zaktualizować z Agenta v6 do v7, użyj datadog_agent_major_version: 7
, aby zainstalować najnowszą wersję lub ustaw datadog_agent_version
na konkretną wersję Agenta v7. Użyj podobnej logiki, aby zaktualizować z Agenta v5 do v6.
Instalacja integracji
Dostępne dla Agenta v6.8+
Użyj zasobu datadog_integration
, aby zainstalować określoną wersję integracji Datadog. Pamiętaj, że Agent ma już zainstalowane podstawowe integracje. To polecenie jest przydatne do aktualizacji konkretnej integracji bez aktualizacji całego Agenta. Po szczegóły zobacz zarządzanie integracjami.
Jeśli chcesz skonfigurować integrację, odnies się do akapitu datadog_checks
tutaj.
Dostępne akcje:
install
: Instaluje określoną wersję integracji.remove
: Usuwa integrację.
Integracje osób trzecich
Integracje społeczności Datadog oraz Rynek Datadog można zainstalować przy użyciu zasobu datadog_integration
. Uwaga: Te integracje uważane są za "third party", więc należy ustawić third_party: true
– zobacz poniższy przykład.
Składnia
datadog_integration:
<NAZWA_INTEGRACJI>:
action: <DZIAŁANIE>
version: <WERSJA_DO_ZAINSTALOWANIA>
Aby zainstalować integracje osób trzecich, ustaw third_party
na true:
datadog_integration:
<NAZWA_INTEGRACJI>:
action: <DZIAŁANIE>
version: <WERSJA_DO_ZAINSTALOWANIA>
third_party: true
Przykład
Ten przykład instaluje wersję 1.11.0
integracji ElasticSearch i usuwa integrację postgres
.
datadog_integration:
datadog-elastic:
action: install
version: 1.11.0
datadog-postgres:
action: remove
Aby zobaczyć dostępne wersje integracji Datadog, zobacz ich plik CHANGELOG.md
w repozytorium integracji-core.
Downgrade
Aby obniżyć do wcześniejszej wersji Agenta:
- Ustaw
datadog_agent_version
na konkretną wersję, na przykład:5.32.5
. - Ustaw
datadog_agent_allow_downgrade
nayes
.
Uwaga:
- Downgrady nie są wspierane w systemach Windows.
Playbooki
Poniżej znajdują się przykładowe playbooki, które mogą pomóc w korzystaniu z roli Ansible Datadog.
Poniższy przykład wysyła dane do Datadog US (domyślnie), włącza logi, NPM oraz konfiguruje kilka kontroli.
- hosts: servers
roles:
- { role: datadog.datadog, become: yes }
vars:
datadog_api_key: "<TWÓJ_KLUCZ_API_DD>"
datadog_agent_version: "7.16.0"
datadog_config:
tags:
- "<KLUCZ>:<WARTOŚĆ>"
- "<KLUCZ>:<WARTOŚĆ>"
log_level: INFO
apm_config:
enabled: true
logs_enabled: true # dostępne w Agencie v6 i v7
datadog_checks:
process:
init_config:
instances:
- name: ssh
search_string: ['ssh', 'sshd' ]
- name: syslog
search_string: ['rsyslog' ]
cpu_check_interval: 0.2
exact_match: true
ignore_denied_access: true
ssh_check:
init_config:
instances:
- host: localhost
port: 22
username: root
password: <TWOJE_HASŁO>
sftp_check: True
private_key_file:
add_missing_keys: True
nginx:
init_config:
instances:
- nginx_status_url: http://example.com/nginx_status/
tags:
- "source:nginx"
- "instance:foo"
- nginx_status_url: http://example2.com:1234/nginx_status/
tags:
- "source:nginx"
- "<KLUCZ>:<WARTOŚĆ>"
# Zbieranie logów jest dostępne w Agencie 6 i 7
logs:
- type: file
path: /var/log/access.log
service: myapp
source: nginx
sourcecategory: http_web_access
- type: file
path: /var/log/error.log
service: nginx
source: nginx
sourcecategory: http_web_access
# datadog_integration jest dostępny w Agencie 6.8+
datadog_integration:
datadog-elastic:
action: install
version: 1.11.0
datadog-postgres:
action: remove
network_config:
enabled: true
Agent v6
Ten przykład instaluje najnowszy Agent v6:
- hosts: servers
roles:
- { role: datadog.datadog, become: yes }
vars:
datadog_agent_major_version: 6
datadog_api_key: "<TWÓJ_KLUCZ_API_DD>"
Konfiguracja strony
Jeśli korzystasz z innej strony niż domyślna datadoghq.com
, ustaw zmienną datadog_site
na odpowiedni adres URL (np. datadoghq.eu
, us3.datadoghq.com
).
Ten przykład wysyła dane na stronę UE:
- hosts: servers
roles:
- { role: datadog.datadog, become: yes }
vars:
datadog_site: "datadoghq.eu"
datadog_api_key: "<TWÓJ_KLUCZ_API_DD>"
Windows
Na Windowsie usuń opcję become: yes
, aby rola nie zawiodła. Poniżej znajdują się dwie metody, aby sprawić, że przykładowe playbooki działały z hostami Windows:
Plik inwentarza
Użycie pliku inwentarza jest zalecaną metodą. Ustaw opcję ansible_become
na no
w pliku inwentarza dla każdego hosta Windows:
[servers]
linux1 ansible_host=127.0.0.1
linux2 ansible_host=127.0.0.2
windows1 ansible_host=127.0.0.3 ansible_become=no
windows2 ansible_host=127.0.0.4 ansible_become=no
Aby uniknąć powtarzania tej samej konfiguracji dla wszystkich hostów Windows, grupuj je i ustaw zmienną na poziomie grupy:
[linux]
linux1 ansible_host=127.0.0.1
linux2 ansible_host=127.0.0.2
[windows]
windows1 ansible_host=127.0.0.3
windows2 ansible_host=127.0.0.4
[windows:vars]
ansible_become=no
Plik playbooka
Alternatywnie, jeśli twój playbook działa tylko na hostach Windows, użyj poniższego wycinka w pliku playbooka:
- hosts: servers
roles:
- { role: datadog.datadog }
vars:
...
Uwaga: Ta konfiguracja zakończy się niepowodzeniem na hostach Linux. Używaj jej tylko, jeśli playbook dotyczy wyłącznie hostów Windows. W przeciwnym razie użyj metody pliku inwentarza.
Odinstalowanie
Na Windowsie można odinstalować Agenta używając poniższego kodu w swojej roli Ansible:
- name: Sprawdź, czy Agent Datadog jest zainstalowany
win_shell: |
(@(Get-ChildItem -Path "HKLM:SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" -Recurse) | Where {$_.GetValue("DisplayName") -like "Datadog Agent" }).PSChildName
register: agent_installed_result
- name: Ustaw fakt zainstalowanego Agenta Datadog
set_fact:
agent_installed: "{{ agent_installed_result.stdout | trim }}"
- name: Odinstaluj Agenta Datadog
win_package:
product_id: "{{ agent_installed }}"
state: absent
when: agent_installed != ""
Rozwiązywanie problemów
Debian stretch
Uwaga: ta informacja dotyczy wersji roli przed 4.9.0. Od wersji 4.9.0, moduł apt_key
nie jest już używany przez rolę.
Na Debianie Stretch moduł apt_key
, używany przez rolę, wymaga dodatkowego zależności systemowego, aby działał poprawnie. Zależność (dirmngr
) nie jest dostarczana przez moduł. Dodaj następującą konfigurację do swoich playbooków, aby skorzystać z obecnej roli:
---
- hosts: all
pre_tasks:
- name: Debian Stretch wymaga pakietu dirmngr, aby użyć apt_key
become: yes
apt:
name: dirmngr
state: present
roles:
- { role: datadog.datadog, become: yes }
vars:
datadog_api_key: "<TWÓJ_KLUCZ_API_DD>"
CentOS 6/7 z interpreteren Pythona 3 i Ansible 2.10.x lub poniżej
Moduł Pythona yum
, który jest używany w tej roli do instalacji Agenta na hostach opartych na CentOS, jest dostępny tylko w Pythonie 2, jeśli używana jest Ansible 2.10.x lub poniżej. W takim przypadku musiałby być użyty menedżer pakietów dnf
.
Jednak dnf
oraz moduł Pythona dnf
nie są domyślnie instalowane na hostach opartych na CentOS przed CentOS 8. W takim przypadku niemożliwe jest zainstalowanie Agenta, gdy używany jest interpreter Pythona 3.
Ta rola kończy się niepowodzeniem wcześnie, gdy ta sytuacja zostanie wykryta, aby wskazać, że potrzebna jest Ansible 2.11+ lub interpreter Pythona 2 podczas instalacji Agenta na CentOS / RHEL < 8.
Aby obejść tę wczesną detekcję błędu (na przykład, jeśli dnf
i pakiet python3-dnf
są dostępne na twoim hoście), ustaw zmienną datadog_ignore_old_centos_python3_error
na true
.
Windows
Z powodu krytycznego błędu w wersjach Agenta 6.14.0
i 6.14.1
na Windows, instalacja tych wersji jest zablokowana (począwszy od wersji 3.3.0
tej roli).
UWAGA: Ansible kończy działanie w systemie Windows, jeśli datadog_agent_version
jest ustawione na 6.14.0
lub 6.14.1
. Użyj 6.14.2
lub wyższej.
Jeśli aktualizujesz z 6.14.0 lub 6.14.1 na Windowsie, użyj następujących kroków:
- Zaktualizuj obecną rolę Ansible
datadog.datadog
do najnowszej wersji (>=3.3.0
). - Ustaw
datadog_agent_version
na6.14.2
lub wyżej (domyślnie jest to wersja najnowsza).
Dla więcej szczegółów, zobacz Krytyczny błąd w odinstalatorze dla Agenta Datadog 6.14.0 i 6.14.1 na Windows.
Ubuntu 20.04 zepsuty przez service_facts
Uruchamianie modułu service_facts
na Ubuntu 20.04 powoduje następujący błąd:
localhost | FAILED! => {
"changed": false,
"msg": "Malformed output discovered from systemd list-unit-files: accounts-daemon.service enabled enabled "
}
Aby to naprawić, zaktualizuj Ansible do v2.9.8
lub wyżej.
Brakujący klucz API
Rozpoczynając od roli 4.21
, klucz API jest obligatoryjny, aby rola mogła działać.
Jeśli chcesz zainstalować agenta przez Ansible, ale nie chcesz podać klucza API (na przykład, jeśli wbudowujesz go w obraz kontenera/VM), możesz:
- Określić przykładowy klucz API i wymienić go później
- Wyłączyć zarządzanie konfiguracją (
datadog_manage_config: false
)
ansible-galaxy install datadog.datadog