Générer des stats sur son infra Salt

Générer des stats sur son infra Salt

Diapos : http://slides.logilab.fr/salt-meetup-stats/

Problématique

Ce qu'on veut

On va toucher à

Fichiers

├── README
├── _outputters
│   ├── highstate_stats_json.py
│   └── highstate_stats.py
├── _modules
│   └── stats.py
├── runners
│   └── stats.py
├── pillars
│   └── schedule.sls
├── _returners
│   └── file.py
└── states
    ├── munin
    │   ├── init.sls
    │   ├── plugins
    │   │   └── salt_distance
    │   └── salt-distance.sls
    └── top.sls

Run

# salt-run stats.highstate_test
host1.logilab.fr     : total 158, todo 20 (12.66%), no_changes 135 (85.44%), changes 0 (0.00%), failed 3 (1.90%)
host2.logilab.fr     : total 564, todo 2 (0.35%), no_changes 562 (99.65%), changes 0 (0.00%), failed 0 (0.00%)
host3.logilab.fr     : total 69, todo 3 (4.35%), no_changes 66 (95.65%), changes 0 (0.00%), failed 0 (0.00%)
[snip]
Total                : total 5838, todo 332 (5.69%), no_changes 5488 (94.00%), changes 0 (0.00%), failed 12 (0.21%)

Interface utilisateur

Output JSON

{
  "local": {
      "changes": 0,
      "total": 80,
      "todo": 3,
      "failed": 0,
      "no_changes": 77
  }
}

Intégration munin

Problèmes rencontrés

Bon points

Code source

Futur

Fin

Arthur Lutz (Logilab) @arthurlutz

cover