Библиотека сайта 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 посетите страничку :
18.8 Где я могу найти больше информации о Squid и SNMP?
Основное обсуждение: cache-snmp@ircache.net А тут лежит архив.
Запрос на подписку должен быть отправлен на: cache-snmp-request@ircache.net.
Вперед Назад Содержание