Brocade Fibre Channel templates.

Templates, scripts for templates, scripts and requests for templates.

Moderators: Developers, Moderators

Post Reply
User avatar
gandalf
Developer
Posts: 22383
Joined: Thu Dec 02, 2004 2:46 am
Location: Muenster, Germany
Contact:

Post by gandalf »

Christofer,

I veriefied with snmpwalk, everything is ok. Now I'm analyzing rrd's and cacti.log at home. The rrdupdates look like
  • 02/11/2005 09:35:09 AM - POLLER: Poller[0] CACTI2RRD: /usr/bin/rrdtool update /usr/local/cacti-0.8.6c/rra/fc_1_13_swfcporttxframes_967.rrd --template swFCPortTxWords:swFCPortRxC3Frames:swFCPortRxMcasts:swFCPortRxEncInFrs:swFCPortRxCrcs:swFCPortRxTruncs:swFCPortRxWords:swFCPortTxC2Frames:swFCPortRxFrames:swFCPortRxTooLongs:swFCPortRxBadEofs:swFCPortTxFrames 1108110901:1490476872:4197003763:0:4:0:0:3005295570:27:4197003655:0:0:2497982949
    02/11/2005 09:40:09 AM - POLLER: Poller[0] CACTI2RRD: /usr/bin/rrdtool update /usr/local/cacti-0.8.6c/rra/fc_1_13_swfcporttxframes_967.rrd --template swFCPortTxWords:swFCPortRxC3Frames:swFCPortRxMcasts:swFCPortRxCrcs:swFCPortRxEncInFrs:swFCPortRxTruncs:swFCPortTxC2Frames:swFCPortRxWords:swFCPortRxFrames:swFCPortRxTooLongs:swFCPortRxBadEofs:swFCPortTxFrames 1108111201:1583088292:4197470013:0:0:4:0:27:3185401308:4197469777:0:0:2498246267
    02/11/2005 09:45:09 AM - POLLER: Poller[0] CACTI2RRD: /usr/bin/rrdtool update /usr/local/cacti-0.8.6c/rra/fc_1_13_swfcporttxframes_967.rrd --template swFCPortTxFrames:swFCPortRxBadEofs:swFCPortRxTooLongs:swFCPortRxFrames:swFCPortTxWords:swFCPortRxC3Frames:swFCPortRxMcasts:swFCPortRxEncInFrs:swFCPortRxCrcs:swFCPortRxTruncs:swFCPortRxWords:swFCPortTxC2Frames 1108111501:2498527909:0:0:4197841157:1691993378:4197841206:0:4:0:0:3320571586:27
    02/11/2005 09:50:09 AM - POLLER: Poller[0] CACTI2RRD: /usr/bin/rrdtool update /usr/local/cacti-0.8.6c/rra/fc_1_13_swfcporttxframes_967.rrd --template swFCPortTxWords:swFCPortRxC3Frames:swFCPortRxMcasts:swFCPortRxEncInFrs:swFCPortRxCrcs:swFCPortRxTruncs:swFCPortRxWords:swFCPortTxC2Frames:swFCPortRxFrames:swFCPortRxTooLongs:swFCPortRxBadEofs:swFCPortTxFrames 1108111800:1818458999:4198448263:0:4:0:0:3566896118:27:4198448020:0:0:2498863089
    02/11/2005 09:55:11 AM - POLLER: Poller[0] CACTI2RRD: /usr/bin/rrdtool update /usr/local/cacti-0.8.6c/rra/fc_1_13_swfcporttxframes_967.rrd --template swFCPortRxBadEofs:swFCPortTxFrames:swFCPortRxC3Frames:swFCPortTxWords:swFCPortRxTooLongs:swFCPortRxFrames:swFCPortTxC2Frames:swFCPortRxWords:swFCPortRxTruncs:swFCPortRxCrcs:swFCPortRxEncInFrs:swFCPortRxMcasts 1108112101:0:2499135837:4198952978:1916897556:0:4198952882:27:3767577716:0:0:4:0
    02/11/2005 10:00:12 AM - POLLER: Poller[0] CACTI2RRD: /usr/bin/rrdtool update /usr/local/cacti-0.8.6c/rra/fc_1_13_swfcporttxframes_967.rrd --template swFCPortRxCrcs:swFCPortRxTruncs:swFCPortRxWords:swFCPortTxC2Frames:swFCPortRxFrames:swFCPortRxTooLongs:swFCPortRxBadEofs:swFCPortTxFrames:swFCPortRxEncInFrs:swFCPortRxMcasts:swFCPortRxC3Frames:swFCPortTxWords 1108112401:0:0:3954622221:27:4199417959:0:0:2499367925:4:0:4199418421:1998330514
Apart from the strange mixing of the ds sequence, eveything seems to be ok.
So I had a look at the snmp get in the log. They seem to be alright again. For RxWords they read
  • 09:35:09 swFCPortRxWords, 3005295570
    09:40:09 swFCPortRxWords, 3185401308
    09:45:08 swFCPortRxWords, 3320571586
    09:50:09 swFCPortRxWords, 3566896118
    09:55:09 swFCPortRxWords, 3767577716
    10:00:10 swFCPortRxWords, 3954622221
