Здравствуйте уважаемые. Столкнулся со странным поведением cisco в ответ на запросы по rsh.
Имеются маршрутизаторы cisco 2951 (одинаковые по конфигурации и IOS) и сервер под FreeBSD. На цисках настроен доступ по rsh с Free. Есть скрипты, которые снимают статистику по счетчикам и температуру для mrtg по cron-у. Все настроено, все работает за одним исключением - бессистемно при отработке скриптов для одного из маршрутизаторов данные в файлы не пишутся. Проявляется следующим образом:
log mrtg:
1462481400 40 0 41 0
1462481100 41 0 41 0
1462480800 0 0 0 0
1462480500 0 0 0 0
1462480200 41 0 41 0
1462479900 41 0 41 0
1462479600 0 0 0 0
1462479300 40 0 41 0
1462479000 40 0 41 0
Т. е. во время 1462480800, 1462480500, 1462479600 скрипт отработал, но ничего в файл не записалось.
Сбор данных для mrtg по snmp проходит без проблем.
Сбор статистики ip accounting:
Fri May 6 00:01:00 MAGT 2016
Source Destination Packets Bytes
192.168.3.250 3.3.3.250 21858 1136616
3.3.3.251 192.168.3.250 33203 42138192
192.168.3.250 3.3.3.251 18558 965016
1.1.1.50 192.168.3.250 28745 39960198
192.168.3.250 1.1.1.50 24148 1255696
192.168.197.9 192.168.8.103 60 8220
1.1.1.51 192.168.3.250 28565 39773898
192.168.3.250 1.1.1.51 22146 1151592
1.1.1.52 192.168.3.250 31627 42709735
192.168.3.250 1.1.1.52 17481 909012
192.168.3.148 1.1.1.2 12 9666
Accounting data age is 5
Fri May 6 00:06:00 MAGT 2016
Fri May 6 00:11:01 MAGT 2016
Source Destination Packets Bytes
192.168.3.250 3.3.3.250 21674 1127048
3.3.3.251 192.168.3.250 33546 42466934
1.1.1.50 192.168.3.250 29393 40774453
192.168.3.250 1.1.1.50 23939 1244828
1.1.1.51 192.168.3.250 29236 40552965
192.168.3.250 1.1.1.51 21930 1140360
192.168.3.250 1.1.1.52 17656 918112
192.168.3.148 1.1.1.2 12 9666
Опять же в 00:06:00 скрипт отработал, но никаких данных в файл не свалилось. Это происходит бессистемно, иногда по 2-3 раза подряд. Переполнения буферов нет, т. к. "ip accounting-threshold 100000", с памятью тоже все прекрасно
При этом если тут же запустить скрипт руками, в файлы данные записываются и по mrtg и по статистике.
Обратил внимание на одну странную особенность: те же самые скрипты работают без сбоев на другом маршрутизаторе. Единственное отличие маршрутизаторов друг от друга - стоят они на разном расстоянии от сервера. Ping до Cisco, на котором происходят пропадания в среднем 0.214 мс, до второго, с которым проблем нет - 0.996 мс.
Гугление выдало пару подобных случаев без последующего решения проблемы.
Для справки настройки cisco, crontab и скрипты.
Cisco (все ненужное убрано):
version 15.2
!
hostname gw
!
ip domain name my_domen.ru
ip accounting-threshold 100000
!
no ip rcmd domain-lookup
ip rcmd rsh-enable
ip rcmd remote-host root 192.168.3.6 root enable
ip rcmd remote-host stat 192.168.3.6 stat enable
!
interface GigabitEthernet0/1
ip address xxx.xxx.xxx.xxx 255.255.255.252
ip accounting output-packets
!
interface GigabitEthernet0/2
ip address 192.168.3.1 255.255.255.0
ip accounting output-packets
crontab:
# Cisco account
#
1-56/5 * * * * root sh /usr/local/bin/script/acc
# MRTG
#
*/5 * * * * root /usr/local/bin/mrtg /usr/local/mrtg/temp/temp.mrtg
Т. е. обращение по rsh на cisco идет с разницей в минуту.
Скрипты:
/usr/local/bin/script/acc:
D=`date +%Y%m%d`
/usr/local/bin/script/getacc >> /usr2/stat/cisco/acc.$D
/usr/local/bin/script/getacc:
{
echo " `date`"
rsh 192.168.3.1 clear ip accounting
rsh 192.168.3.1 show ip accounting checkpoint
rsh 192.168.3.1 clear ip accounting checkpoint
} | fromdos
MRTG /usr/local/mrtg/temp/temp.mrtg:
Target[temp]:`/usr/local/mrtg/temp/temp.sh`
Language: russian
Options[temp]: growright,gauge, noinfo, nopercent, nobanner, nolegend
MaxBytes[temp]: 100
WorkDir: /usr/local/mrtg/temp
Title[temp]: T CPU
Legend1[temp]:
LegendI[temp]: T CPU:
LegendO[temp]:
YLegend[temp]: Temperature
ShortLegend[temp]: C
Unscaled[temp]: dwm
PageTop[temp]: <H1><C>T CPU</C></H1>
/usr/local/mrtg/temp/temp.sh:
rsh 192.168.3.1 sho env | grep -i CPU | cut -f4 -d" "
echo 0
echo 0
echo 0
echo