Показаны сообщения с ярлыком состояние. Показать все сообщения
Показаны сообщения с ярлыком состояние. Показать все сообщения

вторник, 24 мая 2016 г.

Мониторинг уровня RX/TX для оптических портов Huawei

Особенность мониторинга уровня сигнала на коммутаторе Huawei S6300 в том, что значения возвращаются не в привычных нам dbm, а в mW.

Для конвертации используется формула, в которой используются логарифмы. В той версии системы мониторинга Zabbix, которая используется у нас, я не нашел, как указать в формуле логарифм. Поэтому сбором данных с комутаторов будет заниматься внешний скрипт, а результат заливать в Zabbix через zabbix_sender.

Вот, собственно, сам скрипт:

#!/bin/bash

for HUAWEI in sw1 sw15 sw18 sw24; do
  rm -f "/tmp/huawei_rxtx_monitor_${HUAWEI}"
  /usr/bin/snmpwalk -c Secret_Community -v 2c ${HUAWEI} .1.3.6.1.2.1.47.1.1.1.1.7 > /tmp/huawei_rxtx_monitor_${HUAWEI}.txt || exit 1
  if [ -f "/tmp/huawei_rxtx_monitor_${HUAWEI}.txt" ]; then
    for port in $(/bin/sed -nr '/XGigabitEthernet/s/.*\.([0-9]+)\ .*/\1/gp' /tmp/huawei_rxtx_monitor_${HUAWEI}.txt); do
      RX=$(echo "(l($(/usr/bin/snmpget -Oqav -c Secret_Community -v 2c ${HUAWEI} .1.3.6.1.4.1.2011.5.25.31.1.1.3.1.8.${port})/1000)/l(10))*10" | /usr/bin/bc -l)
      /usr/bin/zabbix_sender -z zabbix_server_ip -k rxpower[\"${port}\"] -o $RX -s ${HUAWEI} > /dev/null
      TX=$(echo "(l($(/usr/bin/snmpget -Oqav -c Secret_Community -v 2c ${HUAWEI} .1.3.6.1.4.1.2011.5.25.31.1.1.3.1.9.${port})/1000)/l(10))*10" | /usr/bin/bc -l)
      /usr/bin/zabbix_sender -z zabbix_server_ip -k txpower[\"${port}\"] -o $TX -s ${HUAWEI} > /dev/null
    done
  fi
done
Здесь sw1, sw15, sw18, sw24 -- хостнеймы или IP-адреса коммутаторов;
          Secret_Community -- коммьюнити для чтения параметров по snmp;
          zabbix_server_ip -- адрес или хостнейм сервера Zabbix;
          rxpower[\"${port}\"], txpower[\"${port}\"] -- названия элементов в zabbix.

Осталось поместить в cron с требуемой периодичностью.

понедельник, 27 октября 2014 г.

Узнать каталог, из которого запущен процесс

Как узнать, кто слушает определённый порт?
# ss -tpunl | grep 3780
udp    UNCONN     2754   0           10.100.10.22:3780                  *:*      users:(("python",4313,6))
Что же это за процесс?
# ps ax|grep 4313
4313 pts/4    Rl+  29106:08 python ./server.py
Некий server.py, не ясно откуда запущенный. Что ж:
# pwdx 4313
4313: /home/username/conntrackd/conntrack-decoder
Нашли :)

P.S. Проще даже так:
# ls -l /proc/4313/cwd
lrwxrwxrwx 1 username username 0 Окт 27 14:48 /proc/4313/cwd -> /home/username/conntrackd/conntrack-decoder

воскресенье, 15 декабря 2013 г.

Почему не запускается бинарник?

user@book:~$ /home/user/some_program/program_bin
bash: /home/user/some_program/program_bin: Нет такого файла или каталога

user@book:~$ ls -l /home/user/some_program/program_bin
-rwxr-xr-x 1 user user 286567 май 27  2012 /home/user/some_program/program_bin

user@book:~$ file /home/user/some_program/program_bin
/home/user/some_program/program_bin: ELF 32-bit LSB  executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.2.0, not stripped

user@book:~$ /home/user/some_program/program_bin
bash: /home/user/some_program/program_bin: Нет такого файла или каталога

user@book:~$ mount | grep home
/dev/mapper/_dev_dm_3 on /home/user type ext4 (rw,relatime,data=ordered)

user@book:~$ ls -ld /home/user/some_program
drwxr-xr-x 15 user user 4096 окт 24 19:38 /home/user/some_program


user@book:~$ ld /home/user/some_program/program_bin
ld: i386 architecture of input file `/home/user/some_program/program_bin' is incompatible with i386:x86-64 output

пятница, 27 сентября 2013 г.

Пара ссылок для диагностики доступа к Youtube

Пара ссылок для диагностики доступа к Youtube, чтоб не забыть. http://redirector.c.youtube.com/report_mapping покажет, на какую ноду Гугл-кеша происходит редирект
http://www.youtube.com/my_speed статистика по скорости

пятница, 31 мая 2013 г.

Многопоточный pktgen

Хороший способ протестировать пропускную способность сети -- pktgen. Это модуль ядра Linux, генерирующий пакеты и стреляющий ими в указанный сетевой интерфейс. Но бывает так, что одно ядро процессора не способно забить всю полосу сетевой карты (при использовании, например 10G сетей). Тогда можно подключить второе ядро. Скрипт понятен без комментариев:
#!/bin/bash
echo "rem_device_all" > /proc/net/pktgen/kpktgend_0 
echo "rem_device_all" > /proc/net/pktgen/kpktgend_1
echo "add_device eth1@0" > /proc/net/pktgen/kpktgend_0 
echo "add_device eth1@1" > /proc/net/pktgen/kpktgend_1 
echo "pkt_size 1500" > /proc/net/pktgen/eth1\@0
echo "pkt_size 1500" > /proc/net/pktgen/eth1\@1
echo "count 1000000000" > /proc/net/pktgen/eth1\@0
echo "count 1000000000" > /proc/net/pktgen/eth1\@1
echo "dst_mac 05:05:05:05:05:05" > /proc/net/pktgen/eth1\@0
echo "dst_mac 05:05:05:05:05:05" > /proc/net/pktgen/eth1\@1
echo "start" > /proc/net/pktgen/pgctrl 

пятница, 1 марта 2013 г.

tcpdump и lldp

Просто напоминалка самому себе, как отловить lldp-трафик с помощью tcpdump:
tcpdump -ni eth0 ether proto 0x88cc

среда, 20 июня 2012 г.

Узнать время модификации файла

Как узнать время последней модификации файла?


Не просто узнать, а еще и перевести в unixtime, и при этом с минимумом телодвижений:
stat -c "%Y" filename


А вообще,man stat

воскресенье, 11 сентября 2011 г.

Проверка заряда батареи из командной строки

Узнать состояние батареи лэптопа можно простой командой acpi из одноименного пакета.
$ acpi
Battery 0: Discharging, 28%, 01:09:38 remaining

воскресенье, 17 апреля 2011 г.

Уровень громкости alsa

Чтобы сохранить уровень громкости, настроенный через alsamixer, достаточно дать команду от root:
# alsactl store

вторник, 1 февраля 2011 г.

Получение отчетов о состоянии сервера

Чтобы получать отчёты о состоянии сервера, можно воспользоваться программой Logwatch.

воскресенье, 21 ноября 2010 г.

Измерение скорости соединения LAN

Чтобы узнать скорость передачи данных через ethernet, можно воспользоваться программой iperf.

Она есть в Gentoo, а для Centos она в репозитории EPEL.

На одной машине запускаем сервер:
# iperf -s

А на второй - клиент:
# iperf -c 192.168.0.1 -t 300


Результат у меня получился удручающий:
------------------------------------------------------------
Client connecting to 192.168.0.1, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.0.2 port 56589 connected with 192.168.0.1 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-300.5 sec   339 MBytes  9.46 Mbits/sec

вторник, 9 ноября 2010 г.

Узнать размер буфера/кэша жесткого диска

Чтобы узнать размер буфера/кэша жесткого диска, можно воспользоваться утилитой hdparm:
# hdparm -i /dev/sda |grep 'BuffSize'
BuffType=DualPortCache, BuffSize=7376kB, MaxMultSect=16, MultSect=16

среда, 24 марта 2010 г.

Информация о сетевой карте

Как узнать, в каком режиме работает сетевая карта?
# mii-tool   
eth0: negotiated 1000baseT-FD flow-control, link ok
eth1: negotiated 100baseTx-FD, link ok
eth2: no autonegotiation, 10baseT-HD, link ok
eth3: no link

Можно и более подробно:
# mii-tool -v
eth0: negotiated 1000baseT-FD flow-control, link ok
product info: Yukon 88E1011 rev 3
basic mode: autonegotiation enabled
basic status: autonegotiation complete, link ok
capabilities: 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
advertising: 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
link partner: 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
eth1: negotiated 100baseTx-FD, link ok
product info: Yukon 88E1011 rev 3
basic mode: autonegotiation enabled
basic status: autonegotiation complete, link ok
capabilities: 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
advertising: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
link partner: 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
eth2: no autonegotiation, 10baseT-HD, link ok
product info: Intel 82555 rev 4
basic mode: autonegotiation enabled
basic status: autonegotiation complete, link ok
capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
advertising: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
link partner: 10baseT-HD
eth3: no link
product info: Intel 82555 rev 4
basic mode: autonegotiation enabled
basic status: no link
capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
advertising: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control

понедельник, 18 января 2010 г.

Проверка значения S.M.A.R.T. жесткого диска

S.M.A.R.T. - Self Monitoring Analysing and Reporting Technology.

Чтобы запустить тест S.M.A.R.T., нужно установить пакет smartmontools и дать команду
smartctl -H /dev/sda

вторник, 8 декабря 2009 г.

Настройка температурных датчиков

После смены кулеров как-то подозрительно запахло горелым. Визуальный и тактильный осмотр признаков перегрева не выявил, но всё же решил озадачиться настройкой температурных датчиков, дабы в дальнейшем контролировать состояние не прибегая к разборке корпуса. Для этого используется набор утилит lm_sensors и драйверы самих датчиков.

вторник, 13 октября 2009 г.

Сбор информации о происходящем на компьютере

Сбор информации о происходящем на компьютере:

Начать стоит, конечно, со стандартного top:

top - display Linux tasks