A.3 Konfigurieren der SNMP-Unterstützung für Solaris 10 OS
Standardmäßig ist die SNMP-Überwachung in Messaging Server deaktiviert. Dieser Standard wird gewählt, um die Anzahl der Dienste zu minimieren, die durch eine standardmäßige Messaging-Serverkonfiguration dargestellt werden. Interpretieren Sie diesen Standardwert nicht so, dass durch die Verwendung der SNMP-Überwachung Leistungseinbußen entstehen.Tatsächlich verbraucht die SNMP-Unterstützung des Messaging-Servers sehr wenig Ressourcen und soll nur minimale Auswirkungen auf den Messaging-Server haben. Das Ergebnis all dessen ist natürlich, dass vor der Verwendung der SNMP-Unterstützung von Messaging Server einmalige Konfigurationsschritte erforderlich sind. Darüber hinaus muss die Standardkonfiguration des Net-SNMP-Master-Agenten der Plattform, snmpd, normalerweise geändert werden, um Unteragenten wie Messaging-Server auszuführen. Diese Frage ist das Thema des nächsten Abschnitts.
A.3.1 Net-SNMP-Konfiguration
Der Net-SNMP-basierte SNMP-Subagent des Messaging-Servers verwendet das AgentX-Protokoll zur Kommunikation mit dem SNMP-Master-Agent der Plattform (RFC 2741). Der Net-SNMPmaster-Agent snmpd muss so konfiguriert sein, dass er die Verwendung des AgentX-Protokolls zulässt. Um dies zu tun, stellen Sie sicher, dass die Plattform snmpd.conf-Datei enthält die Zeile
master agentx
Wenn diese Zeile nicht vorhanden ist, fügen Sie sie hinzu und starten Sie den snmpd-Daemon neu. Beachten Sie, dass das Senden eines SIGHUP-Signals an den Dämon nicht istausreichend. Sobald der snmpd-Daemon neu gestartet wurde, suchen Sie nach dem UNIX-Domain-Socket, den snmpd für AgentXcommunications erstellt. Auf Solaris- und Linux-Systemen wird dieser Socket standardmäßig als spezielle Datei /var/agentx/master angezeigt.vertraue dir.
Die Solaris 10 OS snmpd-Konfiguration wird unten angezeigt:
%cp /etc/sma/snmp/snmpd.conf /etc/sma/snmp/snmpd.conf.save% cat >> /etc/sma/snmp/snmpd.conf# Messaging Server's subagent requires the AgentX protocolmaster agentx^D% cat >> /etc/sma/snmp/snmpd.conf% ls -al /var/agentx/srwxrwxrwx 1 root root 0 Aug 9 13:58 /var/agentx/master
Darüber hinaus ist auf Red Hat Enterprise Linux AS 3-Systemen die Standard-snmpd.die conf-Datei schränkt die Informationen ein, die von der „öffentlichen“ SNMP-Community angezeigt werden können. Es ist daher erforderlich, diese Einschränkung entweder zu entfernen oder um die MIBs zu erweitern, die vom Subagent des Messaging-Servers bereitgestellt werden. Für erste Tests wird letzteres empfohlen. Dies wird erreicht, indem die OID-Teilbäume mib-2.27 und mib-2.28 in die Ansicht „systemview“ aufgenommen werden, wie unten gezeigt. Für die tatsächliche Bereitstellung muss jeder Standort seine Gesamtsicherheitsrichtlinie berücksichtigen. Beachten Sie, dass die Informationen vonder SNMP-Subagent ist „schreibgeschützt“.
% cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.save% cat >>/etc/snmp/snmpd.conf# Messaging Server's subagent requires the AgentX protocolmaster agentx# Messaging Server's subagent exports mib-2.27 and .28# Add the mib-2.27 and .28 OID subtrees to the systemviewview systemview included .1.3.6.1.2.1.27view systemview included .1.3.6.1.2.1.28^D% /sbin/service snmpd restart% ls -al /var/agentx/mastersrwxr-xr-x 1 root root 0 Aug 8 21:20 /var/agentx/master
Wenn Sie SNMP v3-Kontextnamen verwenden, um zwischen theMIBs verschiedener Instanzen von Messaging Server zu unterscheiden, die gleichzeitig auf demselben Hostcomputer ausgeführt werden, müssen Sie außerdem mindestens einen SNMPv3-Benutzernamen und ein Kennwort für die Verwendung mit Ihren SNMP v3-Abfragen konfigurieren.
A.3.2 Konfiguration des Messaging-Server-Subagenten
Für den grundlegenden Betrieb des SNMP-Subagenten des Messaging-Servers müssen Sie ihn nur aktivieren und einen einmaligen manuellen Startbefehl ausgeben. Von nun an wird der Subagent beim Starten oder Stoppen des Messaging-Servers ebenfalls gestartet oder gestoppt. Die notwendigen Befehle, um diese Konfiguration sowohl auf Solarisand Linux zu bewirken, sind wie folgt:
% configutil -o local.snmp.enable -v 1% start-msg snmp
Nach der Ausführung können Sie den Subagenten über die Befehlszeile mit dem Befehl snmpwalk testen. Sehen Sie die Screenshots unten ein Beispiel appropriateto Solaris und Linux. Beachten Sie, dass die Dateien rfc2248.txt und rfc2249.txt sind Kopien der Netzwerkdienste und MTA MIBs. Auf Solaris-Systemen befinden sich diese Dateien auch im Verzeichnis /etc/sma/snmp/mibs/ unter den Namen NETWORK-SERVICES-MIB.txt und MTA-MIB.txt. Es ist nicht notwendig, diese Dateien dem snmpwalk-Tool zur Verfügung zu stellen; Auf diese Weise kann snmpwalk jedoch Namen für jede der MIB-Variablen anstelle ihrer numerischen Objectidentifier (OIDs) drucken.
Grundlegende Tests auf Solaris:
% D=/opt/SUNWmsgsr/examples/mibs /usr/sfw/bin/snmpwalk -v 1 -c public \ -m +$D/rfc2248.txt:$D/rfc2249.txt 127.0.0.1 mib-2.27NETWORK-SERVICES-MIB::applName.1 = STRING: /opt/SUNWmsgsr MTA on mail.siroe.com...% D=/opt/SUNWmsgsr/examples/mibs /usr/sfw/bin/snmpwalk -v 1 -c public \ -m +$D/rfc2248.txt:$D/rfc2249.txt 127.0.0.1 mib-2.28MTA-MIB::mtaReceivedMessages.1 = Counter32: 1452MTA-MIB::mtaStoredMessages.1 = Gauge32: 21...
Grundlegende Tests unter Linux:
% export D=/opt/sun/messaging/examples/mibs% /usr/bin/snmpwalk -v 1 -c public \ -m +$D/rfc2248.txt:$D/rfc2249.txt 127.0.0.1 mib-2.27NETWORK-SERVICES-MIB::applName.1 = STRING: /opt/sun/messaging MTA on mail.siroe.com...% /usr/bin/snmpwalk -v 1 -c public \ -m +$D/rfc2248.txt:$D/rfc2249.txt 127.0.0.1 mib-2.28MTA-MIB::mtaReceivedMessages.1 = Counter32: 21278MTA-MIB::mtaStoredMessages.1 = Gauge32: 7...
A.3.3 Als eigenständiger SNMP-Agent ausführen
Bevor Sie den SNMP-Subagenten von Messaging Server für die Ausführung als eigenständiger SNMP-Agent konfigurieren, müssen Sie zunächst entscheiden, welche Ethernet-Schnittstelle und welcher UDP-Port für SNMP-Anforderungen überwacht werden sollen. Standardmäßig hört es aufalle verfügbaren Ethernet-Schnittstellen über UDP-Port 161. In den meisten Fällen möchten Sie die Portnummer ändern, um den SNMP-Master-Agenten der Plattform, snmpd, nicht zu beeinträchtigen. Unter bestimmten Umständen, z. B. bei einem Failover, möchten Sie auch die Ethernet-Schnittstelle von allen verfügbaren Schnittstellen – INADDR_ANY – in eine bestimmte Schnittstelle ändern, die über ihre IP-Adresse identifiziert wird. Diese beiden Konzepte, Ethernet-Schnittstelle und UDP-Port, werden über das lokale gesteuert.snmp.listenaddr und local.snmp.port-Optionen.
Sobald die Auswahl für die Ethernet-Schnittstelle und den UPD-Port getroffen wurde, wird die lokale.snmp.für diese Option sollte der Wert auf eins gesetzt und der Subagent neu gestartet werden. Nach dem Neustart wird es als SNMP-Agent unabhängig von snmpd und allen Subagenten betrieben.
Wenn Sie beispielsweise als eigenständiger Agent ausgeführt werden möchten, der den UDP-Port 9161 der Ethernet-Schnittstelle mit der IP-Adresse 10.53.1.37 überwacht, geben Sie die folgenden Befehle aus.
Konfigurieren für die Ausführung als eigenständiger Agent:
% configutil -o local.snmp.port -v 9161% configutil -o local.snmp.listenaddr -v 10.53.1.37% configutil -o local.snmp.standalone -v 1% stop-msg snmp% start-msg snmp% snmpwalk -v 1 -c public 10.53.1.37:9161 .SNMPv2-SMI::mib-2.27.1.1.2.1 = STRING: "/opt/SUNWmsgsr MTA on mail.siroe.com"...
A.3.4 Überwachen mehrerer Instanzen von Messagingserver
Zwei Techniken zum Überwachen mehrerer Instanzen von Messagingserver, die auf demselben Hostcomputer ausgeführt werden, werden hier erörtert. Die erste Technik, bei der der Subagent im Standalone-Modus ausgeführt wird, eignet sich gut für HA-Konfigurationen (High Availabilityfailover), bei denen die einzelnen Instanzen von MessagingServer dynamisch zwischen Hostcomputern verschoben werden können. Die zweite Technik, die Verwendung von SNMP v3-Kontextnamen, hat einige begrenzte Vorteile in Situationen, in denen mehrere Instanzen von Messaging Server auf ein einziges System beschränkt sind und es wünschenswert ist, die Anzahl der von SNMP-Überwachungssoftware abgefragten IP-Adressen zu begrenzen (z. B. wenn die Lizenzierung der Überwachungssoftware eine Kostenkomponente für die IP-Adresse aufweist). Diese letztere Technik kann auch in HA-Failoversettings verwendet werden, erfordert jedoch das Abfragen genauso vieler IP-Adressen wie die Standalonemode-Technik.
A.3.5 Verwenden von eigenständigen Agenten für Hochverfügbarkeits-Failover
In einer Hochverfügbarkeits-Failover-Einstellung, in der eine SNMP-Überwachung von MessagingServer gewünscht wird, wird empfohlen, den SNMPsubagent von Messaging Server als eigenständigen Agenten auszuführen, wie in A.3.3 beschrieben, der als eigenständiger SNMP-Agent ausgeführt wird. Wenn die Subagenten im standalonemode ausgeführt werden, sollte jede HA-Instanz des Messaging-Servers über eine lokale Instanz verfügen.snmp.listenaddr Option auf den Wert der Failover-IP dieser Instanz festgelegt address.To zur Vereinfachung der Verwaltung sollte jede Instanz denselben UDP-Port verwenden, aber dieser Port sollte sich von denen unterscheiden, die von den snmpd-Daemons verwendet werden, die auf jedem der physischen Cluster-Hosts ausgeführt werden. Normalerweise verwenden diese Daemons den UDP-Port 161, geben Sie also explizit eine andere Portnummer als den lokalen an.snmp.hafen-Wahl.
Wenn die SNMP-Unterstützung von Messaging Server wie hier empfohlen konfiguriert ist, kann eine Überwachungsstation jede Instanz von Messaging Server über ihre Failover-IP-Adresse oder ihren Hostnamen überwachen, unabhängig davon, auf welchem physischen Cluster-Hostdie Instanz ausgeführt wird. Darüber hinaus können Sie sicher sein, dass die standardmäßigen SNMP-Agenten des Messaging-Servers nicht miteinander in Konflikt geraten, da jeder nur auf seiner eigenen virtuellen Ethernet-Schnittstelle lauscht, die durch die eindeutige Failover-IP-Adresse dieser Instanz identifiziert wird. (Diese virtuellen Ethernet-Schnittstellen werden automatisch vom HA-Failover-Framework erstellt.) Aufgrund der sorgfältigen Auswahl des aUDP-Ports stehen die Agenten nicht in Konflikt mit den snmpd-Daemons, die auf Systemen innerhalb des Clusters ausgeführt werden.
A.3.6 Unterscheidung mehrerer Instanzen über SNMP v3Context Names
Die Verwendung der SNMP-Unterstützung von Messaging Server im Standalone-Modus, wie in A.3.3 beschrieben, die als eigenständiger SNMP-Agent ausgeführt wird, hat zwar keinen Nachteil, es wird jedoch anerkannt, dass einige Sites es vorziehen, einen traditionelleren Subagent-Modus zu verwenden, während weiterhin mehrere Instanzen von Messaging Server überwacht werden können, die gleichzeitig auf demselben System ausgeführt werden.Zum Beispiel ein SNMP-Überwachungssystem, dessen Lizenzmodell die Anzahl der IP-Adressen begrenzt, die abgefragt werden können. Um dieses Ziel zu erreichen, fahren Sie mit der Ausführung fortmessaging Server’s SNMP-Subagent mit local.snmp.standalone setto Null. Konfigurieren Sie außerdem jede Instanz von Messaging Server für die Verwendung eines eindeutigen SNMP v3-Kontextnamens, indem Sie einen Wert ungleich Null für den lokalen Wert angeben.snmp.option enablecontextname. Wenn ein Kontextname anders als der Wert des Dienstes.defaultdomain gewünscht wird, dann legen Sie den gewünschten Namen mit dem lokalen.snmp.kontextname-Option. Sobald jede Instanz des SNMP-Unteragenten des Messaging-Servers neu gestartet wurde, können sie über SNMP v3-Abfragen überwacht werden, die die richtigen Kontextnamen enthalten. Die MIBs von zwei Instanzen von Messaging Server, die auf demselben System ausgeführt werden, unterscheiden sich durch den SNMP v3-Kontextnamen der Instanz, sodass keine Konflikte mit der MIB-Objektkennung (OID) auftreten.
A.3.7 Optionen für den Net-SNMP-basierten SNMP-Subagenten des Messaging-Servers
Die folgenden Optionen gelten nur für den Net-SNMP-basierten SNMP-Subagenten des Messaging-Servers. Dieser Subagent wird auf Solaris-Plattformen mit Solaris10 und höher sowie auf Linux-Plattformen verwendet. Die unten beschriebenen Optionen gelten nicht für den Legacy-SNMP-Subagent, der für Solaris-Plattformen mit Solaris9 und früheren Betriebssystemen bereitgestellt wird.
Die unten beschriebenen Optionen sind configutil options.As so werden ihre Werte mit einem Befehl des Formulars überprüft:
% configutil -o option-name
wobei option-name der Name der Option ist, deren Wert angezeigt werden soll. Um den Wert einer Option festzulegen oder zu ändern, verwenden Sie einen Befehl des Formulars
% configutil -o option-name -v option-value
wobei option-value der zu setzende Wert ist.Änderungen an diesen Optionen erfordern einen Neustart, um wirksam zu werden:
% stop-msg snmp% start-msg snmp
Was folgt, ist eine Beschreibung jeder Option zusammen mit ihrem defaultvalue .
Tabelle A-1 SNMP-Subagent-Optionen
Option (Standard) |
Beschreibung |
lokal.snmp.aktivieren(0) |
Der SNMP-Subagent des Messaging-Servers wird nur ausgeführt, wenn diese Option den Wert 1 oder true hat. In diesem Fall stoppt und startet der Messaging-Server den Subagenten automatisch als Teil der normalen Start- und Herunterfahrvorgänge. Standardmäßig ist diese Option auf Null gesetzt, wodurch der Betrieb des Subagenten deaktiviert wird. Stellen Sie vor dem Aktivieren des Subagenten sicher, dass der Master-Agent der Plattform ordnungsgemäß konfiguriert wurde, wie in A.3.3 beschrieben, der als eigenständiger SNMP-Agent ausgeführt wird. |
lokal.snmp.standalone(0) |
Die SNMP-Unterstützung des Messaging-Servers wird normalerweise als SNMP-Subagent ausgeführt und empfängt SNMP-Anforderungen über den SNMP-Master-Agenten der Plattform, snmpd.Diese Betriebsart ist die Standardeinstellung und wird durch Angabe dieser Option ausgewähltein Wert von 0 oder false. Wie in A.3.3 beschrieben, das als eigenständiger SNMP-Agent ausgeführt wird, kann der Subagent jedoch in einem „eigenständigen“ Modus ausgeführt werden, wobei er als SNMP-Agent unabhängig von snmpd arbeitet. Wenn der Subagent – nowa SNMP Agent – im Standalone-Modus ausgeführt wird, wartet er direkt auf SNMP-Anforderungen an der Ethernet-Schnittstelle und am UDP-Port, die vom lokalen angegeben werden.snmp.listenaddr und local.snmp.port-Optionen. Um in diesem Standalone-Modus ausgeführt zu werden, geben Sie den Wert 1 oder TRUE für diese Option an. Die Ausführung im Standalone-Modus beeinträchtigt nicht andere SNMP-Master- oder Subagenten, die auf dem System ausgeführt werden. |
lokal.snmp.listenaddr(INADDR_ANY) |
Hostname oder IP-Adresse der Ethernet-Schnittstelle, die im Standalone-Modus auf SNMPrequests wartet. Standardmäßig sind alle verfügbaren Schnittstellensind angehört. Dies entspricht der Angabe des Werts INADDR_ANY.Eine bestimmte Schnittstelle kann ausgewählt werden, indem entweder die IP-Adresse oder der Hostname angegeben werden, der dieser Schnittstelle zugeordnet ist. Die Schnittstelle kann entweder physisch seinschnittstelle oder eine virtuelle Schnittstelle. Diese Option wird ignoriert, wenn sie lokal ist.snmp.standalone isset auf 0 oder FALSE. |
lokal.snmp.cachettl(30) |
Time to Live (TTL) in Sekunden für zwischengespeicherte Überwachungsdaten. Diese Option steuert, wie lange der Subagent dieselben Überwachungsdaten meldet, bevor diese Daten mit neuen Informationen vom Messaging-Server aktualisiert werden.Mit Ausnahme von Nachrichtenschleifeninformationen werden Daten standardmäßig nicht länger als 30 Sekunden zwischengespeichert. Loop-Informationen, wie durch Scannen bestimmt für .GEHALTEN Dateien, wird nur einmal alle 10 Minuten aktualisiert. Das becauseof die Ressourcenkosten für das Scannen aller On-Disk-Nachrichtenwarteschlangen. Beachten Sie, dass der Subagent seine Überwachungsdaten nicht kontinuierlich aktualisiert: Er wird nur aktualisiert, wenn er eine SNMP-Anforderung erhält und die zwischengespeicherten Daten abgelaufen sind (d. h. seine TTL überschritten haben). Wenn die TTL auf 30 Sekunden eingestellt ist und SNMP-Anfragen nur alle fünf Minuten gestellt werden, führt jede SNMP-Anfrage dazu, dass der Subagent neue Daten vom Messaging-Server abruft. Das heißt, Daten vonmessaging-Server wird nur einmal alle fünf Minuten erhalten. Wenn andererseits SNMP-Anforderungen alle 10 Sekunden gestellt werden, antwortet der Subagent auf einige dieser Anforderungen mit zwischengespeicherten Daten, die so alt sind wie 29 Sekunden; MessagingServer wird nur einmal alle 30 Sekunden abgefragt. |
lokal.snmp.Serverzeitüberschreitung(5) |
Der Subagent bestimmt den Betriebsstatus jedes überwachten Dienstes, indem er tatsächlich TCP-Verbindungen zu jedem Dienst öffnet und einen Protokollaustausch durchführt. Dieser Timeout-Wert, gemessen in Sekunden, steuert, wie lange der Subagent auf eine Antwort auf jeden Schritt im Protokollaustausch wartet. Standardmäßig wird ein Timeout-Wert von fünf Sekunden verwendet. |
lokal.snmp.directoryscan(1) |
Verwenden Sie diese Option, um zu steuern, ob der Subagent Scans der Nachrichtenwarteschlangen auf der Festplatte für ausführt.GEHALTEN nachricht dateien andthe ältesten nachricht dateien. Diese Informationen entsprechen den MIB-Variablen mtaGroupLoopsDetected, mtaGroupOldestMessageStored und mtaGroupOldestMessageId. Wenn diese Option den Wert 1 oder true hat, wird ein Cache dieser Informationen verwaltet und bei Bedarf aktualisiert. Websites mit Tausenden von Nachrichten in der Warteschlange, die nicht an diesen bestimmten Mib-Variablen interessiert sind, sollten den Wert dieser Option auf 0 oder false setzen. |
lokal.snmp.enablecontextname(0) |
Der Subagent kann seine MIBs unter einem SNMP v3-Kontextnamen registrieren. Wenn dies erledigt ist, können die MIBs nur von einem SNMP v3-Client angefordert werden, der den Kontextnamen in seiner SNMP-Anforderung angibt.Die Verwendung von Kontextnamen ermöglicht es mehreren, unabhängigen Subagenten, NetworkServices und MTA-MIBs unter demselben OID-Baum (d. h. unter demselben SNMPmaster-Agenten) zu registrieren. Weitere Informationen finden Sie unter A.3.4 Überwachen mehrerer Instanzen von Messaging Server. Um die Verwendung von SNMP v3-Kontextnamen zu aktivieren, geben Sie für diese Option den Wert 1 oder true an. Wenn dies erledigt ist, verwendet der Subagent standardmäßig den Wert des Dienstes.defaultdomain optionfür seinen Kontextnamen. Um einen anderen Wert für den Kontextnamen zu verwenden, verwenden Sie local.snmp.kontextname-Option. |
lokal.snmp.contextname(Dienst.defaultdomain) |
Wenn die Verwendung von SNMP v3-Kontextnamen mit local aktiviert wurde.snmp.enablecontextname, diese Option kann verwendet werden, um den vom Subagenten für seine MIBs verwendeten Kontextnamen explizit festzulegen. Die für diese Option angegebenen Werte sind stringvalues und müssen für die Verwendung als SNMP v3-Kontextname geeignet sein. Diese Option wird ignoriert, wenn lokal.snmp.enablecontextname hat den Wert0 oder false. |