Follow

Bon, Prometheus ou InfluxDB ? Et pourquoi ? T_T
Je penche pour le premier pour l'instant.

@Courgette j'ai pas testé influxdb mais je déploie et configure du prometheus et ça fait ce que j'en attends

@bram Pour faire de la supervision avec envoie de notifications ?

@Courgette oui, là ça me parle sur irc et tout quand c'est down

@Courgette je fais de la supervision multi nodes de l'infra de yunohost au niveau "OS" et de la supervision "externe" genre query DNS (NS) et http

@Courgette si je devais faire une critique rapide je dirais, venant de zabbix ..., que prometheus est vraiment sympa et tombe rapidement en marche comme tu veux sans trop de problèmes, c'est vraiment sympa.

Mais:
- c'est très un toolkit avec rien comme set de base de rules donc tu dois un peu tout écrire ...
- la doc est vraiment sommaire voir mauvaise dans certains cas, c'est quasi que de la référence une fois passé l'intro, mais on s'en sort

@Courgette une critique j'ai vu par contre c'est : tu gardes pas les données à long terme avec donc pour faire de l'analyse c'est bof, ça fait pas du graphite quoi

@bram Merci pour ce retour, ça confirme ce que j'avais en tête après une semaine de tests en tout genre.
Et pour les données à long terme ouais, j'ai rien trouvé d'idéal. Je préfère quand même ça que le monde Nagios (enfin Centreon) d'où je viens.

@Courgette venant du monde de zabbix (spoiler : c'est de la merde) je regrette quand même pas mal que ça soit en mode push et sans templates standards, ça me faisait quand même gagner énormément de temps

Après ça reste quand même grave meilleur mais j'aurais vraiment préféré galèrer moins à tout faire à la main

@bram En mode push ? Prometheus à priori c'est plutôt du pull, avec une gateway un peu pourri pour faire éventuellement du push. C'est d'ailleurs pour ça que je préfère à InfluxDB qui lui ne fonctionne qu'en push, donc chaque agent doit pouvoir écrire directement dans la database.

@Courgette @bram

Ovh a bossé là-dessus pour rendre compatible une logique inverse :

"Prometheus pull logic, but decentralized, and we reverse it to push to feed the platform which has many advantages..."

ovh.com/blog/monitoring-guidel

@bram Ah ! Question naïve : pourquoi tu préfères le push ? (je demande, comme je trouve plus logique le pull :p)

@Courgette c'est + que juste le push, c'est surtout le comportement centralisé où dans zabbix j'avais une UI unifié et je pourrais dire à mes agents ou une partie d'entre eux "rajoute ces métrics en + et lancer ce script à cet endroit là et parse le retour" et avoir tout depuis un endroit et pas avoir à dépendre de ce que veut bien m'offrir un agent

Genre là je vais vouloir faire certains scripts en + et je vais devoir coder des agents custom en plus et c'est lourdingue pour des trucs simple

@bram D'accord, je vois. Pour la partie configuration, je pense qu'à priori je n'aurais pas ce genre de problématique, comme le but c'est que toute la conf soit gérée par ansible.

Après ouais, la partie agent me fait un peu plus peur, parce qu'à la place de juste faire des scripts qui renvoient une valeur il faudra éventuellement faire des agents qu'on peut puller en HTTP. C'est le truc qui me refroidit le plus.

@Courgette ben c'est surtout que les agents ils ont juste un set de métrics et c'est tout la dernière fois que j'ai vu

Sinon tu veux mon idée de hack ignoble que tout le monde m'insulte sur comment torcher un agent custom ?

@Courgette ah et en vrai par contre y a plein plein de libs qui existent et qui peuvent s'intégrer à des softs déjà existant et ça c'est cool

@bram @Courgette [désolé je m'incruste] À noter que Netdata expose déjà dans le bon format pour Prometheus, et qu'il fait déjà un inventaire assez complet de la machine et des services, ça peut éviter de devoir installer 25 exporters différents (sauf cas customs, bien sûr).

@fenix @Courgette ouais mais c'est les cas custom le problème 😅

Et surtout le fait que t'as rien comme exemples de set de rules pour pas avoir à te faire chier à réinventer la roue (à part ce site pas très fourni awesome-prometheus-alerts.grep)

@bram @Courgette Oui, c'est mon très gros frein à l'adoption de cet outil :(

Pour l'instant je suis resté très simple : Netdata pour 90% des besoins, un exporter Promox spécifique, et Grafana avec des dashboards tout prêts pour avoir une vue de mes clusters. Mais j'ai vraiment du mal à basculer mon alerting dessus, typiquement l'état de mon hardware ou de mes scripts c'est pas orienté pour.

C'est clairement un truc de métrologie, pour moi c'est pas vraiment un outil de supervision (même si ça se discute tout à fait et qu'on peut arriver à des résultats sympas quand même).

(Fin de la parenthèse "moi je")

Après il faudrait que je regarde d'un peu plus près la structure de ces exporters, y'a peut-être moyen de faire quelque chose de rigolo pour mes sauvegardes, par exemple :flan_think:

@fenix La partie alertmanager de Promotheus ne m'a pas semblé dégueux perso. (Par contre la partie alerting de Grafana oui)

@bram

Show more

@fenix @Courgette ah oh si, il fait très bien l'alerting avec les règles et tout et c'est même + simple que le trio métrique/trigger/action qu'on retrouve un peu partout tout en étant tout aussi puissant voir +

Après oui, c'est chiant dès qu'on veut un truc qui sort des clous :/

Je vais peut être torcher un exporter custom qui pool tous les scripts d'un répertoire histoire d'avoir un truc générique pour du custom, c'est pas bien difficile à faire quoi.

Show more

@bram Ouais j'ai déjà regardé pas mal, et en vrai, à priori y'a déjà plus ou moins tout ce dont j'ai besoin.

Et sinon ouais je veux bien le hack !

@Courgette alors

C'est IGNOBLE (et j'adore)

Un exporter c'est:
- un truc qui répond sur une requète HTTP GET sur le path "/metrics"
- en suivant un format définie très simple

Dooooooooooonc ...

Si tu fais un script bash (ou autre) ...

Qui produit ce formaaaaat ....

Que tu rediriges son output vers un fichier "metrics" ....

Et que tu le sers statiquement avec nginx/apache ...

Et que tu mets ton script dans un crontab ....

Ben t'as torché l'exporter le + dégeux du monde x)

@bram Merci, je me sens moins seul, j'y avais un peu pensé 😊​
(Puis pour faire encore plus crade, on peut multiplié les crontab du même script + sleep, pour que ça soit mis à jour plus qu'une fois par minute. Ahem.)

@wxcafe @Courgette SO m'a preque engueulé quand je lui raconté cette idée en me disant que j'étais vraiment une sale caricature de dev porc, elle avait l'air particulièrement outrée x)

@bram @Courgette je veux dire tu pourrais faire un script perl en CGI qui répond avec le contenu et qui est appelé dynamiquement par nginx, au moins tes données seraient a jour

Show more

@Courgette

Je ne sais pas pour Prometheus mais pour InfluxDB, t'as intérêt à prévoir du disque...

Sign in to participate in the conversation
Mastodon Opportun.e

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!