Title: | DECmcc user notes file. Does not replace IPMT. |
Notice: | Use IPMT for problems. Newsletter location in note 6187 |
Moderator: | TAEC::BEROUD |
Created: | Mon Aug 21 1989 |
Last Modified: | Wed Jun 04 1997 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 6497 |
Total number of notes: | 27359 |
Hello, I've been working 2 months in a network management project for an university here in Spain. We have used DECmcc V1.2 (SSB), TSAM, ELM AM, ELM FM, VCS, DCM, LTMreports. I've found several problems, some of them reported in this conference but without solution or without date for the solution. I must say that the customer at the end of the service is happy with our solution for integrated network and system management, but He expect more integration in the new versions ...(ie.: VCS, LTMreports,...) The most important need for them is obtain the graphs (from IMPM) with a command, to have the possibility to send regularly to batch without operator intervention. BTW, is there any note for patches and workarounds for version 1.2? (like for V1.1) Thanks in avance by your help, Jose Ignacio. -------------------------------------------------------------------------- PROBLEMS -------- Reports ------- As reported in note 3587 the TCP/IP Interface Reports fails and the LOG give the following output: $define cdd$default cdd$top.ehu $!*************************************************************************** $! This procedure is submitted by MCC_RPTS_TCPIP_INT_DAILY_GRAPH.COM $!*************************************************************************** $ THIS_PROCESS = "" $ PID = F$PID(THIS_PROCESS) $ show sym p1 P1 = "SI3101" $ show sym p2 P2 = "999" $ show sym p3 P3 = "1-SEP-1992 00:00:00.00" $ show sym p4 P4 = " 8-OCT-1992 23:00:00.00" $! show sym PID $ TIME = F$TIME() $ DAY = F$CVTIME(TIME,,"DAY") $ MONTH= F$CVTIME(TIME,,"MONTH") $ YEAR = F$CVTIME(TIME,,"YEAR") $ HOUR = F$CVTIME(TIME,,"HOUR") $ MIN = F$CVTIME(TIME,,"Minute") $ SEC = F$CVTIME(TIME,,"second") $ HUNDREDTH = F$CVTIME(TIME,,"HUNDREDTH") $ space1 = " " $ $ define interface_id_file int_id_tmp.d00000081081503 $ define int_graph_temp1 int_graph.d00000081081503 $ create NODE_HOLD_d00000081081503.grm $!* The following line is intentionally kept blank. $ define mcc$node1 "SI3101" $ define mcc$INTERFACE_ID1 "999" $ define mcc$date1 "1-SEP-1992 00:00:00.00" $ define mcc$date2 " 8-OCT-1992 23:00:00.00" $ define mcc$report_file "INTERFAC.GRM" $! $! Enter datatrieve and store data and interfaces. $! $ datatrieve/interface=character_cell VAX DATATRIEVE V5.1 Digital Query and Report System Type HELP for help set verify ! ! Ready database. ! Ready MCC_EXPORT shared read DECLARE NODE_HOLD PIC X(255). DECLARE INTERFACE_ID_HOLD PIC X(16). DECLARE DATE1_HOLD USAGE DATE. DECLARE DATE2_HOLD USAGE DATE. DECLARE NODE_HOLD1 COMPUTED BY FN$UPCASE(snmp) NODE_HOLD = FN$TRANS_LOG("MCC$NODE1") DECLARE NODE_HOLD1 COMPUTED BY FN$UPCASE ( SNMP ) NODE_HOLD = FN$TRANS_LOG("MCC$NODE1") ^ Expected field option or period, encountered "NODE_HOLD". INTERFACE_ID_HOLD = FN$TRANS_LOG("MCC$INTERFACE_ID1") DATE1_HOLD = FN$DATE(FN$TRANS_LOG("MCC$DATE1")) DATE2_HOLD = FN$DATE(FN$TRANS_LOG("MCC$DATE2")) ! ! Find data ! Find MCC_SNMP_INTERFACE with NODE_HOLD1 CONTAINING NODE_HOLD "NODE_HOLD1" is undefined or used out of context. if INTERFACE_ID_HOLD NE "999" THEN Find current with INTERFACE = INTERFACE_ID_HOLD "CURRENT" is not a readied source, collection, or list. Find current with time_STAMP between DATE1_HOLD and DATE2_HOLD "CURRENT" is not a readied source, collection, or list. Find current with exp_cvr_statistics = 1 "CURRENT" is not a readied source, collection, or list. ! ! Define file to hold data. ! define file for int_graph_temp ready int_graph_temp write int_graph_temp = current "INT_GRAPH_TEMP" is undefined or used out of context. ! ! Write interfaces we are reporting on to a file. ! reduce current to interface REDUCE CURRENT TO INTERFACE ^ Expected end of statement, encountered "TO". on interface_id_file [Looking for statement] for a in current [Looking for statement] print a.interface (-) "CURRENT" is not a readied source, collection, or list. ! ! Done. Exit DTR ! EXIT $ $open/read/error=file_open_error infile int_id_tmp.d00000081081503 $file_open_error: $ write sys$output "Error opening file for circuit_id_tmp" Error opening file for circuit_id_tmp $ EXIT SISGESTI job terminated at 8-OCT-1992 15:04:06.16 Accounting information: Buffered I/O count: 248 Peak working set size: 4687 Direct I/O count: 781 Peak page file size: 12171 Page faults: 2973 Mounted volumes: 0 Charged CPU time: 0 00:00:04.46 Elapsed time: 0 00:00:21.86 ------------------------------------------------------------------------------ Iconic Map- Motif ----------------- (I don't know too much about Motif but ...) The Motif option CLOSE from the window kills DECmcc process. I've read the Release Notes and created a file called DECW$USER_DEFAULTS:DECW$DEFAULTS.DAT with the contents: (DECW$USER_DEFAULT points to SYS$LOGIN) Mwm*MCCclass*clientFunctions: - Close Mwm*shell_class*clientFunctions: - Close Mwm*mcc_graph_resource*clientFunctions: - Close but I still kill my MCC process if I close the Notification window. ------------------------------------------------------------------------------ Terminal Server AM ------------------ 1-We have 3 alarms for all T.Servers running each 5' looking accesibility and resources (CPU & Memory). There is 15 TS. The syntax of the alamrs is always for example: Terminal Server * current CPU usage > 90 If I run a procedure to clear all the alarms and recreate again, my process hangs in RWMBX. (As reported in note 3782) There is a solution for this problem or where can I find the status for it? 2-SHO TERMINAL_SERVER si6111 INTERNER NAMESERVER * ALL ATTRIB gives the following output, where the server name is truncated The real name is shown at the end giving the output from UCX (SHOW NAME_SERVER). The names are truncated as follows: SISA00 -> SISA SISB00 -> SISB ... sun.iris-dcp.es -> sun.iris Terminal_Server SIVX01_NS:.si6111 Internet Nameserver SISA AT 6-OCT-1992 16:19:29 All Attributes Name = SISA Address = 158.227.112.50 Root = False Initial Address = 158.227.112.50 Initial Root = False Terminal_Server SIVX01_NS:.si6111 Internet Nameserver SISB AT 6-OCT-1992 16:19:42 All Attributes Name = SISB Address = 158.227.112.40 Root = False Initial Address = 158.227.112.40 Initial Root = False Terminal_Server SIVX01_NS:.si6111 Internet Nameserver SQDX AT 6-OCT-1992 16:19:48 All Attributes Name = SQDX Address = 158.227.108.30 Root = False Initial Address = 158.227.108.30 Initial Root = False Terminal_Server SIVX01_NS:.si6111 Internet Nameserver SUN.IRIS AT 6-OCT-1992 16:19:55 All Attributes Name = SUN.IRIS Address = 130.206.1.2 Root = False Initial Address = 130.206.1.2 Initial Root = False UCX> sho name_serv BIND Resolver Parameters System State: Started, En led Transport: UDP Domain: si.ehu.es Retry: 4 Timeout: 4 S vers: SISB00, SISA00, sun.iris-dcp.es Process State: Enabled Tra port: Domain: Retry: Timeout: Servers: ------------------------------------------------------------------------------ ELM AM ------ Showing the attributes of a DECbridge 520 I get an error for STATUS partition. MCC> sho bridge sq1101 all attr Bridge SIVX01_NS:.sq1101 AT 8-OCT-1992 13:12:03 All Attributes Name = SIVX01_NS:.sq1101 Address = { 08-00-2B-28-6A-46, 08-00-2B-68-6A-46 } The requested operation cannot be completed MCC Routine Error = %MCC-W-ILVINVVAL, ILV detected invalid value Counter Creation Time = 1-OCT-1992 11:01:52.79 Seconds Operating = 612611 Seconds Management Resets = 0 Powerups = 18 Device Frames Lost = 7730954240 Frames Spanning Tree Mode Changes = 0 Invalid Passwords = 0 Unsolicited Resets = 0 ID = %X08002B286A46 Hardware Type = DEFEB DECbridge 520 Software Version = "V1.1" ROM Version = V2.9.0 Port Count = 2 Root Priority = 128 Bad Hello Limit = 15 Bad Hello Reset Interval = 5 Port Test Passed Threshold = 10 Port Test Interval = 60 Seconds No Frame Interval = 300 Seconds Hello Interval = 1 Seconds Listen Time = 15 Seconds Forwarding Delay = 30 Seconds Last Load Host = 00-00-00-00-00-00 Reset Defaults Switch = False LB100 Spanning Tree Compatibility = Auto-Select LB100 Spanning Tree Version = V0.2.0 LB100 Poll Time = 300 Seconds LB100 Response Timeout = 15 Seconds IEEE802 Spanning Tree Version = V0.0.0 Update Switch = False IP Fragmentation Switch = True NTP Table = { 80-F3 } Device Configuration = ( ( FRU Type = AP Card, FRU State = Working, FRU ID = N/A, FRU Revision = Revision 8 ), ( FRU Type = Single NI Card, FRU State = Working, FRU ID = N/A, FRU Revision = Revision 0 ), ( FRU Type = FI Card, FRU State = Working, FRU ID = N/A, FRU Revision = Revision 8 ), ( FRU Type = QM Card, FRU State = Working, FRU ID = N/A, FRU Revision = Revision 0 ), ( FRU Type = Fan, FRU State = Working, FRU ID = N/A, FRU Revision = Revision 0 ) ) Device Configuration Error Condition = False Location = -- Attribute Not Available Implementation Desc = -- Attribute Not Available Responsible Person = -- Attribute Not Available Phone Number = -- Attribute Not Available MAIL Account = -- Attribute Not Available Remarks = -- Attribute Not Available Text File = -- Attribute Not Available
T.R | Title | User | Personal Name | Date | Lines |
---|---|---|---|---|---|
3877.1 | See note 3866 and note 7 | TOOK::MINTZ | LKG2-2 near pole X3, cube 6072, dtn 226-5033 | Thu Oct 08 1992 14:19 | 12 |
I am glad to hear that your customer is happy! As discussed in note 3866, a new corporate policy has changed the patch strategy. So there are no patches available at this time. Note 7 has new instructions for filing bug reports through the QAR system. I have forwarded this not to the responsible supervisor, but to make sure problems are tracked, you sure enter them as QARs, not notes. Thanks for the feedback, -- Erik | |||||
3877.2 | update to QAR3372 ?? | CTHQ::WOODCOCK | Mon Oct 12 1992 15:57 | 7 | |
With regards to the TCP/IP reports problem is there any update or timeframes available??? I have a customer who still calls with regards to this problem and feels if it's in the SSB kit, it should work. This was originally reported in note 3587 and is QAR #3372. what's the good word, brad... | |||||
3877.3 | Sorry, no answer yet | TOOK::MINTZ | LKG2-2 near pole X3, cube 6072, dtn 226-5033 | Mon Oct 12 1992 17:02 | 10 |
This QAR is still active in our internal (to developers) QAR database, and has not yet been answered: 03372 OP M Yes QD_MERRIFIEL PA M QD_MINTZ 19-AUG-1992 INTERFACE HOURLY GRAPHS REPORT FAILS In general, as QARs that have been transferred from notes are answered, I post the answer in the originating note (new problems should be entered directly through the QAR system; see note 7 for directions). | |||||
3877.4 | syntax errors solved | MLNCSC::BARILARO | Thu Nov 12 1992 08:18 | 295 | |
Hi, I had the same problem for TCP graph reports list on topics 3587, 3877, and entered as QAR 3372. Finally yesterday, having some time, I was able to make it works. What I did is only to solve the syntax error inside the DCL command files and the DTR procedures. I didn't check if there are also "logical" error, I mean I didn't check the algorithms, I presume that the reports produce what they say. I'm not a programmer and the last time that I used DTR was 4 years ago, so it's possible that I miss something. The errors for DAILY and HOURLY graph reports was the same so I include only the DAILY reports, correct the same errors on the HOURLY. A little description, these reports are composed in two parts, the first one is some DTR commands write inside the DCL procedure that read the RDB relation and produce a temporary file that's contains the records that match the selection made (SNMP, interface, date ), the second part run a DTR procedure thats read the temporary file and produce a GRL file for DECGRAPH. There is a syntax error on the first part (the DCL procedure) and another two on the second (the DTR procedure), I'll include these files, I'll put a sign like "<<<<" near the corrections. The DCL procedure MCC_RPTS_TCPIP_INT_DAILY_GRAPH_DTR.COM: ========================================================= $!MCC_RPTS_TCPIP_INT_DAILY_GRAPH_DTR.COM $!************************************************************ $! Copyright (c) Digital Equipment Corporation, 1990 $! All Rights Reserved. Unpublished rights reserved $! under the copyright laws of the United States. $! $! The software contained on this media is proprietary $! to and embodies the confidential technology of $! Digital Equipment Corporation. Possession, use, $! duplication or dissemination of the software and $! media is authorized only pursuant to a valid written $! license from Digital Equipment Corporation. $! $! RESTRICTED RIGHTS LEGEND Use, duplication, or $! disclosure by the U.S. Government is subject to $! restrictions as set forth in Subparagraph (c)(1)(ii) $! of DFARS 252.227-7013, or in FAR 52.227-19, as $! applicable. $!************************************************************ $!*************************************************************************** $! This procedure is submitted by MCC_RPTS_TCPIP_INT_DAILY_GRAPH.COM $!*************************************************************************** $ THIS_PROCESS = "" $ PID = F$PID(THIS_PROCESS) $ show sym p1 $ show sym p2 $ show sym p3 $ show sym p4 $! show sym PID $ TIME = F$TIME() $ DAY = F$CVTIME(TIME,,"DAY") $ MONTH= F$CVTIME(TIME,,"MONTH") $ YEAR = F$CVTIME(TIME,,"YEAR") $ HOUR = F$CVTIME(TIME,,"HOUR") $ MIN = F$CVTIME(TIME,,"Minute") $ SEC = F$CVTIME(TIME,,"second") $ HUNDREDTH = F$CVTIME(TIME,,"HUNDREDTH") $ space1 = " " $ $ define interface_id_file int_id_tmp.d'PID''DAY''HOUR''min''hundreth' $ define int_graph_temp1 int_graph.d'PID''DAY''HOUR''min''hundreth' $ create NODE_HOLD_d'PID''DAY''HOUR''min''hundreth'.grm $!* The following line is intentionally kept blank. $ define mcc$node1 "''p1'" $ define mcc$INTERFACE_ID1 "''p2'" $ define mcc$date1 "''p3'" $ define mcc$date2 "''p4'" $ define mcc$report_file "''p5'" $! $! $! Enter datatrieve and store data and interfaces. $! $ datatrieve/interface=character_cell set verify ! ! Ready database. ! Ready MCC_EXPORT shared read DECLARE NODE_HOLD PIC X(255). DECLARE INTERFACE_ID_HOLD PIC X(16). DECLARE DATE1_HOLD USAGE DATE. DECLARE DATE2_HOLD USAGE DATE. !******************************************************************* ! DECLARE NODE_HOLD1 COMPUTED BY FN$UPCASE(snmp) <<< ! on the original procedure miss the ".", on DTR all the DECLARE command ! MUST terminate with a ".", so the correct one is: DECLARE NODE_HOLD1 COMPUTED BY FN$UPCASE(snmp) . !******************************************************************* NODE_HOLD = FN$TRANS_LOG("MCC$NODE1") INTERFACE_ID_HOLD = FN$TRANS_LOG("MCC$INTERFACE_ID1") DATE1_HOLD = FN$DATE(FN$TRANS_LOG("MCC$DATE1")) DATE2_HOLD = FN$DATE(FN$TRANS_LOG("MCC$DATE2")) ! ! Find data ! Find MCC_SNMP_INTERFACE with NODE_HOLD1 CONTAINING NODE_HOLD if INTERFACE_ID_HOLD NE "999" THEN Find current with INTERFACE = INTERFACE_ID_HOLD Find current with time_STAMP between DATE1_HOLD and DATE2_HOLD Find current with exp_cvr_statistics = 1 ! ! Define file to hold data. ! define file for int_graph_temp ready int_graph_temp write int_graph_temp = current ! ! Write interfaces we are reporting on to a file. ! reduce current to interface on interface_id_file for a in current print a.interface (-) ! ! Done. Exit DTR ! EXIT $ $open/read/error=file_open_error infile int_id_tmp.d'PID''DAY''HOUR''min''hundreth' $ read/end_of_file=normal_exit infile interface_id_rec $ count_hold = 0 $ loop_read_process_int_id: $ count_hold = count_hold + 1 $ interface = F$EDIT(interface_id_rec,"COLLAPSE") $ define hold$interface 'interface' $ Define MCC$INT_GRAPH_FILE int_id_d'PID''DAY''HOUR''min''hundreth'.grl $ datatrieve/interface=character_cell :TCPIP_INT_DAILY_GRAPH_RPT EXIT $! $! Do the graph. $! $ graph/load/nointeractive/monochrome=int_id_d'PID''DAY''HOUR''min''hundreth' int_id_d'PID''DAY''HOUR''min''hundreth' mcc_reports_files:mcc_rpts_lgraph $ append int_id_d'PID''DAY''HOUR''min''hundreth'.grm node_hold_d'PID''DAY''HOUR''min''hundreth'.grm $ delete/nocon int_id_d'PID''DAY''HOUR''min''hundreth'.grl.* $ delete/nocon int_id_d'PID''DAY''HOUR''min''hundreth'.grm.* $ delete/nocon int_id_d'PID''DAY''HOUR''min''hundreth'.grd.* $ delete/nocon int_id_d'PID''DAY''HOUR''min''hundreth'.gri.* $ read/end_of_file=normal_exit infile interface_id_rec $ goto loop_read_process_int_id $ normal_exit: $! $ rename node_hold_d'PID''DAY''HOUR''min''hundreth'.grm 'P5' $ delete/nocon int_id_tmp.d'PID''DAY''HOUR''min''hundreth'.* $ delete/nocon int_graph.d'PID''DAY''HOUR''min''hundreth'.* $ exit $file_open_error: $ write sys$output "Error opening file for circuit_id_tmp" $ EXIT The DTR procedure TCPIP_INT_DAILY_GRAPH_RPT.DTR : ================================================= DELETE TCPIP_INT_DAILY_GRAPH_RPT; REDEFINE PROCEDURE TCPIP_INT_DAILY_GRAPH_RPT ! DECLARE HOLD_DAY PIC XX. DECLARE DATE1_HOLD USAGE DATE. DECLARE DATE2_HOLD USAGE DATE. DECLARE START_DATE USAGE DATE. DECLARE END_DATE USAGE DATE. DECLARE TODAY_HOLD USAGE DATE DEFAULT "TODAY". DECLARE AVE_UTILIZATION USAGE DOUBLE. DECLARE IN_UTILIZATION USAGE DOUBLE. DECLARE OUT_UTILIZATION USAGE DOUBLE. DECLARE NODE_HOLD PIC X(255). DECLARE INT_ID_HOLD USAGE QUAD. ! ! Translate Logical Names. ! NODE_HOLD = FN$TRANS_LOG("MCC$NODE1") INT_ID_HOLD = FN$TRANS_LOG("HOLD$INTERFACE") DATE1_HOLD = FN$DATE(FN$TRANS_LOG("MCC$DATE1")) DATE2_HOLD = FN$DATE(FN$TRANS_LOG("MCC$DATE2")) ! ! Initialize ! HOLD_DAY = "**" ! ! Ready databases ! READY INT_GRAPH_TEMP SHARED READ ! ! Find data !********************************************************************** !FIND INT_GRAPH_TEMP WITH SNMP = NODE_HOLD <<< ! Here DTR open the temporary file, try to produce a collection of records that ! match the SNMP name, BUT if the name on the field is in lowercase you have no ! match..so no records selected and no reports ! If you substitute the "SNMP = NODE_HOLD" with "SNMP cont NODE_HOLD" doesn't ! check if it's in up or lower case. ! ! BTW I don't understand why the programmer that write this procedure want make ! another selection, I mean this DTR procedure is called only after that on the ! DCL procedure with DTR command has already selected on the RDB relation the ! records we're interested on, and write it on a temporary file. ! ! In my opinion it is enough only the selection based on the interface ! ! Anyway using the "cont" relational operator instead of "=" it's work, so: !********************************************************************** FIND INT_GRAPH_TEMP WITH SNMP cont NODE_HOLD FIND CURRENT WITH INTERFACE = INT_ID_HOLD FIND CURRENT WITH TIME_STAMP BETWEEN DATE1_HOLD AND DATE2_HOLD SORTED BY TIME_STAMP ! ! Get actual start and end dates. ! SELECT FIRST START_DATE = TIME_STAMP SELECT LAST END_DATE = TIME_STAMP ! ! Write data to file. ! ON MCC$INT_GRAPH_FILE BEGIN PRINT "TITLE Host:", NODE_HOLD(-) USING X(7), " - ", "Interface id:", INT_ID_HOLD (-) USING Z(4)9 PRINT "SUBTITLE", START_DATE (-) USING X(12), "-", END_DATE (-) USING X(12) PRINT "HORIZONTAL_LABEL DAY" PRINT "VERTICAL_LABEL UTILIZATION" PRINT "X_DATA_TYPE TEXT" PRINT "Y_LEGEND IN_UTIL" PRINT "Y_LEGEND OUT_UTIL" PRINT "Y_LEGEND AVE_UTIL" FOR A IN CURRENT SORTED BY TIME_STAMP BEGIN IF HOLD_DAY = "**" THEN BEGIN HOLD_DAY = A.DAY1 AVE_UTILIZATION = A.TOTAL_UTILIZATION !**************************************************************************** ! IN_UTILIZATION = A.INBOUND_UTILIZATION <<< ! OUT_UTILIZATION = A.OUTBOUND_UTILIZATION <<< ! Another syntax error, on the temporary file doesn't exist the ! INBOUND_UTILIZATION and OUTBOUND_UTILIZATION fields, but the ! IN_UTILIZATION and OUT_UTILIZATION, so you've to substitute all this ! fields. !**************************************************************************** IN_UTILIZATION = A.IN_UTILIZATION OUT_UTILIZATION = A.OUT_UTILIZATION END ELSE BEGIN IF HOLD_DAY NOT EQ A.DAY1 THEN BEGIN PRINT '"', HOLD_DAY(-) USING Z9, '"', " ", IN_UTILIZATION(-) USING Z9.99, " ", OUT_UTILIZATION(-) USING Z9.99, " ", AVE_UTILIZATION(-) USING Z9.99 AVE_UTILIZATION = A.TOTAL_UTILIZATION IN_UTILIZATION = A.IN_UTILIZATION OUT_UTILIZATION = A.OUT_UTILIZATION HOLD_DAY = A.DAY1 END ELSE BEGIN AVE_UTILIZATION = (AVE_UTILIZATION + A.TOTAL_UTILIZATION)/2 IN_UTILIZATION = (IN_UTILIZATION + A.TOTAL_UTILIZATION)/2 OUT_UTILIZATION = (OUT_UTILIZATION + A.TOTAL_UTILIZATION)/2 END END END ! ! Print last record ! IF HOLD_DAY NE "**" THEN PRINT '"', HOLD_DAY(-) USING Z9, '"', " ", IN_UTILIZATION(-) USING Z9.99, " ", OUT_UTILIZATION(-) USING Z9.99, " ", AVE_UTILIZATION(-) USING Z9.99 END FINISH ALL END_PROCEDURE |