Betrieb

Bereitstellen von app.telemetry Informationen mittels SNMPv3 auf G7 Appliances

Copyright ©

Mindbreeze GmbH, A-4020 Linz, 2018.

Alle Rechte vorbehalten. Alle verwendeten Hard- und Softwarenamen sind Handelsnamen und/oder Marken der jeweiligen Hersteller.

Diese Unterlagen sind streng vertraulich. Durch die Übermittlung und Präsentation dieser Unterlagen alleine werden keine Rechte an unserer Software, an unseren Dienstleistungen und Dienstleistungsresultaten oder sonstigen geschützten Rechten begründet. Die Weitergabe, Veröffentlichung oder Vervielfältigung ist nicht gestattet.

Aus Gründen der einfacheren Lesbarkeit wird auf die geschlechtsspezifische Differenzierung, z.B. Benutzer/-innen, verzichtet. Entsprechende Begriffe gelten im Sinne der Gleichbehandlung grundsätzlich für beide Geschlechter.

EinleitungPermanenter Link zu dieser Überschrift

App.telemetry Stati über SNMPv3 sind nur auf G7 Appliances verfügbar.

Aus Sicherheitsgründen ist SNMP v2c oder v1 nur lokal auf der Appliance verfügbar.

Zusätzlich ist SNMPv3 nur mit definierten Benutzern erlaubt.

Firewall FreischaltungPermanenter Link zu dieser Überschrift

Der SNMP Port ist in der Firewall im Auslieferungszustand nicht freigegeben.

Folgende Zeilen sind dazu am Host in die /var/data/iptables.sh in Zeile 3 und 4 einzutragen:

iptables -t nat -A PREROUTING -m addrtype --dst-type LOCAL -s <trusted source> -p tcp -m tcp --dport 161 -j DOCKER

iptables -t nat -A PREROUTING -m addrtype --dst-type LOCAL -s <trusted source> -p udp -m udp --dport 161 -j DOCKER

Starten sie die Appliance neu um die Regeln anzuwenden.

Nach einem Update müssen die Firewall Regeln erneut angepasst werden. Vom Update Service wird in diesem Fall ein automatisch ein Backup erstellt.

SNMPv3 Benutzer anlegenPermanenter Link zu dieser Überschrift

Um SNMPv3 Benutzer anzulegen, müssen folgende Befehle innerhalb des inspire containers asugeführt werdnen:

systemctl stop snmpd

echo createUser <username> <hash_algo> "<auth_password>" <encryption_algo> "<encryption_pass>" >> /var/lib/net-snmp/snmpd.conf

echo "rouser <username>" >> /config/snmpd/snmpusers.conf

systemctl start snmpd

Parameter:

username: Benutzername

hash_algo: MD5 oder SHA

auth_password: Passwort zur Authentifizierung

encryption_algo: DES oder AES

encryption_pass: Verschlüsselungspasswort

Beispiel:

systemctl stop snmpd

echo createUser v3user SHA "mindbreeze" AES mindbreeze >> /var/lib/net-snmp/snmpd.conf

echo "rouser v3user" >> /config/snmpd/snmpusers.conf

systemctl start snmpd

Die Änderungen sind auch über Updates hinweg persistent.

app.telemetry Informationen abfragenPermanenter Link zu dieser Überschrift

Die app.telemetry Informationen.sind unter folgender OID verfügbar:

iso(1) org(3) dod(6) internet(1) private(4) enterprises(1) fabasoft(17100) apptelemetry(2)

TestPermanenter Link zu dieser Überschrift

Um das Setup zu testen können mittels snmpwalk alle SNMP werte abgefragt werden:

snmpwalk -v3 -a SHA -A mindbreeze -x AES -X mindbreeze -u v3user -l authPriv inspireappliance.domain .1.3.6.1.4.1.17100.2

Anhang: MIBsPermanenter Link zu dieser Überschrift

Fabasoft app.telemetry base MIBPermanenter Link zu dieser Überschrift

--==========================================================================

--  Copyright (c) Fabasoft R&D GmbH, A-4020 Linz, 1988-2018.

--

--  Der Nutzer des Computerprogramms anerkennt, dass der oben stehende

