# Auf dem Host, braucht: make, unzip, curl/wget
apt install -y make unzip
git clone --depth 1 https://github.com/prometheus/snmp_exporter.git /tmp/snmp_exporter_src
cd /tmp/snmp_exporter_src/generator
make mibs
cd ~/snmp-generator/snmp_exporter-0.28.0.linux-amd64
cp -r /tmp/snmp_exporter_src/generator/mibs .
apt update
apt install -y snmp-mibs-downloader
download-mibs
mkdir -p ~/snmp-generator/snmp_exporter-0.28.0.linux-amd64/mibs/
cp /var/lib/mibs/ietf/ENTITY-MIB \
/var/lib/mibs/ietf/ENTITY-STATE-MIB \
/var/lib/mibs/ietf/ENTITY-SENSOR-MIB \
/var/lib/mibs/ietf/UUID-TC-MIB \
/var/lib/mibs/ietf/ENTITY-STATE-TC-MIB\
~/snmp-generator/snmp_exporter-0.28.0.linux-amd64/mibs/
cat > ~/snmp-generator/snmp_exporter-0.28.0.linux-amd64/mibs/IANA-ENTITY-MIB << 'EOF'
IANA-ENTITY-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, mib-2 FROM SNMPv2-SMI -- RFC 2578
TEXTUAL-CONVENTION FROM SNMPv2-TC -- RFC 2579
;
ianaEntityMIB MODULE-IDENTITY
LAST-UPDATED "201507160000Z" -- July 16, 2015
ORGANIZATION "IANA"
CONTACT-INFO
"Internet Assigned Numbers Authority
Postal: ICANN
12025 Waterfront Drive, Suite 300
Los Angeles, CA 90094-2536
Phone: +1-310-301-5800
EMail: iana&iana.org"
DESCRIPTION
"This MIB module defines a TEXTUAL-CONVENTION that
provides an indication of the general hardware type
of a particular physical entity.
Copyright (c) 2013 IETF Trust and the persons identified
as authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with
or without modification, is permitted pursuant to, and
subject to the license terms contained in, the
Simplified BSD License set forth in Section 4.c of the
IETF Trust's Legal Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info).
The initial version of this MIB module was published in
RFC 6933; for full legal notices see the RFC itself."
REVISION "201507160000Z" -- July 16, 2015
DESCRIPTION
"Removed space between 'battery' and '(14)'."
REVISION "201507150000Z" -- July 15, 2015
DESCRIPTION
"Added storageDrive(15)."
REVISION "201304050000Z" -- April 5, 2013
DESCRIPTION
"Initial version of this MIB as published in RFC 6933."
::= { mib-2 216 }
-- Textual Conventions
IANAPhysicalClass ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"An enumerated value that provides an indication of
the general hardware type of a particular physical
entity.
There are no restrictions as to the number of
entPhysicalEntries of each entPhysicalClass, which
must be instantiated by an agent.
The enumeration 'other' is applicable if the physical
entity class is known but does not match any of the
supported values.
The enumeration 'unknown' is applicable if the physical
entity class is unknown to the agent.
The enumeration 'chassis' is applicable if the physical
entity class is that of a chassis.
The enumeration 'backplane' is applicable if the
physical entity class is that of a backplane.
The enumeration 'container' is applicable if the
physical entity class is that of a container, e.g., a
card slot or daughter-card.
The enumeration 'powerSupply' is applicable if the
physical entity class is that of a power supply.
The enumeration 'fan' is applicable if the physical
entity class is that of a fan.
The enumeration 'sensor' is applicable if the physical
entity class is that of a sensor.
The enumeration 'module' is applicable if the physical
entity class is that of a module, e.g., a plug-in card
or daughter-card.
The enumeration 'port' is applicable if the physical
entity class is that of a port or connector.
The enumeration 'stack' is applicable if the physical
entity class is that of a stack, e.g., a stack of
multiple chassis.
The enumeration 'cpu' is applicable if the physical
entity class is that of a CPU.
The enumeration 'energyObject' is applicable if the
physical entity class is that of an energy-related
object.
The enumeration 'battery' is applicable if the physical
entity class is that of a battery.
The enumeration 'storageDrive' is applicable if the
physical entity is a storage drive."
SYNTAX INTEGER {
other(1),
unknown(2),
chassis(3),
backplane(4),
container(5),
powerSupply(6),
fan(7),
sensor(8),
module(9),
port(10),
stack(11),
cpu(12),
energyObject(13),
battery(14),
storageDrive(15)
}
END
EOF
cat > ~/snmp-generator/snmp_exporter-0.28.0.linux-amd64/generator.yml << 'EOF'
# generator.yml — Eingabe für den snmp_exporter "generator"
# Erzeugt daraus die finale snmp.yml inkl. vollständigem metrics:-Block.
#
# Voraussetzung: die Cisco-spezifischen MIBs müssen im mibs/-Verzeichnis
# neben dieser Datei liegen (Standard-IETF-MIBs bringt der Generator
# bereits mit). Benötigt werden mindestens:
# - CISCO-SMI, CISCO-TC
# - CISCO-PROCESS-MIB (CPU)
# - CISCO-MEMORY-POOL-MIB (Memory)
# - CISCO-ENVMON-MIB (Temperatur)
# - CISCO-FIREWALL-MIB (Connections, nur ASA)
# - POWER-ETHERNET-MIB (PoE-Basis, nur Catalyst 1300)
# - CISCO-POWER-ETHERNET-EXT-MIB (PoE-Watt pro Port, nur Catalyst 1300)
# - IF-MIB (in Standard-MIBs enthalten)
#
# Download z.B. über https://mibs.cloudapps.cisco.com/ITDIT/MIBS/MainServlet
# oder via snmp-mibs-downloader / Ciscos GitHub-MIB-Repo.
auths:
cisco_v3_authpriv:
version: 3
username: klwmon
security_level: authPriv
password: "AUTH_PASSWORT_HIER"
auth_protocol: SHA256
priv_protocol: AES
priv_password: "PRIV_PASSWORT_HIER" # bewusst ANDERS als password!
modules:
# ---------------------------------------------------------------
# Cisco ASA
# ---------------------------------------------------------------
cisco_asa:
walk:
- sysUpTime
- sysName
# Interfaces
- ifDescr
- ifAlias
- ifOperStatus
- ifAdminStatus
- ifHighSpeed
- ifHCInOctets
- ifHCOutOctets
- ifInErrors
- ifOutErrors
- ifInDiscards
- ifOutDiscards
# CPU
- cpmCPUTotal5min
- cpmCPUTotal5minRev
# Memory
- ciscoMemoryPoolName
- ciscoMemoryPoolUsed
- ciscoMemoryPoolFree
# Temperatur
- ciscoEnvMonTemperatureStatusDescr
- ciscoEnvMonTemperatureStatusValue
- ciscoEnvMonTemperatureState
# Firewall-Connections (ASA-spezifisch)
- cfwConnectionStatValue
lookups:
- source_indexes: [ifIndex]
lookup: ifDescr
- source_indexes: [ifIndex]
lookup: ifAlias
- source_indexes: [ciscoMemoryPoolType]
lookup: ciscoMemoryPoolName
- source_indexes: [ciscoEnvMonTemperatureStatusIndex]
lookup: ciscoEnvMonTemperatureStatusDescr
overrides:
ifAlias:
ignore: false
ifDescr:
ignore: false
max_repetitions: 10
timeout: 30s
retries: 2
# ---------------------------------------------------------------
# Cisco Catalyst 1300
# ---------------------------------------------------------------
cisco_switch:
walk:
- sysUpTime
- sysName
# Interfaces
- ifDescr
- ifAlias
- ifOperStatus
- ifAdminStatus
- ifHighSpeed
- ifHCInOctets
- ifHCOutOctets
- ifInErrors
- ifOutErrors
- ifInDiscards
- ifOutDiscards
# CPU
- cpmCPUTotal5min
- cpmCPUTotal5minRev
# Memory
- ciscoMemoryPoolName
- ciscoMemoryPoolUsed
- ciscoMemoryPoolFree
# PoE (Standard IETF POWER-ETHERNET-MIB)
- pethPsePortDetectionStatus
- pethMainPsePower
- pethMainPseConsumptionPower
- pethMainPseUsageThreshold
# PoE-Leistung pro Port (Cisco-Erweiterung, mW)
- cpeExtPsePortPwrConsumption
lookups:
- source_indexes: [ifIndex]
lookup: ifDescr
- source_indexes: [ifIndex]
lookup: ifAlias
- source_indexes: [ciscoMemoryPoolType]
lookup: ciscoMemoryPoolName
overrides:
ifAlias:
ignore: false
ifDescr:
ignore: false
max_repetitions: 10
timeout: 30s
retries: 2
EOF
cat > ~/snmp-generator/snmp_exporter-0.28.0.linux-amd64/mibs/POWER-ETHERNET-MIB << 'EOF'
POWER-ETHERNET-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, mib-2, OBJECT-TYPE, Integer32,
Gauge32, Counter32, NOTIFICATION-TYPE
FROM SNMPv2-SMI
TruthValue
FROM SNMPv2-TC
MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
FROM SNMPv2-CONF
SnmpAdminString
FROM SNMP-FRAMEWORK-MIB;
powerEthernetMIB MODULE-IDENTITY
LAST-UPDATED "200311240000Z"
ORGANIZATION "IETF Ethernet Interfaces and Hub MIB Working Group"
CONTACT-INFO
"WG Charter:
http://www.ietf.org/html.charters/hubmib-charter.html
Mailing lists:
General Discussion: hubmib@ietf.org
To Subscribe: hubmib-requests@ietf.org
In Body: subscribe your_email_address
Chair: Dan Romascanu
Avaya
Tel: +972-3-645-8414
Email: dromasca@avaya.com
Editor: Avi Berger
PowerDsine Inc.
Tel: 972-9-7755100 Ext 307
Fax: 972-9-7755120
E-mail: avib@PowerDsine.com"
DESCRIPTION
"The MIB module for managing Power Source Equipment (PSE)
working according to the IEEE 802.af Powered
Ethernet (DTE Power via MDI) standard.
The following terms are used throughout this
MIB module. For complete formal definitions,
the IEEE 802.3 standards should be consulted
wherever possible:
Group - A recommended, but optional, entity
defined by the IEEE 802.3 management standard,
in order to support a modular numbering scheme.
The classical example allows an implementor to
represent field-replaceable units as groups of
ports, with the port numbering matching the
modular hardware implementation.
Port - This entity identifies the port within the group
for which this entry contains information. The numbering
scheme for ports is implementation specific.
Copyright (c) The Internet Society (2003). This version
of this MIB module is part of RFC 3621; See the RFC
itself for full legal notices."
REVISION "200311240000Z"
DESCRIPTION "Initial version, published as RFC 3621."
::= { mib-2 105 }
pethNotifications OBJECT IDENTIFIER ::= { powerEthernetMIB 0 }
pethObjects OBJECT IDENTIFIER ::= { powerEthernetMIB 1 }
pethConformance OBJECT IDENTIFIER ::= { powerEthernetMIB 2 }
-- PSE Objects
pethPsePortTable OBJECT-TYPE
SYNTAX SEQUENCE OF PethPsePortEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table of objects that display and control the power
characteristics of power Ethernet ports on a Power
Source Entity (PSE) device. This group will be
implemented in managed power Ethernet switches and
mid-span devices."
::= { pethObjects 1 }
pethPsePortEntry OBJECT-TYPE
SYNTAX PethPsePortEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A set of objects that display and control the power
characteristics of a power Ethernet PSE port."
INDEX { pethPsePortGroupIndex, pethPsePortIndex }
::= { pethPsePortTable 1 }
PethPsePortEntry ::= SEQUENCE {
pethPsePortGroupIndex Integer32,
pethPsePortIndex Integer32,
pethPsePortAdminEnable TruthValue,
pethPsePortPowerPairsControlAbility TruthValue,
pethPsePortPowerPairs INTEGER,
pethPsePortDetectionStatus INTEGER,
pethPsePortPowerPriority INTEGER,
pethPsePortMPSAbsentCounter Counter32,
pethPsePortType SnmpAdminString,
pethPsePortPowerClassifications INTEGER,
pethPsePortInvalidSignatureCounter Counter32,
pethPsePortPowerDeniedCounter Counter32,
pethPsePortOverLoadCounter Counter32,
pethPsePortShortCounter Counter32
}
pethPsePortGroupIndex OBJECT-TYPE
SYNTAX Integer32 (1..2147483647)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This variable uniquely identifies the group
containing the port to which a power Ethernet PSE is
connected. Group means box in the stack, module in a
rack and the value 1 MUST be used for non-modular devices.
Furthermore, the same value MUST be used in this variable,
pethMainPseGroupIndex, and pethNotificationControlGroupIndex
to refer to a given box in a stack or module in the rack."
::= { pethPsePortEntry 1 }
pethPsePortIndex OBJECT-TYPE
SYNTAX Integer32 (1..2147483647)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This variable uniquely identifies the power Ethernet PSE
port within group pethPsePortGroupIndex to which the
power Ethernet PSE entry is connected."
::= { pethPsePortEntry 2 }
pethPsePortAdminEnable OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"true (1) An interface which can provide the PSE functions.
false(2) The interface will act as it would if it had no PSE
function."
REFERENCE
"IEEE Std 802.3af Section 30.9.1.1.2 aPSEAdminState"
::= { pethPsePortEntry 3 }
pethPsePortPowerPairsControlAbility OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Describes the capability of controlling the power pairs
functionality to switch pins for sourcing power. The
value true indicates that the device has the capability
to control the power pairs functionality."
::= { pethPsePortEntry 4 }
pethPsePortPowerPairs OBJECT-TYPE
SYNTAX INTEGER { signal(1), spare(2) }
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"If pethPsePortPowerPairsControlAbility is true, this
object is writable to switch pairs. signal means the
signal pairs only (1,2,3,6) will supply the power. spare
means the spare pairs only (4,5,7,8) will supply the
power."
::= { pethPsePortEntry 5 }
pethPsePortDetectionStatus OBJECT-TYPE
SYNTAX INTEGER {
disabled(1),
searching(2),
deliveringPower(3),
fault(4),
test(5),
otherFault(6)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This variable indicates the port PSE status of the
given port. disabled(1) means that the PSE functionality
is currently disabled. searching(2) means that the PSE
is currently detecting the PD. deliveringPower(3) means
that the PSE is currently delivering power. fault(4)
means that the PSE encountered a problem with the
implementation. test(5) means that the PSE port is
currently in test mode. otherFault(6) means the PSE
state is unknown."
::= { pethPsePortEntry 6 }
pethPsePortPowerPriority OBJECT-TYPE
SYNTAX INTEGER { critical(1), high(2), low(3) }
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This variable indicates the port power priority
that the PSE Application device applies to a given
port."
::= { pethPsePortEntry 7 }
pethPsePortMPSAbsentCounter OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This counter is incremented when the PSE state
diagram transitions directly from the POWER_ON state
to the IDLE state due to tmpdo_timer_done being
asserted."
::= { pethPsePortEntry 8 }
pethPsePortType OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE(0..255))
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This is a user-configurable value that describes the
type of port."
::= { pethPsePortEntry 9 }
pethPsePortPowerClassifications OBJECT-TYPE
SYNTAX INTEGER {
class0(1),
class1(2),
class2(3),
class3(4),
class4(5)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This variable indicates the port power classification
of the given port. This object takes effect only when
the PD is being powered."
::= { pethPsePortEntry 10 }
pethPsePortInvalidSignatureCounter OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This counter is incremented when the PSE state
diagram enters the SIGNATURE_INVALID state."
::= { pethPsePortEntry 11 }
pethPsePortPowerDeniedCounter OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This counter is incremented when the PSE state
diagram enters the POWER_DENIED state."
::= { pethPsePortEntry 12 }
pethPsePortOverLoadCounter OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This counter is incremented when the PSE state
diagram enters the ERROR_DELAY_OVER state."
::= { pethPsePortEntry 13 }
pethPsePortShortCounter OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This counter is incremented when the PSE state
diagram enters the ERROR_DELAY_SHORT state."
::= { pethPsePortEntry 14 }
-- Main PSE group
pethMainPseObjects OBJECT IDENTIFIER ::= { pethObjects 3 }
pethMainPseTable OBJECT-TYPE
SYNTAX SEQUENCE OF PethMainPseEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table of objects that display and control the power
characteristics of a PSE device."
::= { pethMainPseObjects 1 }
pethMainPseEntry OBJECT-TYPE
SYNTAX PethMainPseEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A conceptual row of the pethMainPseTable."
INDEX { pethMainPseGroupIndex }
::= { pethMainPseTable 1 }
PethMainPseEntry ::= SEQUENCE {
pethMainPseGroupIndex Integer32,
pethMainPsePower Integer32,
pethMainPseOperStatus INTEGER,
pethMainPseConsumptionPower Integer32,
pethMainPseUsageThreshold Integer32
}
pethMainPseGroupIndex OBJECT-TYPE
SYNTAX Integer32 (1..2147483647)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This variable uniquely identifies the group containing
the Main PSE on behalf of which this entry contains
information."
::= { pethMainPseEntry 1 }
pethMainPsePower OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The nominal power, expressed in Watts, that the PSE
can deliver."
::= { pethMainPseEntry 2 }
pethMainPseOperStatus OBJECT-TYPE
SYNTAX INTEGER { on(1), off(2), faulty(3) }
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The operational status of the Main PSE."
::= { pethMainPseEntry 3 }
pethMainPseConsumptionPower OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Measured usage power expressed in Watts."
::= { pethMainPseEntry 4 }
pethMainPseUsageThreshold OBJECT-TYPE
SYNTAX Integer32 (1..99)
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This variable controls the power usage threshold,
expressed as a percentage, that the Main PSE uses to
determine whether to generate a notification."
::= { pethMainPseEntry 5 }
-- Notification Control Table
pethNotificationControlTable OBJECT-TYPE
SYNTAX SEQUENCE OF PethNotificationControlEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The table controlling the transmission of notifications
by the agent to a management application."
::= { pethObjects 4 }
pethNotificationControlEntry OBJECT-TYPE
SYNTAX PethNotificationControlEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A conceptual row of pethNotificationControlTable."
INDEX { pethNotificationControlGroupIndex }
::= { pethNotificationControlTable 1 }
PethNotificationControlEntry ::= SEQUENCE {
pethNotificationControlGroupIndex Integer32,
pethNotificationControlEnable TruthValue
}
pethNotificationControlGroupIndex OBJECT-TYPE
SYNTAX Integer32 (1..2147483647)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This variable uniquely identifies the group for
notification control."
::= { pethNotificationControlEntry 1 }
pethNotificationControlEnable OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"If this object is true, then it enables the
generation of pethPsePortOnOffNotification."
::= { pethNotificationControlEntry 2 }
-- Notifications
pethPsePortOnOffNotification NOTIFICATION-TYPE
OBJECTS { pethPsePortDetectionStatus }
STATUS current
DESCRIPTION
"This notification indicates a change in the value of
pethPsePortDetectionStatus."
::= { pethNotifications 1 }
pethMainPowerUsageOnNotification NOTIFICATION-TYPE
OBJECTS { pethMainPseConsumptionPower }
STATUS current
DESCRIPTION
"This notification indicates that a Main PSE
consumption power threshold has been crossed."
::= { pethNotifications 2 }
pethMainPowerUsageOffNotification NOTIFICATION-TYPE
OBJECTS { pethMainPseConsumptionPower }
STATUS current
DESCRIPTION
"This notification indicates that a Main PSE
consumption power threshold is no longer crossed."
::= { pethNotifications 3 }
-- Conformance
pethCompliances OBJECT IDENTIFIER ::= { pethConformance 1 }
pethGroups OBJECT IDENTIFIER ::= { pethConformance 2 }
pethCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for power Ethernet Power
Source Equipment."
MODULE
MANDATORY-GROUPS { pethPsePortGroup, pethMainPseGroup,
pethNotificationControlGroup,
pethNotificationGroup }
::= { pethCompliances 1 }
pethPsePortGroup OBJECT-GROUP
OBJECTS {
pethPsePortAdminEnable,
pethPsePortPowerPairsControlAbility,
pethPsePortPowerPairs,
pethPsePortDetectionStatus,
pethPsePortPowerPriority,
pethPsePortMPSAbsentCounter,
pethPsePortType,
pethPsePortPowerClassifications,
pethPsePortInvalidSignatureCounter,
pethPsePortPowerDeniedCounter,
pethPsePortOverLoadCounter,
pethPsePortShortCounter
}
STATUS current
DESCRIPTION
"A collection of objects providing information and
control of power Ethernet ports."
::= { pethGroups 1 }
pethMainPseGroup OBJECT-GROUP
OBJECTS {
pethMainPsePower,
pethMainPseOperStatus,
pethMainPseConsumptionPower,
pethMainPseUsageThreshold
}
STATUS current
DESCRIPTION
"A collection of objects providing information and
control of the Main PSE."
::= { pethGroups 2 }
pethNotificationControlGroup OBJECT-GROUP
OBJECTS { pethNotificationControlEnable }
STATUS current
DESCRIPTION
"A collection of objects controlling the generation of
notifications."
::= { pethGroups 3 }
pethNotificationGroup NOTIFICATION-GROUP
NOTIFICATIONS {
pethPsePortOnOffNotification,
pethMainPowerUsageOnNotification,
pethMainPowerUsageOffNotification
}
STATUS current
DESCRIPTION
"A collection of notifications for power Ethernet."
::= { pethGroups 4 }
END
EOF
cd ~/snmp-generator/snmp_exporter-0.28.0.linux-amd64
rm ~/snmp-generator/snmp_exporter-0.28.0.linux-amd64/mibs/readynas
rm ~/snmp-generator/snmp_exporter-0.28.0.linux-amd64/mibs/readydataos
cd ~/snmp-generator/snmp_exporter-0.28.0.linux-amd64/mibs
git clone --depth 1 https://github.com/cisco/cisco-mibs.git /tmp/cisco-mibs
cp /tmp/cisco-mibs/v2/CISCO-PROCESS-MIB.my .
cp /tmp/cisco-mibs/v2/CISCO-MEMORY-POOL-MIB.my .
cp /tmp/cisco-mibs/v2/CISCO-ENVMON-MIB.my .
cp /tmp/cisco-mibs/v2/CISCO-FIREWALL-MIB.my .
cp /tmp/cisco-mibs/v2/CISCO-SMI.my .
cp /tmp/cisco-mibs/v2/CISCO-TC.my .
cp /tmp/cisco-mibs/v2/CISCO-QOS-PIB-MIB.my .
cp /tmp/cisco-mibs/v2/CISCO-POWER-ETHERNET-EXT-MIB.my .
docker run --rm -it \
-v "$(pwd)":/opt \
-w /opt \
prom/snmp-generator:v0.28.0 generate
Grafana Dashboard
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 1,
"id": null,
"links": [],
"panels": [
{
"collapsed": false,
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 0
},
"id": 1,
"panels": [],
"title": "Übersicht",
"type": "row"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "red",
"value": null
},
{
"color": "green",
"value": 1
}
]
},
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 6,
"x": 0,
"y": 1
},
"id": 2,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "auto"
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"expr": "count(up{job=~\"$job\", instance=~\"$instance\"} == 1)",
"legendFormat": "online",
"refId": "A"
}
],
"title": "Geräte Online",
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 1
}
]
},
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 6,
"x": 6,
"y": 1
},
"id": 3,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "auto"
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"expr": "count(up{job=~\"$job\", instance=~\"$instance\"} == 0) OR vector(0)",
"legendFormat": "offline",
"refId": "A"
}
],
"title": "Geräte Offline",
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
}
]
},
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 6,
"x": 12,
"y": 1
},
"id": 4,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "auto"
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"expr": "count(ifOperStatus{instance=~\"$instance\"} == 1)",
"legendFormat": "up",
"refId": "A"
}
],
"title": "Interfaces Up",
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "orange",
"value": 1
},
{
"color": "red",
"value": 3
}
]
},
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 6,
"x": 18,
"y": 1
},
"id": 5,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "auto"
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"expr": "count(ifOperStatus{instance=~\"$instance\"} == 2)",
"legendFormat": "down",
"refId": "A"
}
],
"title": "Interfaces Down",
"type": "stat"
},
{
"collapsed": false,
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 5
},
"id": 6,
"panels": [],
"title": "CPU & Memory",
"type": "row"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": true,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"unit": "percent"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 6
},
"id": 7,
"options": {
"legend": {
"calcs": [
"mean",
"max",
"lastNotNull"
],
"displayMode": "table",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "desc"
}
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"expr": "cpmCPUTotal5min{instance=~\"$instance\"}",
"legendFormat": "{{instance}} - CPU {{cpmCPUTotalIndex}}",
"refId": "A"
}
],
"title": "CPU-Auslastung (%) — 5-Minuten-Mittel",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": true,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"unit": "percent"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 6
},
"id": 8,
"options": {
"legend": {
"calcs": [
"mean",
"max",
"lastNotNull"
],
"displayMode": "table",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "desc"
}
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"expr": "(ciscoMemoryPoolUsed{instance=~\"$instance\"} / (ciscoMemoryPoolUsed{instance=~\"$instance\"} + ciscoMemoryPoolFree{instance=~\"$instance\"})) * 100",
"legendFormat": "{{instance}} - {{ciscoMemoryPoolName}}",
"refId": "A"
}
],
"title": "Memory-Auslastung (%)",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"max": 100,
"min": 0,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "yellow",
"value": 70
},
{
"color": "red",
"value": 90
}
]
},
"unit": "percent"
},
"overrides": []
},
"gridPos": {
"h": 6,
"w": 6,
"x": 0,
"y": 14
},
"id": 9,
"options": {
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showThresholdLabels": false,
"showThresholdMarkers": true
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"expr": "cpmCPUTotal5min{instance=~\"$instance\"}",
"legendFormat": "{{instance}}",
"refId": "A"
}
],
"title": "CPU aktuell",
"type": "gauge"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"max": 100,
"min": 0,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "yellow",
"value": 70
},
{
"color": "red",
"value": 90
}
]
},
"unit": "percent"
},
"overrides": []
},
"gridPos": {
"h": 6,
"w": 6,
"x": 6,
"y": 14
},
"id": 10,
"options": {
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showThresholdLabels": false,
"showThresholdMarkers": true
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"expr": "(ciscoMemoryPoolUsed{instance=~\"$instance\"} / (ciscoMemoryPoolUsed{instance=~\"$instance\"} + ciscoMemoryPoolFree{instance=~\"$instance\"})) * 100",
"legendFormat": "{{instance}}",
"refId": "A"
}
],
"title": "Memory aktuell",
"type": "gauge"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": true,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"unit": "bytes"
},
"overrides": []
},
"gridPos": {
"h": 6,
"w": 12,
"x": 12,
"y": 14
},
"id": 11,
"options": {
"legend": {
"calcs": [
"mean",
"max",
"lastNotNull"
],
"displayMode": "table",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "desc"
}
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"expr": "ciscoMemoryPoolFree{instance=~\"$instance\"}",
"legendFormat": "{{instance}} - {{ciscoMemoryPoolName}}",
"refId": "A"
}
],
"title": "Freier Speicher (Bytes)",
"type": "timeseries"
},
{
"collapsed": false,
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 20
},
"id": 12,
"panels": [],
"title": "Interface Bandbreite",
"type": "row"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": true,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"unit": "Mbits"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 21
},
"id": 13,
"options": {
"legend": {
"calcs": [
"mean",
"max",
"lastNotNull"
],
"displayMode": "table",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "desc"
}
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"expr": "irate(ifHCInOctets{instance=~\"$instance\"}[5m]) * 8 / 1000000",
"legendFormat": "{{instance}} - {{ifDescr}} in",
"refId": "A"
}
],
"title": "Interface Traffic — Eingehend (Mbps)",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": true,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"unit": "Mbits"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 21
},
"id": 14,
"options": {
"legend": {
"calcs": [
"mean",
"max",
"lastNotNull"
],
"displayMode": "table",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "desc"
}
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"expr": "irate(ifHCOutOctets{instance=~\"$instance\"}[5m]) * 8 / 1000000",
"legendFormat": "{{instance}} - {{ifDescr}} out",
"refId": "A"
}
],
"title": "Interface Traffic — Ausgehend (Mbps)",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": true,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"unit": "percent"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 29
},
"id": 15,
"options": {
"legend": {
"calcs": [
"mean",
"max",
"lastNotNull"
],
"displayMode": "table",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "desc"
}
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"expr": "(irate(ifHCInOctets{instance=~\"$instance\"}[5m]) * 8) / (ifHighSpeed{instance=~\"$instance\"} * 1000000) * 100",
"legendFormat": "{{instance}} - {{ifDescr}} in",
"refId": "A"
}
],
"title": "Interface Auslastung — Eingehend (%)",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": true,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"unit": "percent"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 29
},
"id": 16,
"options": {
"legend": {
"calcs": [
"mean",
"max",
"lastNotNull"
],
"displayMode": "table",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "desc"
}
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"expr": "(irate(ifHCOutOctets{instance=~\"$instance\"}[5m]) * 8) / (ifHighSpeed{instance=~\"$instance\"} * 1000000) * 100",
"legendFormat": "{{instance}} - {{ifDescr}} out",
"refId": "A"
}
],
"title": "Interface Auslastung — Ausgehend (%)",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"custom": {
"align": "auto",
"cellOptions": {
"type": "auto"
},
"filterable": true
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 37
},
"id": 17,
"options": {
"cellHeight": "sm",
"footer": {
"countRows": false,
"fields": "",
"reducer": [
"sum"
],
"show": false
},
"showHeader": true
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"expr": "ifOperStatus{instance=~\"$instance\"}",
"legendFormat": "",
"refId": "A"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"expr": "ifAdminStatus{instance=~\"$instance\"}",
"legendFormat": "",
"refId": "B"
}
],
"title": "Interface Status Übersicht",
"type": "table"
},
{
"collapsed": false,
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 45
},
"id": 18,
"panels": [],
"title": "Interface Fehler & Discards",
"type": "row"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": true,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"unit": "pps"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 46
},
"id": 19,
"options": {
"legend": {
"calcs": [
"mean",
"max",
"lastNotNull"
],
"displayMode": "table",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "desc"
}
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"expr": "irate(ifInErrors{instance=~\"$instance\"}[5m])",
"legendFormat": "{{instance}} - {{ifDescr}} errors-in",
"refId": "A"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"expr": "irate(ifInDiscards{instance=~\"$instance\"}[5m])",
"legendFormat": "{{instance}} - {{ifDescr}} discards-in",
"refId": "B"
}
],
"title": "Eingehende Fehler / Discards (Rate/s)",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": true,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"unit": "pps"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 46
},
"id": 20,
"options": {
"legend": {
"calcs": [
"mean",
"max",
"lastNotNull"
],
"displayMode": "table",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "desc"
}
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"expr": "irate(ifOutErrors{instance=~\"$instance\"}[5m])",
"legendFormat": "{{instance}} - {{ifDescr}} errors-out",
"refId": "A"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"expr": "irate(ifOutDiscards{instance=~\"$instance\"}[5m])",
"legendFormat": "{{instance}} - {{ifDescr}} discards-out",
"refId": "B"
}
],
"title": "Ausgehende Fehler / Discards (Rate/s)",
"type": "timeseries"
},
{
"collapsed": false,
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 54
},
"id": 21,
"panels": [],
"title": "ASA-spezifisch",
"type": "row"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": true,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 55
},
"id": 22,
"options": {
"legend": {
"calcs": [
"mean",
"max",
"lastNotNull"
],
"displayMode": "table",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "desc"
}
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"expr": "cfwConnectionStatValue{instance=~\"$instance\", cfwConnectionStatDescr=\"Value of the number of active connections\"}",
"legendFormat": "{{instance}}",
"refId": "A"
}
],
"title": "Aktive Verbindungen (Connections)",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": true,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"unit": "celsius"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 55
},
"id": 23,
"options": {
"legend": {
"calcs": [
"mean",
"max",
"lastNotNull"
],
"displayMode": "table",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "desc"
}
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"expr": "ciscoEnvMonTemperatureStatusValue{instance=~\"$instance\"}",
"legendFormat": "{{instance}} - {{ciscoEnvMonTemperatureStatusDescr}}",
"refId": "A"
}
],
"title": "Gehäusetemperatur (°C)",
"type": "timeseries"
},
{
"collapsed": false,
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 63
},
"id": 24,
"panels": [],
"title": "Switch-spezifisch (Catalyst 1300 / PoE)",
"type": "row"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": true,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"unit": "watt"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 64
},
"id": 25,
"options": {
"legend": {
"calcs": [
"mean",
"max",
"lastNotNull"
],
"displayMode": "table",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "desc"
}
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"expr": "pethPsePortPowerDrawn{instance=~\"$instance\"} / 1000",
"legendFormat": "{{instance}} - Port {{pethPsePortDetectionStatus}}",
"refId": "A"
}
],
"title": "PoE Leistungsaufnahme (W)",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"custom": {
"align": "auto",
"cellOptions": {
"type": "auto"
},
"filterable": true
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 64
},
"id": 26,
"options": {
"cellHeight": "sm",
"footer": {
"countRows": false,
"fields": "",
"reducer": [
"sum"
],
"show": false
},
"showHeader": true
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"expr": "pethPsePortDetectionStatus{instance=~\"$instance\"}",
"legendFormat": "",
"refId": "A"
}
],
"title": "PoE Port-Status",
"type": "table"
},
{
"collapsed": false,
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 72
},
"id": 27,
"panels": [],
"title": "System",
"type": "row"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
}
]
},
"unit": "s"
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 8,
"x": 0,
"y": 73
},
"id": 28,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "auto"
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"expr": "sysUpTime{instance=~\"$instance\"} / 100",
"legendFormat": "{{instance}}",
"refId": "A"
}
],
"title": "Uptime",
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "red",
"value": null
},
{
"color": "green",
"value": 1
}
]
},
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 8,
"x": 8,
"y": 73
},
"id": 29,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "auto"
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"expr": "up{job=~\"$job\", instance=~\"$instance\"}",
"legendFormat": "{{instance}}",
"refId": "A"
}
],
"title": "SNMP Scrape Erfolgreich",
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
}
]
},
"unit": "s"
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 8,
"x": 16,
"y": 73
},
"id": 30,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "auto"
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"expr": "scrape_duration_seconds{job=~\"$job\", instance=~\"$instance\"}",
"legendFormat": "{{instance}}",
"refId": "A"
}
],
"title": "Scrape-Dauer (s)",
"type": "stat"
}
],
"refresh": "30s",
"schemaVersion": 39,
"tags": [
"cisco",
"asa",
"catalyst-1300",
"snmp-exporter",
"network"
],
"templating": {
"list": [
{
"current": {
"selected": false,
"text": "Prometheus",
"value": "Prometheus"
},
"hide": 0,
"includeAll": false,
"label": "Datenquelle",
"multi": false,
"name": "DS_PROMETHEUS",
"options": [],
"query": "prometheus",
"queryValue": "",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"type": "datasource"
},
{
"current": {
"selected": false,
"text": "All",
"value": "$__all"
},
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"definition": "label_values(up, job)",
"hide": 0,
"includeAll": true,
"label": "SNMP Exporter Job",
"multi": true,
"name": "job",
"options": [],
"query": {
"query": "label_values(up, job)",
"refId": "StandardVariableQuery"
},
"refresh": 2,
"regex": "",
"skipUrlSync": false,
"sort": 1,
"type": "query"
},
{
"current": {
"selected": false,
"text": "All",
"value": "$__all"
},
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"definition": "label_values(up{job=~\"$job\"}, instance)",
"hide": 0,
"includeAll": true,
"label": "Gerät (Instance)",
"multi": true,
"name": "instance",
"options": [],
"query": {
"query": "label_values(up{job=~\"$job\"}, instance)",
"refId": "StandardVariableQuery"
},
"refresh": 2,
"regex": "",
"skipUrlSync": false,
"sort": 1,
"type": "query"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "browser",
"title": "Cisco ASA & Catalyst 1300 – Performance Übersicht",
"uid": "cisco-asa-c1300-perf",
"version": 1,
"weekStart": ""
}