Ad Widget

Collapse

2 Suggestions (Graphing Parameters and Network Hardware Detection)

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • joe
    Junior Member
    • Nov 2004
    • 27

    #1

    2 Suggestions (Graphing Parameters and Network Hardware Detection)

    I have 2 suggestions and / or questions for Zabbix....

    1) When adding a Graph Parameter, you must choose from a list of ALL items. This list can get absolutely huge. Has there been any discussion about other ways to present this data? Possibly do something with dual lookup boxes? First choose the host, and then display the valid items from that host?

    If we add all of our equipment (with the different Zabbix agents per host, as well as up to 1000 items per network switch) that dropdown box will be a mess.

    2) It seems that Zabbix is geared towards servers, although it does have SNMP capabilities. When working with the Cisco chassis', the number of ports/interfaces varies greatly. I don't think templates will really cut it. Some form of automatic detection of interfaces will be required. The "cfgmaker" from MRTG does something like this. I am going to take a look at it and see if it can be adapted to insert the gathered information right into the database and possibly automatically create the graphs.

    I think the basics are there, it just needs some tweaking for network management use. Are there any other network admins out there using this tool? How have you made this work for you?

    Thanks!

    joe
  • Alexei
    Founder, CEO
    Zabbix Certified Trainer
    Zabbix Certified SpecialistZabbix Certified Professional
    • Sep 2004
    • 5654

    #2
    Originally posted by joe
    1) When adding a Graph Parameter, you must choose from a list of ALL items. This list can get absolutely huge. Has there been any discussion about other ways to present this data? Possibly do something with dual lookup boxes? First choose the host, and then display the valid items from that host?
    Usability of PHP front-end for medium sized environments (thousands of hosts/metrics) is one of top priorities for 1.1. This will be implemented.
    Originally posted by joe
    2) It seems that Zabbix is geared towards servers, although it does have SNMP capabilities. When working with the Cisco chassis', the number of ports/interfaces varies greatly. I don't think templates will really cut it. Some form of automatic detection of interfaces will be required. The "cfgmaker" from MRTG does something like this. I am going to take a look at it and see if it can be adapted to insert the gathered information right into the database and possibly automatically create the graphs.
    Network discovery functions will not be part of 1.1. However I keep this in mind, so hopefully it will be done in 1.2 or 2.0, who knows.

    Thanks for your suggestions!
    Alexei Vladishev
    Creator of Zabbix, Product manager
    New York | Tokyo | Riga
    My Twitter

    Comment

    • joe
      Junior Member
      • Nov 2004
      • 27

      #3
      I'm glad to hear about the enhancements coming in 1.1!

      I actually have a hacked-up MRTG "cfgmaker" script that now traverses the ifIndexes and adds the appropriate information to the Zabbix 1.1 database. It's a nasty hack, but it works. It creates 2 items for each ifIndex, the InOctets and OutOctets OIDs, and then creates graphs for each ifIndex. I'm still working on a process to create a screen per device but only for ports/interfaces which are passing some traffic (in either direction).

      joe

      Comment

      • limo
        Senior Member
        • Dec 2004
        • 192

        #4
        my script to automate cisco snmp config

        Hi,

        I use my script to automate cisco SNMP. It is not good code but it works Now this script does not support to add triggers. But I see my port speeds and errors.

        Cut here:
        -----------------------
        #!/bin/bash

        export COMMUNITY="$1"
        export HOSTID="$2"
        export HOSTIP="$3"

        if [ -z "$COMMUNITY" ] || [ -z "$HOSTID" ] || [ -z "$HOSTIP" ] ; then
        echo -e "\nScript to add snmp monitoring parameters from cisco devices."
        echo "Create items for monitoring devices. You must know zabbix host id and ip."
        echo "Next you must have snmpwalk installed."
        echo "interval means update interval in seconds and hostory means how long in days to stay in history"
        echo "Inserting to db is your way I am not responsible for this "
        echo "Common way to do it is $0 | mysql ... zabbix or you can put output to file and then import into zabbix db"
        # echo "You can write triggers to put inside too (eg. 'thri_kbps[*].last(0)>10'"
        echo -e "$0 community hostid hostip [interval] [history]\n"
        exit 1
        fi

        if [ -n "$4" ]; then
        interval="$4"
        else
        interval=120
        fi

        if [ -n "$5" ]; then
        history_length="$5"
        else
        history_length=60
        fi

        declare -a IFNAME

        snmpwalk -c "$COMMUNITY" -v 2c $HOSTIP | while read mib equal type value; do
        ifid=`echo $mib | cut -d '.' -f 2`
        case $mib in
        IF-MIB::ifDescr*)
        IFNAME[$ifid]="$value"
        ;;
        IF-MIB::ifInOctets*)
        echo "INSERT INTO items (type, snmp_community, snmp_oid, hostid, description, key_, delay, history, units, delta) VALUES (4, '$COMMUNITY', '$mib', $HOSTID, 'Throughput to ${IFNAME[$ifid]}', 'thri_bps[$ifid]', $interval, $history_length, 'Bps', 1);"
        ;;
        IF-MIB::ifOutOctets*)
        echo "INSERT INTO items (type, snmp_community, snmp_oid, hostid, description, key_, delay, history, units, delta) VALUES (4, '$COMMUNITY', '$mib', $HOSTID, 'Throughput from ${IFNAME[$ifid]}', 'thro_bps[$ifid]', $interval, $history_length, 'Bps', 1);"
        ;;
        IF-MIB::ifInUcastPkts*)
        echo "INSERT INTO items (type, snmp_community, snmp_oid, hostid, description, key_, delay, history, units, delta) VALUES (4, '$COMMUNITY', '$mib', $HOSTID, 'Unicast packets to ${IFNAME[$ifid]}', 'upkti_pps[$ifid]', $interval, $history_length, 'Pps', 1);"
        ;;
        IF-MIB::ifInNUcastPkts*)
        echo "INSERT INTO items (type, snmp_community, snmp_oid, hostid, description, key_, delay, history, units, delta) VALUES (4, '$COMMUNITY', '$mib', $HOSTID, 'Non unicast packets to ${IFNAME[$ifid]}', 'nupkti_pps[$ifid]', $interval, $history_length, 'Pps', 1);"
        ;;
        IF-MIB::ifOutUcastPkts*)
        echo "INSERT INTO items (type, snmp_community, snmp_oid, hostid, description, key_, delay, history, units, delta) VALUES (4, '$COMMUNITY', '$mib', $HOSTID, 'Unicast packets from ${IFNAME[$ifid]}', 'upkto_pps[$ifid]', $interval, $history_length, 'Pps', 1);"
        ;;
        IF-MIB::ifOutNUcastPkts*)
        echo "INSERT INTO items (type, snmp_community, snmp_oid, hostid, description, key_, delay, history, units, delta) VALUES (4, '$COMMUNITY', '$mib', $HOSTID, 'Non unicast packets from ${IFNAME[$ifid]}', 'nupkto_pps[$ifid]', $interval, $history_length, 'Pps', 1);"
        ;;
        IF-MIB::ifInErrors*)
        echo "INSERT INTO items (type, snmp_community, snmp_oid, hostid, description, key_, delay, history, units, delta) VALUES (4, '$COMMUNITY', '$mib', $HOSTID, 'Input errors on ${IFNAME[$ifid]}', 'inerr[$ifid]', $interval, $history_length, 'Fps', 1);"
        ;;
        IF-MIB::ifOutErrors*)
        echo "INSERT INTO items (type, snmp_community, snmp_oid, hostid, description, key_, delay, history, units, delta) VALUES (4, '$COMMUNITY', '$mib', $HOSTID, 'Output errors on ${IFNAME[$ifid]}', 'outerr[$ifid]', $interval, $history_length, 'Fps', 1);"
        ;;
        esac
        done

        Comment

        Working...