--  Copyright-Vermerk im Sinn des Welturheberrechtsabkommens an der vom

--  Urheber festgelegten Stelle in der Funktion des Computerprogramms

--  angebracht bleibt, um den Vorbehalt des Urheberrechtes genuegend zum

--  Ausdruck zu bringen. Dieser Urheberrechtsvermerk darf weder vom Kunden,

--  Nutzer und/oder von Dritten entfernt, veraendert oder disloziert werden.

--==========================================================================

FABASOFT-MAIN-MIB DEFINITIONS ::=

BEGIN

  IMPORTS

    MODULE-IDENTITY,

    enterprises         FROM SNMPv2-SMI;

  fabasoft MODULE-IDENTITY

    LAST-UPDATED "200706211000Z"

    ORGANIZATION "Fabasoft R&D GmbH"

    CONTACT-INFO

      "Fabasoft R&D GmbH

       Postal: Honauerstrasse 4

               4020 Linz

               AUSTRIA

       Tel: +43 732 606162

       Fax: +43 732 606162 609

       E-mail: support@fabasoft.com"

     DESCRIPTION

       "The Structure of management information for the Fabasoft enterprise."

     ::= { enterprises 17100 }

    -- assigned by IANA (1.3.6.1.4.1.17100)

    -- enterprise number 17100 (so whole number is 1.3.6.1.4.1.17100)

    -- iso(1) org(3) dod(6) internet(1) private(4) enterprises(1) fabasoft(17100)

    components OBJECT IDENTIFIER ::= { fabasoft 1 }

    server OBJECT IDENTIFIER ::= { components 1 }

END

Fabasoft app.telemery MIBPermanenter Link zu dieser Überschrift

-- =========================================================================

-- Copyright (c) Fabasoft R&D GmbH, A-4020 Linz, 1988-2018.

--

-- Alle Rechte vorbehalten. Alle verwendeten Hard- und Softwarenamen sind

-- Handelsnamen und/oder Marken der jeweiligen Hersteller.

--

-- Der Nutzer des Computerprogramms anerkennt, dass der oben stehende

-- Copyright-Vermerk im Sinn des Welturheberrechtsabkommens an der vom

-- Urheber festgelegten Stelle in der Funktion des Computerprogramms

-- angebracht bleibt, um den Vorbehalt des Urheberrechtes genügend zum

-- Ausdruck zu bringen. Dieser Urheberrechtsvermerk darf weder vom Kunden,

-- Nutzer und/oder von Dritten entfernt, verändert oder disloziert werden.

-- =========================================================================

FABASOFT-APPTELEMETRY-MIB DEFINITIONS ::=

BEGIN

  IMPORTS

    fabasoft                              FROM FABASOFT-MAIN-MIB

    OBJECT-TYPE, Integer32,

      MODULE-IDENTITY                     FROM SNMPv2-SMI

    TEXTUAL-CONVENTION, DisplayString     FROM SNMPv2-TC;

  apptelemetry MODULE-IDENTITY

    LAST-UPDATED "201602011000Z"

    ORGANIZATION "Fabasoft R&D GmbH"

    CONTACT-INFO

      "Fabasoft R&D GmbH

       Postal: Honauerstrasse 4

               4020 Linz

               AUSTRIA

       Tel: +43 732 606162

       Fax: +43 732 606162 609

       E-mail: support@fabasoft.com"

     DESCRIPTION

       "The Structure of management information for the Fabasoft app.telemetry."

     ::= { fabasoft 2 }

    -- iso(1) org(3) dod(6) internet(1) private(4) enterprises(1) fabasoft(17100) apptelemetry(2)

    -- <https://www.iana.org/assignments/enterprise-numbers/enterprise-numbers>

  apmServer OBJECT IDENTIFIER ::= { apptelemetry 1 }

  apmStatus OBJECT IDENTIFIER ::= { apmServer 1 }

  

  apmStatusAgentTable OBJECT-TYPE

    SYNTAX      SEQUENCE OF ApmStatusAgentEntry

    MAX-ACCESS  not-accessible

    STATUS      current

    DESCRIPTION

        "This table contains a status information for current app.telemetry agent connections."

    ::= { apmStatus 1 }

  apmStatusAgentEntry OBJECT-TYPE

    SYNTAX      ApmStatusAgentEntry

    MAX-ACCESS  not-accessible

    STATUS      current

    DESCRIPTION

        "A row describing a given agent."

    INDEX   { apmAgentId }

    ::= {apmStatusAgentTable 1 }

  ApmStatusAgentEntry ::= SEQUENCE {

    apmAgentId            Integer32,  

    apmAgentName          DisplayString,

    apmAgentStatus        ApmStatusAgentStatus

  }

