Cacti: пропадают графики при рестарте tun/tap
Есть мониторилка Cacti, которая снимает показания с интерфейсов на сервере. У сервера подняты vpn тунели tun0 и tap0.
Когда происходит какой то обрыв OpenVPN перезапускает интерфейс (reconnect) и жизнь продолжается, но в этот момент cacti перестает отрисовывать график
Если глянуть в Data Query Debug Information
+ Located input field 'ifName' [walk] + Executing SNMP walk for data @ '.1.3.6.1.2.1.31.1.1.1.1' + Found item [ifName='lo'] index: 1 [from value] + Found item [ifName='eth0'] index: 2 [from value] + Found item [ifName='tunl0'] index: 4 [from value] + Found item [ifName='tap1'] index: 85 [from value] + Found item [ifName='tap0'] index: 86 [from value] + Found item [ifName='tun0'] index: 136 [from value] |
то можно заметить, что очень большие значения индексов.
Как привели пример тут , значение индекса инкрементируется не зависимо от имени интерфейса
From the Linux kernel (net/core/dev.c): static int dev_new_index(struct net *net) { static int ifindex; for (;;) { if (++ifindex <= 0) ifindex = 1; if (!__dev_get_by_index(net, ifindex)) return ifindex; } } |
Так что, побороть увеличение индекса можно патчем ядра 🙂
Я не готов вносить правки в ядро ради пары графиков… значит будем ковырять cacti.
Как оказалось, если задавать для мониторинга интерфейс, то какти смотрит на индекс, а если задавать IP, то индекс игнорируется.
Значит можно малой кровью отделаться.
Заходим в Data Sources
Выбираем наш интерфейс
в Custom Data есть такое
Меняем на:
Ждем несколько минут и тестируем )
У меня заработало.