From 6e05cb4dae6efbb4e7c788f61e2e6520bb3f04f8 Mon Sep 17 00:00:00 2001 From: Vassiliy Yegorov Date: Tue, 15 Nov 2022 11:11:24 +0700 Subject: [PATCH] fix --- promtail-ansible/README.md | 24 +++++++++++++++ promtail-ansible/install-promtail.sh | 7 ++++- promtail-ansible/install-promtail.yml | 43 +++++++++++++++++++-------- promtail-ansible/loki-creds.yml | 16 +++++----- 4 files changed, 69 insertions(+), 21 deletions(-) create mode 100644 promtail-ansible/README.md mode change 100644 => 100755 promtail-ansible/install-promtail.sh diff --git a/promtail-ansible/README.md b/promtail-ansible/README.md new file mode 100644 index 0000000..014d511 --- /dev/null +++ b/promtail-ansible/README.md @@ -0,0 +1,24 @@ +# Установка promtail на ноды + +1. имеем список нод, заранее прописываем его в `inventory` + +## что нужно доставить + +1. ansible (в том числе ansible-vault) +2. создать себе парольный файлик для вольта +3. ключи ssh должны подходить к нодам и работать с ансиблом, проверьте `ansible.cfg` + +## что уже есть + +1. настроенная для примера роль для установки агентов заббикса с кредами от loki, зашиврованными вольтом + +## план работы + +1. имеем список нод в инвентаре +2. запущенный сервер loki +3. заполняем `loki-creds.yml` и шифруем `ansible-vault encrypt loki-creds.yml --vault-password-file ~/.ssh/.vault_pass.txt` (само собой у вас уже должен быть `.vault_pass.txt` с парольной строкой внутри) +4. запускаем установку `./install-promtail.sh` + +## tweaks + +1. для расшифровки используем `ansible-vault decrypt loki-creds.yml --vault-password-file ~/.ssh/.vault_pass.txt` diff --git a/promtail-ansible/install-promtail.sh b/promtail-ansible/install-promtail.sh old mode 100644 new mode 100755 index dc2a944..3384633 --- a/promtail-ansible/install-promtail.sh +++ b/promtail-ansible/install-promtail.sh @@ -1,3 +1,8 @@ #!/bin/bash -ansible-playbook -i inventory install-protail.yml --vault-password-file ~/.ssh/.vault_pass.txt +[[ "$OSTYPE" == "darwin"* ]] && { + echo "Fix ansible bug from https://bit.ly/3tO7ef3" + export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES +} + +ansible-playbook -i inventory install-promtail.yml --vault-password-file ~/.ssh/.vault_pass.txt diff --git a/promtail-ansible/install-promtail.yml b/promtail-ansible/install-promtail.yml index 83a9607..08cff3c 100644 --- a/promtail-ansible/install-promtail.yml +++ b/promtail-ansible/install-promtail.yml @@ -1,9 +1,15 @@ -- hosts: my-nodes +- name: Install Promtail + hosts: my-nodes + gather_facts: true + # become: true vars_files: - "loki-creds.yml" - roles: - - role: patrickjahns.promtail + tasks: + - name: Install Promtail + include_role: + name: patrickjahns.promtail vars: + promtail_version: 2.6.1 promtail_config_server: http_listen_port: 9080 grpc_listen_port: 9081 @@ -12,17 +18,28 @@ external_labels: host: "{{ ansible_hostname }}" basic_auth: - username: {{loki_login }} - password: {{ loki_password }} + username: "{{ loki_login }}" + password: "{{ loki_password }}" promtail_config_positions: filename: "{{ promtail_positions_directory }}/positions.yaml" - sync_period: "60s" - + sync_period: "10s" promtail_config_scrape_configs: - - job_name: system - static_configs: - - targets: - - localhost + - job_name: journal + journal: + max_age: 24h labels: - job: varlogs - __path__: /var/log/*log + job: systemd-journal + relabel_configs: + - source_labels: ['__journal__systemd_unit'] + target_label: 'unit' + - source_labels: ['__journal__hostname'] + target_label: 'hostname' + - job_name: system + pipeline_stages: + static_configs: + - targets: + - localhost + labels: + job: varlogs + host: "{{ ansible_hostname }}" + __path__: /var/log/*.log diff --git a/promtail-ansible/loki-creds.yml b/promtail-ansible/loki-creds.yml index d09846f..21a926f 100644 --- a/promtail-ansible/loki-creds.yml +++ b/promtail-ansible/loki-creds.yml @@ -1,8 +1,10 @@ $ANSIBLE_VAULT;1.1;AES256 -35323636366332323265643731373565383162393733623831333833326364383635356437626663 -3463633538393863396364666466653438333330653931330a643762336231306538316432333939 -34646232323234323965643536373463313539613731656133303737633630313963366136313336 -6463646664356437390a643138383231313034326231646564636334336330313966346139363064 -30663063383332623766393966336132643630363766396137303837643437646462366435373233 -32393330636362653330623031383761376361646236373663343962336131393064303934616463 -303664613531626438363264373333666433 +39373832313563633564353062633035343731383462313665333066346565383034616236396362 +6130653136313930643235346130316636373962373664620a343762343232633937656361323235 +64313530623632643464613630613639353966663638313066333962393638363661623637333966 +3731356239646436630a646232336664666363653030633664623066636432656366643762383064 +37663465663065373261383235386565313436666532393166363938323837313131353834663030 +39356335313638353964336639646435326437633163383134636665663330363533386265346135 +65643933616537383365316635346237653236663131616463366231353163646531393263393165 +34393863383437373566623438636435636466393636363938393831623633636465633866396133 +6132