Inhoud

Inleiding

Voorwaarden

Vereisten

Gebruikte componenten

Configureren

Verifiëren

Het script plannen

EEM gebruiken

Scheduler gebruiken

Problemen oplossen

Inleiding

In dit document wordt beschreven hoe u CPU en geheugen kunt bewaken met behulp van de ingebouwde python-cli-module en systeemmeldingen.

Voorwaarden

Vereisten

Cisco raadt kennis van de volgende onderwerpen aan:

- Embedded Event Manager

- Nexus Scheduler

Gebruikte componenten

De informatie in dit document is gebaseerd op de volgende software- en hardware-versies:

- Nexus 3000 - 7,0(3)I4(7)

- Nexus 9000 - 7.0(3)I7(1)

De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u de potentiële impact van elke opdracht begrijpen.

Configureren

Controleer bijvoorbeeld het proces-PTP voor de CPU en het geheugen.

Verzeker u ervan dat u deze instelt.

feature ptp

feature scheduler

Het pythonscript wordt gebruikt om de CPU en het geheugen te controleren bij een bepaald proces dat op het apparaat wordt uitgevoerd.

import cisco

import sys

from cli import *

def main(process):

mem = ""

cpu = ""

ptp_cpu = cli('sh proc cpu | i '+process)

ptp_mem = cli('sh proc mem | i '+process)

if ptp_cpu:

csplit = ptp_cpu.split()

cpu = csplit[4]

if ptp_mem:

msplit = ptp_mem.split()

mem = msplit[3]

cli('syslog priority notifications msg for '+process+' mem: '+mem +' and cpu ' + cpu)

return

if __name__ == "__main__":

main(sys.argv[1])

Sla het bestand op als ptp_alert_mem_cpu.py.

Verifiëren

Gebruik dit gedeelte om te bevestigen dat de configuratie correct werkt.

Start het bestand van CLI.

Syntax gebruiken:

python <script> <procesnaam>

Nexus# python bootflash:ptp_alert_mem_cpu.py ptp

Nexus# show logg last 5

2018 Dec 13 10:59:30 Nexus %VSHD-5-VSHD_SYSLOG_CONFIG_I: Configured from vty by admin on vsh.28744

2018 Dec 13 11:02:30 Nexus %VSHD-5-VSHD_SYSLOG_CONFIG_I: Configured from vty by admin on vsh.28867

2018 Dec 13 11:03:37 Nexus %EEM_ACTION-5-NOTIF: for ptp mem: 649089024 and cpu 0.00%

Zoals hier te zien is, wordt dit syslogalarm geactiveerd voor het PTP-proces en omvat CPU- en geheugengebruik.

Dezelfde output wordt gezien vanaf Nexus CLI.

Nexus(config-schedule)# show proc cpu | i ptp

21037          233      4586     50   0.00%  ptp

Nexus(config-schedule)# show proc mem | i ptp

21037   4669440  1018201484649089024   fff201d0/fff1e65c  ptp

Hier is een ander voorbeeld dat aantoont hoe het script gebruikt wordt om een proces te doden zodra het geheugen de gespecificeerde drempel overschrijdt.

Het script neemt twee 'inputs', procesnaam en grootte, waarna het proces moet worden gedood.

Nexus# python bootflash:Check_mem_kill_process.py ptp 23423

Nexus# show logg last 5

2018 Dec 20 07:00:09 BGL14.1-G.17-N3K-C31108PC-1 %EEM_ACTION-5-NOTIF: Killing ptp mem: 691027968

2018 Dec 20 07:00:09 BGL14.1-G.17-N3K-C31108PC-1 %VSHD-5-VSHD_SYSLOG_CMD_EXEC: User:admin executed the command:run bash

2018 Dec 20 07:00:09 BGL14.1-G.17-N3K-C31108PC-1 %SYSMGR-2-SERVICE_CRASHED: Service "ptp" (PID 29107) hasn't caught signal 6 (core will be saved).

Het script plannen

EEM gebruiken

Dit EEM-script wordt elke minuut geactiveerd en vervolgens wordt het syslogbericht gegenereerd.

Nexus(config)# event manager applet mem_cpu

Nexus(config-applet)# event snmp oid 1.3.6.1.4.1.9.9.109.1.1.1.1.6.1 get-type exact entry-op le entry-val 12345 poll-interval 60

Nexus(config-applet)# action 1.0 syslog priority notifications msg Running_mem_cpu_script

Nexus(config-applet)# action 2.0 cli command python bootflash:ptp_alert_mem_cpu.py ptp

Nexus(config-schedule)# show event manager policy internal mem_cpu

Name : mem_cpu

Policy Type : applet

Event Specification : event snmp oid 1.3.6.1.4.1.9.9.109.1.1.1.1.6.1 get-type exact entry-op le entry-val 12345 poll-interval 60

Action : 1.0,sup:syslog priority notifications msg Running_mem_cpu_script;2.0,vsh,sup:command python bootflash:ptp_alert_mem_cpu.py

Event Specification active on : Active

Scheduler gebruiken

Deze plannertaak wordt elke minuut gestart en vervolgens wordt het syslogbericht gegenereerd.

Nexus(config)# feature scheduler

Nexus(config)# scheduler job name ptp

Nexus(config-job)# python bootflash:ptp_alert_mem_cpu.py ptp

Nexus(config-job)# exit

Nexus(config)# scheduler schedule name ptp

Nexus(config-schedule)# job name ptp

Nexus(config-schedule)# time start now repeat 0:0:1

Schedule starts from Thu Dec 13 11:21:13 2018

Nexus(config-schedule)# show scheduler schedule

Schedule Name       : ptp

-------------------------

User Name           : admin

Schedule Type       : Run every 0 Days 0 Hrs 1 Mins

Start Time          : Thu Dec 13 11:21:13 2018

Last Execution Time : Thu Dec 13 11:21:13 2018

Last Completion Time: Thu Dec 13 11:21:17 2018

Execution count     : 1

-----------------------------------------------

Job Name            Last Execution Status

-----------------------------------------------

ptp                               Success (0)

Nexus(config-schedule)# sh logg last 5

2018 Dec 13 11:20:19 Nexus %VSHD-5-VSHD_SYSLOG_CONFIG_I: Configured from vty by admin on vsh.29770

2018 Dec 13 11:20:31 Nexus %VSHD-5-VSHD_SYSLOG_CONFIG_I: Configured from vty by admin on vsh.29777

2018 Dec 13 11:21:17 Nexus %EEM_ACTION-5-NOTIF: for ptp mem: 649089024 and cpu 0.00%

Problemen oplossen

Er is momenteel geen specifieke troubleshooting-informatie beschikbaar voor deze configuratie.