Integraciones

Configuración en YAML

La configuración de equipos, comprobaciones y reglas de métricas se puede exportar a un fichero YAML y volver a cargar. Sirve para guardarla en git, montar otra instalación o cambiar muchas cosas a la vez con un editor.

curl -k -b cookies.txt https://atalaya.lan/api/v1/config/export > atalaya.yaml
curl -k -b cookies.txt --data-binary @atalaya.yaml https://atalaya.lan/api/v1/config/import/check
curl -k -b cookies.txt --data-binary @atalaya.yaml https://atalaya.lan/api/v1/config/import

(La sesión se abre como en la API. Hace falta ser administrador.) El primer comando guarda el fichero; el segundo solo dice qué haría; el tercero lo aplica.

version: 1
hosts:
- name: router
  address: 192.168.1.1
  tags: [red]
  checks:
  - name: ping
    type: icmp
    params: {count: 3}
    presence: true
- name: nas
  address: 192.168.1.10
  parent: router
  addresses:
  - address: 192.168.1.11
  checks:
  - name: web
    type: http
    params: {url: "https://{address}:5001/", verify_tls: false}
    interval_s: 60
  - name: disco
    type: ssh
    params: {credential: clave-atalaya, user: atalaya, command: "df --output=pcent / | tail -1 | tr -d ' %'", warn: 85, crit: 95}
rules:
- name: Disco casi lleno
  metric: disk.used_pct
  op: ">"
  threshold: 90
  for_minutes: 10
  severity: warning

Métricas para Prometheus

GET /metrics devuelve el estado en el formato de texto de Prometheus: atalaya_host_up, atalaya_host_status, atalaya_check_status y atalaya_check_value (0 bien, 1 aviso, 2 crítico, 3 sin datos), atalaya_alerts_firing, atalaya_satellite_up y atalaya_satellite_hosts (satélites) y atalaya_metric (las últimas muestras del agente y de SNMP: CPU, memoria, discos, tráfico…, con el nombre de la métrica en la etiqueta metric). Se autentica con un token de cualquier alcance; para Prometheus:

scrape_configs:
  - job_name: atalaya
    scheme: https
    tls_config: {insecure_skip_verify: true}
    authorization: {credentials: "TOKEN"}
    static_configs: [{targets: ["atalaya.lan"]}]