Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

Вперед Назад Содержание

18. SNMP

Contributors: Glenn Chisholm.

18.1 Поддерживает ли Squid SNMP?

Действительно, поддержка SNMP доступна в версиях squid 2 и более поздних. Существенное изменение произошло с началом разработки кода версии 2.2. Поэтому есть два набора инструкций как настроить SNMP в squid, убедитесь пожалуйста, что корректно следовали одному из них.

18.2 Включение поддержки SNMP в Squid

Чтобы использовать SNMP, прежде всего нужно включить такую возможность в скрипте configure и пересобрать squid. Сначала запустите скрипт:

        ./configure --enable-snmp  [ ... другие конфигурационные опции ]
Далее перекомпиляция после очистки дерева исходников :
        make clean
        make all
        make install
Когда компиляция завершена и новый бинарник установлен, файл squid.conf требует конфигурации для разрешения доступа; по умолчанию все запросы запрещены. Инструкция, поясняющая как это сделать, разбита на две части, первая - для всех версий Squid от 2.2 и выше, другая - для 2.1 и ниже.

18.3 Конфигурирование Squid 2.2

Для конфигурирования SNMP для начала укажите список сообществ, для которых вы хотели бы разрешить доступ, используя стандартную форму acl:

        acl aclname snmp_community string
К примеру :
        acl snmppublic snmp_community public
        acl snmpjoebloggs snmp_community joebloggs
Создается два списка доступа с двумя различными сообществами, public и joebloggs. Вы можете называть списки доступа и сообществ так как пожелаете .

Указываете порт, который будет слушать агент, модифицируя парамерт "snmp_port", который по умолчанию установлен в 3401. Порт, на который агент будет передавать запросы, не можетт быть использован этим агентом, т.к. "forward_snmpd_port" по умолчанию установлено в off. Это должо быть сконфигурировано для того, чтобы все работало. Запомните, что перед тем как начнут поступать запросы от этого агента, вам необходимо убедиться, что вы соответственно сконфигурировали ваш доступ.

Чтобы разрешить доступ к SNMP-агенту, укажите snmp_access список доступа со строкой сообщества, которое вы перед этим определили. К примеру :

        snmp_access allow snmppublic localhost
        snmp_access deny all
Указанное выше разрешит доступ к агенту любому с локального хоста, кто использует сообщество public. Всем остальным доступ будет запрещен.

Если вы не определили какого-либо списка доступа snmp_access, то доступ к SNMP запрещен по умолчанию.

И наконец, squid позволяет вам настроить адреса, к которым привяжется ангент, для входящего и исходящего трафика. По умолчанию значения установлены в 0.0.0.0, их изменение позволит агенту привязатся к определенному адресу хоста, а не ко всем как установлено по умолчанию.

        snmp_incoming_address 0.0.0.0
        snmp_outgoing_address 0.0.0.0

18.4 Конфигурирование Squid 2.1

Предшествующий Squid 2.1 SNMP код имел большое количество проблем с ACL-ми. Если вы давний пользователь SNMP в Squid, обновите его до версии 2.2 или более свежей.

По умолчанию рабочая конфигурация:

        snmp_port 3401
        snmp_mib_path /local/squid/etc/mib.txt

        snmp_agent_conf view all .1.3.6 included
        snmp_agent_conf view squid .1.3.6 included
        snmp_agent_conf user squid - all all public
        snmp_agent_conf user all all all all  squid
        snmp_agent_conf community public squid squid
        snmp_agent_conf community readwrite all all

Обратите внимание, что для безопасности мы советуем органичить SNMP-доступ к вашему кешу. Вы можете достаточно просто сделать это:

        acl snmpmanagementhosts 1.2.3.4/255.255.255.255 1.2.3.0/255.255.255.0
        snmp_acl public deny all !snmpmanagementhosts
        snmp_acl readwrite deny all
Вы должны точно следовать этим и указанным ниже инструкциям для версии 2.1, чтобы не иметь проблем Парсер имел несколько проблем которые были испралвены в версии 2.2.

18.5 Как я могу опрашивать Squid SNMP Agent

Вы можете протестировать поддерживает ли SNMP ваш Squid посредством программы snmpwalk (snmpwalk это часть NET-SNMP project). Заметьте, что вам необходимо указать SNMP-порт, который в Squid по умолчанию установлен 3401.

        snmpwalk -p 3401 hostname communitystring .1.3.6.1.4.1.3495.1.1
Если вернется нечто подобное:
        enterprises.nlanr.squid.cacheSystem.cacheSysVMsize = 7970816
        enterprises.nlanr.squid.cacheSystem.cacheSysStorage = 2796142
        enterprises.nlanr.squid.cacheSystem.cacheUptime = Timeticks: (766299) 2:07:42.99
значит все работает нормально и вы сможете получать хорошую статистику.

Для разьяснения, что делает каждая строка (OID), вам стоит обкратится к Squid SNMP web pages.

18.6 Для чего я могу использовать SNMP и Squid?

Есть несколько вещей, для которых вы можете использовать SNMP и Squid. Это может быть полезно в некоторой степени для длительного периода наблюдения за тем как работает ваш прокси. Это также может использоваться для решения проблем. К примеру : как обстоит дело и использованем дескрипторов файлов? Или как сильно изменятеся ваша LRU в течении дня. Вещи, которые вы не можете отследить нормально, кроме как часто вызывая cachemgr. Почему бы не позволить MRTG делать это для вас ?

18.7 Как я могу использовать SNMP со Squid?

Есть некторое количество инструментов, которые вы можете использовать для мониторинга Squid посредством SNMP. Многие используют MRTG. Другая хорошая комбинация - NET-SNMP плюс RRDTool. Дополнительную информацию вы можете найти на Squid SNMP web pages.

MRTG

Некоторые используют MRTG для опроса Squid через SNMP интерфейс.

Чтобы получить инструкцию по использованию MRTG совместно со Squid посетите страничку :

  1. Squid + MRTG graphs

18.8 Где я могу найти больше информации о Squid и SNMP?

Основное обсуждение: cache-snmp@ircache.net А тут лежит архив.

Запрос на подписку должен быть отправлен на: cache-snmp-request@ircache.net.


Вперед Назад Содержание