ApmStatusAgentStatus ::= TEXTUAL-CONVENTION

    STATUS       current

    DESCRIPTION

            "Represents an app.telemetry agent status."

    SYNTAX       INTEGER { ok(0), warning(1), critical(2), unknown(3) }

apmAgentId OBJECT-TYPE

    SYNTAX      Integer32

    MAX-ACCESS  not-accessible

    STATUS      current

    DESCRIPTION

        "Id of the agent configuration object."

    ::= { apmStatusAgentEntry 1 }

apmAgentName OBJECT-TYPE

    SYNTAX      DisplayString (SIZE (0..255))

    MAX-ACCESS  read-only

    STATUS      current

    DESCRIPTION

        "Name of the agent object."

    ::= { apmStatusAgentEntry 2 }

apmAgentStatus OBJECT-TYPE

    SYNTAX      ApmStatusAgentStatus

    MAX-ACCESS  read-only

    STATUS      current

    DESCRIPTION

        "Current status of the agent connection."

    ::= { apmStatusAgentEntry 3 }

-- ServiceGroup

apmStatusServiceGroupTable OBJECT-TYPE

    SYNTAX      SEQUENCE OF ApmStatusServiceGroupEntry

    MAX-ACCESS  not-accessible

    STATUS      current

    DESCRIPTION

        "This table contains a status information for current service group status."

    ::= { apmStatus 2 }

apmStatusServiceGroupEntry OBJECT-TYPE

    SYNTAX      ApmStatusServiceGroupEntry

    MAX-ACCESS  not-accessible

    STATUS      current

    DESCRIPTION

        "A row describing a given agent."

    INDEX   { apmServiceGroupId }

    ::= {apmStatusServiceGroupTable 1 }

ApmStatusServiceGroupEntry ::= SEQUENCE {

    apmServiceGroupId            Integer32,

    apmServiceGroupName          DisplayString,

    apmServiceGroupStatus        ApmStatusServiceGroupStatus,

    apmServiceGroupParentId      Integer32

  }

ApmStatusServiceGroupStatus ::= TEXTUAL-CONVENTION

    STATUS       current

    DESCRIPTION

            "Represents an app.telemetry agent status."

    SYNTAX       INTEGER { ok(0), warning(1), critical(2), unknown(3) }

apmServiceGroupId OBJECT-TYPE

    SYNTAX      Integer32

    MAX-ACCESS  read-only

    STATUS      current

    DESCRIPTION

        "Id of the agent configuration object."

    ::= { apmStatusServiceGroupEntry 1 }

apmServiceGroupName OBJECT-TYPE

    SYNTAX      DisplayString (SIZE (0..255))

    MAX-ACCESS  read-only

    STATUS      current

    DESCRIPTION

        "Name of the agent object."

    ::= { apmStatusServiceGroupEntry 2 }

apmServiceGroupStatus OBJECT-TYPE

    SYNTAX      ApmStatusServiceGroupStatus

    MAX-ACCESS  read-only

    STATUS      current

    DESCRIPTION

        "Current status of the agent connection."

    ::= { apmStatusServiceGroupEntry 3 }

apmServiceGroupParentId OBJECT-TYPE

    SYNTAX      Integer32

    MAX-ACCESS  read-only

    STATUS      current

    DESCRIPTION

        "Id of the parent service group."

    ::= { apmStatusServiceGroupEntry 4 }

-- Service

apmStatusServiceTable OBJECT-TYPE

    SYNTAX      SEQUENCE OF ApmStatusServiceEntry

    MAX-ACCESS  not-accessible

    STATUS      current

    DESCRIPTION

        "This table contains a status information for current service status."

    ::= { apmStatus 3 }

