Entradas

Mostrando las entradas de febrero, 2019

Integrar Telegraf con scripts personalizados para crear monitoreo y gráficos

Hola! Algo que me parece super interesante de Telegraf es la facilidad con la que se pueden integrar scripts custom para la recolección de métricas a través del plugin exec . Recientemente me vi en la tarea de generar gráficos en Grafana en los que pueda visualizar la cantidad de conexiones activas de los usuarios conectados a una base de datos MySQL (o MaríaDB). Con Telegraf es muy simple (y sin usar un cron que corra cada minuto que ejecute el script y escriba los datos en una db). Si bien al script lo tuve que escribir yo, únicamente me tuve que preocupar que el STDOUT del script sea el que espera Telegraf. Dado que mi motor de base de datos en InfluxDB, el formato de dicha salida del script tiene que ser influx . Mi script se ejecutaba de la siguiente manera y devolvía un output: $ ./users_connections.py active_connections,host=mydb.example.net user=user1,active_conns=1234 active_connections,host=mydb.example.net user=user2,active_conns=1235 active_connections,host=mydb

Deploy de public keys con Ansible

Hola! Quienes usamos o empezamos a usar Ansible nos preguntamos cómo instalar la clave pública en los hosts (que pueden ser muchos) que queremos manejar a través de Ansible... usando Ansible mismo :) La respuesta la encontré a través de un playbook que luce de la siguiente manera: $ cat deploy_ssh_key.yml 1: --- 2: - hosts: all 3: gather_facts: false 4: vars_files: 5: - external_vars.yml 6: tasks: 7: - name: Create direcotry 8: file: 9: path: "/home/usuario-remoto/.ssh" 10: state: directory 11: - name: Create empty file 12: file: 13: path: "/home/usuario-remoto/.ssh/authorized_keys" 14: state: touch 15: - name: Put pubkey 16: lineinfile: 17: path: "/home/usuario-remoto/.ssh/authorized_keys" 18: line: "{{ pub_key }}" El archivo external_vars.yml contiene la clave pública: $ cat external_vars.yml --- pub_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAA