Назад | Перейти на главную страницу

Как мне собрать показания SNMP с сайтов, которые периодически подключаются?

Я собираю данные SNMP на месте для ряда систем, в настоящее время использующих Cacti. Эти системы распространены на нескольких сайтах, которые не всегда подключены к Интернету, но мне также необходимо централизовать данные в одной системе (сервер, расположенный в центре обработки данных) и получать из нее графики.

Если я напрямую опрошу удаленные системы с помощью централизованного Cacti, я потеряю данные, когда сайт не подключен к Интернету. Я должен записывать данные на месте (у меня есть сервер на каждом сайте, и я могу запускать на нем все, что захочу), а затем «синхронизировать» все с центральной системой.

Один хак может быть кактусом или непосредственно rrdtool на сайте, а затем периодически rsync Данные RRD в центральную систему Cacti, но это не похоже на `` чистое '' решение: каждый RRD должен быть определен в обоих местах и rsync установка скриптов с конкретными именами файлов.

Вы можете предложить лучшее решение? Кактусы не являются обязательным требованием, но я бы хотел использовать что-то подобное в центральной системе. Системам на месте нужно только собирать данные, мне не нужно отображать их там или управлять правами пользователей на просмотр данных и тому подобное, пользователи будут получать доступ только к централизованной системе.

Вам нужен какой-то механизм для хранения и пересылки. RRD имеет rrdcached так что, возможно, вы могли бы кэшировать, а затем в определенное время сбрасывать на диск, смонтированный по NFS.

Вы также можете сделать дамп, отправить файлы и восстановить. Это может быть безопаснее, чем перемещение всего файла.

Я бы установил систему удаленного сбора данных (простой опросчик snmp), которая хранит данные удаленно и с которой можно связаться через http или ssh ... центральный сервер будет пытаться связаться со службой удаленного обслуживания через регулярные промежутки времени. Когда он управляет подключением, он получает обновления, которые были собраны за это время ...

Поскольку rrdtool хорошо работает с обновлениями с метками времени, вы можете повторно воспроизвести обновления в rrds на центральном сайте ...

В качестве бонуса вы даже можете увидеть довольно хорошую производительность, поскольку запуск нескольких обновлений в rrd за один вызов намного эффективнее, чем выполнение этого шаг за шагом.

Один сайт, с которым я работал, имеет аналогичную ситуацию - это rsync файлов, когда соединение установлено. Однако они не используют кактусы, а только базовый mrtg. Я собираюсь сделать то же самое для nagios и его файлов rrd на основе pnp4nagios, чтобы мы могли посмотреть на них в исторических целях, когда спутник не работает.

Проблемы схожи - могу ли я иметь эти экземпляры на центральном сервере, но на самом деле не проводить опрос, чтобы я мог просто иметь экземпляр только для чтения? Я ожидаю, что мне придется редактировать файлы конфигурации nagios на лету, чтобы отключать всю обработку проверок после каждого обновления. И, возможно, отключите уведомления и входные данные pnp4nagios на всякий случай, если проверка будет случайно выполнена.

Таким образом, вопрос для вашего сайта будет заключаться в том, есть ли у cacti (на центральном сервере) способ сделать это, чтобы некоторые из контролируемых хостов могли существовать, но фактически не проводили опрос. Таким образом, файлы конфигурации для каждого удаленного объекта также могут быть просто отключены.

В противном случае, возможно, можно было бы использовать drraw или аналогичный инструмент только для просмотра удаленных сайтов? Хотя желательно иметь 1 консольный интерфейс!