apmStatusServiceEntry OBJECT-TYPE

    SYNTAX      ApmStatusServiceEntry

    MAX-ACCESS  not-accessible

    STATUS      current

    DESCRIPTION

        "A row describing a given agent."

    INDEX   { apmServiceId }

    ::= {apmStatusServiceTable 1 }

ApmStatusServiceEntry ::= SEQUENCE {

    apmServiceId            Integer32,

    apmServiceName          DisplayString,

    apmServiceStatus        ApmStatusServiceStatus,

    apmServiceParentId      Integer32

  }

ApmStatusServiceStatus ::= TEXTUAL-CONVENTION

    STATUS       current

    DESCRIPTION

            "Represents an app.telemetry agent status."

    SYNTAX       INTEGER { ok(0), warning(1), critical(2), unknown(3) }

apmServiceId OBJECT-TYPE

    SYNTAX      Integer32

    MAX-ACCESS  read-only

    STATUS      current

    DESCRIPTION

        "Id of the agent configuration object."

    ::= { apmStatusServiceEntry 1 }

apmServiceName OBJECT-TYPE

    SYNTAX      DisplayString (SIZE (0..255))

    MAX-ACCESS  read-only

    STATUS      current

    DESCRIPTION

        "Name of the agent object."

    ::= { apmStatusServiceEntry 2 }

apmServiceStatus OBJECT-TYPE

    SYNTAX      ApmStatusServiceStatus

    MAX-ACCESS  read-only

    STATUS      current

    DESCRIPTION

        "Current status of the agent connection."

    ::= { apmStatusServiceEntry 3 }

apmServiceParentId OBJECT-TYPE

    SYNTAX      Integer32

    MAX-ACCESS  read-only

    STATUS      current

    DESCRIPTION

        "Id of the parent service group."

    ::= { apmStatusServiceEntry 4 }

-- ServiceCheck

apmStatusServiceCheckTable OBJECT-TYPE

    SYNTAX      SEQUENCE OF ApmStatusServiceCheckEntry

    MAX-ACCESS  not-accessible

    STATUS      current

    DESCRIPTION

        "This table contains a status information for current service check status."

    ::= { apmStatus 4 }

apmStatusServiceCheckEntry OBJECT-TYPE

    SYNTAX      ApmStatusServiceCheckEntry

    MAX-ACCESS  not-accessible

    STATUS      current

    DESCRIPTION

        "A row describing a given agent."

    INDEX   { apmServiceCheckId }

    ::= {apmStatusServiceCheckTable 1 }

ApmStatusServiceCheckEntry ::= SEQUENCE {

    apmServiceCheckId            Integer32,

    apmServiceCheckName          DisplayString,

    apmServiceCheckStatus        ApmStatusServiceCheckStatus,

    apmServiceCheckParentId      Integer32

  }

ApmStatusServiceCheckStatus ::= TEXTUAL-CONVENTION

    STATUS       current

    DESCRIPTION

            "Represents an app.telemetry service check status."

    SYNTAX       INTEGER { ok(0), warning(1), critical(2), unknown(3) }

apmServiceCheckId OBJECT-TYPE

    SYNTAX      Integer32

    MAX-ACCESS  read-only

    STATUS      current

    DESCRIPTION

        "Id of the agent configuration object."

    ::= { apmStatusServiceCheckEntry 1 }

apmServiceCheckName OBJECT-TYPE

    SYNTAX      DisplayString (SIZE (0..255))

    MAX-ACCESS  read-only

    STATUS      current

    DESCRIPTION

        "Name of the agent object."

    ::= { apmStatusServiceCheckEntry 2 }

apmServiceCheckStatus OBJECT-TYPE

    SYNTAX      ApmStatusServiceCheckStatus

    MAX-ACCESS  read-only

    STATUS      current

    DESCRIPTION

        "Current status of the agent connection."

    ::= { apmStatusServiceCheckEntry 3 }

apmServiceCheckParentId OBJECT-TYPE

    SYNTAX      Integer32

    MAX-ACCESS  read-only

    STATUS      current

    DESCRIPTION

        "Id of the parent service."

    ::= { apmStatusServiceCheckEntry 4 }

END