This commit is contained in:
2022-11-15 11:11:24 +07:00
parent a08e7b0120
commit 6e05cb4dae
4 changed files with 69 additions and 21 deletions

View File

@@ -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`

7
promtail-ansible/install-promtail.sh Normal file → Executable file
View File

@@ -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

View File

@@ -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: journal
journal:
max_age: 24h
labels:
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
__path__: /var/log/*log
host: "{{ ansible_hostname }}"
__path__: /var/log/*.log

View File

@@ -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