. At the moment, I'm struggeling with rrdtool to fetch the data and have a look.
User avatar
gandalf
Developer
Posts: 22383
Joined: Thu Dec 02, 2004 2:46 am
Location: Muenster, Germany
Contact:

Post by gandalf »

Christofer,
I tried to rebuild the port rrd from scratch and defined DS max and min as U:

Code: Select all

rrdtool create fc1_967.rrd --start 1108110900 \
DS:swFCPortTxWords:COUNTER:600:U:U \
DS:swFCPortRxWords:COUNTER:600:U:U \
DS:swFCPortTxFrames:COUNTER:600:U:U \
DS:swFCPortRxFrames:COUNTER:600:U:U \
DS:swFCPortTxC2Frames:COUNTER:600:U:U \
DS:swFCPortRxC3Frames:COUNTER:600:U:U \
DS:swFCPortRxMcasts:COUNTER:600:U:U \
DS:swFCPortRxEncInFrs:COUNTER:600:U:U \
DS:swFCPortRxCrcs:COUNTER:600:U:U \
DS:swFCPortRxTruncs:COUNTER:600:U:U \
DS:swFCPortRxTooLongs:COUNTER:600:U:U \
DS:swFCPortRxBadEofs:COUNTER:600:U:U \
RRA:AVERAGE:0.5:1:600 \
RRA:AVERAGE:0.5:6:700 \
RRA:AVERAGE:0.5:24:775 \
RRA:AVERAGE:0.5:288:797
Now I replayed the rrdtool update statements grepped from the cacti.log. With rrdtool xport I dumped one single DS swFCPortRxWords. Everything was ok.
Looking and the brocade xml data template, I saw that nearly all DS had a min of 0 and a max of 100. So I defined another rrd

Code: Select all

rrdtool create fc2_967.rrd --start 1108110900 \
DS:swFCPortTxWords:COUNTER:600:0:100 \
DS:swFCPortRxWords:COUNTER:600:0:100 \
DS:swFCPortTxFrames:COUNTER:600:0:100 \
DS:swFCPortRxFrames:COUNTER:600:0:100 \
DS:swFCPortTxC2Frames:COUNTER:600:0:100 \
DS:swFCPortRxC3Frames:COUNTER:600:0:100 \
DS:swFCPortRxMcasts:COUNTER:600:0:100 \
DS:swFCPortRxEncInFrs:COUNTER:600:0:100 \
DS:swFCPortRxCrcs:COUNTER:600:0:100 \
DS:swFCPortRxTruncs:COUNTER:600:0:100 \
DS:swFCPortRxTooLongs:COUNTER:600:0:100 \
DS:swFCPortRxBadEofs:COUNTER:600:0:100 \
RRA:AVERAGE:0.5:1:600 \
RRA:AVERAGE:0.5:6:700 \
RRA:AVERAGE:0.5:24:775 \
RRA:AVERAGE:0.5:288:797
with those min:max definitions. The rrdtool update with same values was ok, again. But now the dump showed all "NaN"!
So I thing this may be the problem cause. Will try to "rrdtool tune" my productive rrds on monday.

Cheers
Reinhard
royce
Cacti User
Posts: 79
Joined: Wed Dec 29, 2004 7:37 am
Location: Sweden

Post by royce »

Hm...

So setting Maximum Value to some higher than 100. or 0 might help us out? I cant really tell. Please investigate further, and I'll do same here.

Christofer
dimi
Posts: 4
Joined: Thu Feb 10, 2005 5:12 am
Location: Germany

Port names

Post by dimi »

Hi,

I tried to change the 'data queries' to get the names of the Ports in the title, but I'm not shure what the right values are.
I tried 'query_ifDescription' but that looks like it doesn't work.

Can you help me to get the names? In the 'new graphs' window there you can see the Discription of the port. But how do I get this name in the port title?


Thanks
User avatar
gandalf
Developer
Posts: 22383
Joined: Thu Dec 02, 2004 2:46 am
Location: Muenster, Germany
Contact:

Post by gandalf »

royce wrote:Hm...
So setting Maximum Value to some higher than 100. or 0 might help us out? I cant really tell. Please investigate further, ...
Christofer,

back in the office again. Just converted all my 192 brocade rrds:

Code: Select all

rrdtool tune <dsn> --maximum <ds1>:U --maximum <ds2>:U ...
for all ds. Here's the result (see graph below, the blue areas!).
I checked all Ports on all switches: no more NaN's. So everything seems to be fine. Now will check the Data Templates. Only swFCPortTxWords has no maximum defined, all other ds have a max value of 100 (which is the default, if you create a Data Template DS).
Thank you again for your templates.

Reinhard
Attachments
Now Port 1 reports even RxWords!
Now Port 1 reports even RxWords!
FC image1 ok.png (16.44 KiB) Viewed 19758 times
sabey
Posts: 11
Joined: Tue Nov 09, 2004 6:15 am

Post by sabey »

Hey,

I have the same issue with some value in the graph that are NaN like the RxWords. I don't understand exactly what you did LVM, How to a fix that ?

