document /dev/shm/port-status
[dell-switch] / README
1 # manage Dell switch running-config in git
2
3 dpavlin@black:~/dell-switch$ ./sw-running-config.sh sw-dpc
4
5
6 # /dev/shm/port-status
7
8 Collect information about port status using snmp
9
10 dpavlin@black:~/dell-switch$ ./snmp-port-status.sh sw-core # single switch
11
12 dpavlin@black:~/dell-switch$ ./sw-port-status.sh # all switches
13
14 This will populate /dev/shm/port-status/ and manage changes in git
15
16 You can grep for ports on switches since format is "switch port ...."
17
18 dpavlin@black:~/dell-switch$ egrep ' (15|22) ' /dev/shm/port-status/sw-dpc 
19 sw-dpc 15 g15 1000 up ethernetCsmacd [sw-baraka]
20 sw-dpc 22 g22 100 up ethernetCsmacd [PIX-eth1]
21
22 You can also grep only for sw-name and get both uplink port (if in description)
23 and ports from switch:
24
25 dpavlin@black:/dev/shm/port-status$ egrep sw-baraka * | head
26 sw-a200:sw-a200 22 g22 1000 up ethernetCsmacd [sw-baraka]
27 sw-baraka:sw-baraka 1 g1 1000 down ethernetCsmacd
28 sw-baraka:sw-baraka 2 g2 1000 down ethernetCsmacd
29 sw-baraka:sw-baraka 3 g3 1000 down ethernetCsmacd
30 sw-baraka:sw-baraka 4 g4 1000 down ethernetCsmacd
31 sw-baraka:sw-baraka 5 g5 10 up ethernetCsmacd
32 sw-baraka:sw-baraka 6 g6 1000 down ethernetCsmacd
33 sw-baraka:sw-baraka 7 g7 1000 down ethernetCsmacd
34 sw-baraka:sw-baraka 8 g8 1000 down ethernetCsmacd
35 sw-baraka:sw-baraka 9 g9 1000 down ethernetCsmacd
36
37
38
39
40
41 # ssh auto-login script for Dell switches
42
43 ./ips | xargs -i ./dell-switch.pl {} "show bridge address"
44
45 ./ips | xargs -i ./dell-switch.pl {} "show interfaces status"
46
47 ./ips | xargs -i ./dell-switch.pl {} "show running-config"
48
49 This will save all commands executed to git repository under log/
50
51 However, somethimes you just need to execute few commands but don't want
52 log output (if configuring switches in batch, for example). You can do
53 that by setting NO_LOG enviroment variable like this:
54
55 grep -A 1 sw-lib /etc/munin/munin.conf | grep 10.20 | awk '{ print $2 }' \
56 | NO_LOG=1 xargs -i ./dell-switch.pl 'snmp-server community public-or-not ro view Default' 'exit' 'copy running-config startup-config'
57
58
59 To use fans script first pull show system from all switches:
60
61 ./ips | xargs -i ./dell-switch.pl {} "show system"
62
63
64 Backup switch configuration to tftp server:
65
66 ./ips 1,2 | awk '{ print "./dell-switch.pl "$1" \"copy startup-config tftp://10.20.0.253/backups/"$2".config\"" }' | NO_LOG=1 sh -x
67
68
69 To use snmp* utils, create snmp.conf with:
70
71 COMMUNITY=my-comminity-or-public
72
73
74 # Find mac address on network
75
76 collect all mac addresses using snmp
77
78 dpavlin@black:~/dell-switch$ ./sw-mac-port.sh 
79
80 find interesting mac
81
82 dpavlin@black:~/dell-switch$ ./find-port-for-mac 00:1e:8c:0a:49:3c # eeepy eth0
83 sw-e300 1 00:1e:8c:0a:49:3c 23
84 sw-e300-2 1 00:1e:8c:0a:49:3c 21
85 # mac 00:1e:8c:0a:49:3c on 41 switches
86
87 dpavlin@black:~/dell-switch$ ./find-port-for-mac 00:80:c8:37:6d:76 # eeepy eth3
88 sw-e300 1 00:80:c8:37:6d:76 17
89 # mac 00:80:c8:37:6d:76 on 41 switches
90
91
92
93 # switch configuration helpers
94
95 ssh-switch-port-vlan sw port vlan
96 ssh-switch-port-shutdown sw port [no]
97 ssh-snmp-server-rw sw
98