Thanks
User avatar
gandalf
Developer
Posts: 22383
Joined: Thu Dec 02, 2004 2:46 am
Location: Muenster, Germany
Contact:

Post by gandalf »

sabey wrote:How to a fix that ?
Ok, sabey,

here we go:

Code: Select all

rrdtool tune fc2_967.rrd  \
--maximum swFCPortTxWords:U \
--maximum swFCPortRxWords:U \
--maximum swFCPortTxFrames:U \
--maximum swFCPortRxFrames:U \
--maximum swFCPortTxC2Frames:U \
--maximum swFCPortRxC3Frames:U \
--maximum swFCPortRxMcasts:U \
--maximum swFCPortRxEncInFrs:U \
--maximum swFCPortRxCrcs:U \
--maximum swFCPortRxTruncs:U \
--maximum swFCPortRxTooLongs:U \
--maximum swFCPortRxBadEofs:U
Of course, you have to replace fc2_967.rrd with the name of your own rrd file (to be found in <path_cacti>/rra). You have to repeat this for each rrd file.
Then you have to modify the data template Brocade RC DataTemplate. Each data source item (e.g. swFCPortRxBadEofs should have the value 0 as Maximum Value. This ensures, that each newly defined Switch will have correct Maximum Values.
More info: man rrdtune

hth
sabey
Posts: 11
Joined: Tue Nov 09, 2004 6:15 am

Thanks a other question

Post by sabey »

Thank for the solution! Work fine now. Do you have an idea what is the relationship bettween the SNMP metric (RxWords/TxWords, RxFrames, TxFrames) and the PortPerfShow ? I have a port that run steady at over 15MB/s and the graph only show average of RxWords 4.47MB/s. and 0 for TxWords and few Kbs for TX/RX Frames.

Thanks
sabey
Posts: 11
Joined: Tue Nov 09, 2004 6:15 am

Performance stats from MIB

Post by sabey »

Just to update that a bit, I found that on the Brocade web site:

Transmission word: A string of four consecutive transmission characters.

Does that mean the 1 Rx or Tx Words mean 4 x 8 bit = 32bits ?

Also, someone have more information about the Rx/Tx Frames ? What's that mean ?

Thanks
royce
Cacti User
Posts: 79
Joined: Wed Dec 29, 2004 7:37 am
Location: Sweden

Post by royce »

Hm.

That makes sense. Let's investigate this further.

Anyway. I've upgraded the templates with the max value '0'.

I'm about to write indexed snmp-queries for fan and temp sensors later on. Or if someone wants to contribute with these would be nice.
It seems that the code within the switch-software have pre-defined sensor counters from factory. If the sensors isn't present it'll return a negative value. As I dont know how to sort those sensors out from a basic indexed snmp query I'm afraid i have to write a perl script that filter these sensors out.

Ideas?

Christofer
sabey
Posts: 11
Joined: Tue Nov 09, 2004 6:15 am

Rx/Tx FC Word size

Post by sabey »

Hi all,

After reading few RFC on FC protocol I found that the FC Word is a 4 character of 8 bit so 32bit but, the FC protocol encapsulate those character into a 10bit format so on the pipe, a 32bit data is 40bit.

Now based on a discussion with Brocade, the portpershow show the amount of data non encapsulated. After a test, the SNMP formula:

RxWOrd + TxWord * 4 give the same results as PortPerfShow.

So I did a new CDEF called FCWordSize with this formula:

item #1 : Special Data Source: CURRENT_DATA_SOURCE
item #2 : Custom String: 4
item #3 : Operator: *

And update the graph to use this CDEF.

:-)
royce
Cacti User
Posts: 79
Joined: Wed Dec 29, 2004 7:37 am
Location: Sweden

Post by royce »

Hm. That sould make sense. I get values around 15G now. Our brocades run at 2gig... strange. what does your graphs tell?

Christofer
ulasyuksel
Posts: 5
Joined: Fri Apr 08, 2005 7:54 am

word means

Post by ulasyuksel »

As far as I know..

I am using a formula.

number of words / 262144 MB/sec

262144=1024*1024 / 4 means 1 word is four bytes
Suzumushi
Posts: 8
Joined: Thu May 12, 2005 9:14 am

?

Post by Suzumushi »

has anyone something similar but for Qlogic FC switches ?
meaby only mib tree can be edited...
aby ideas or help ?


best regards
jbiel
Posts: 20
Joined: Thu May 05, 2005 12:26 pm

Post by jbiel »

Both templates import into 0.8.6d fine, but when I go to add the device I get this error when I click save:

Warning: Variable passed to each() is not an array or object in /var/apache/htdocs/cacti/lib/data_query.php on line 490

Warning: Cannot modify header information - headers already sent by (output started at /var/apache/htdocs/cacti/lib/data_query.php:490) in /var/apache/htdocs/cacti/host.php on line 121

BUT, I can click the back button and go to Devices list and the device is there listed fine.

I also do get:

Data Query [Brocade FC Switch] Reload Associated Query
Error in data query.

When I attempt to create graphs for the hosts.

Any help would be great. These are Silkworm 2400 switches.
Jason
Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests