По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Девятая часть тут.
Ни одна среда передачи данных не может считаться совершенной. Если среда передачи является общей, как радиочастота (RF), существует возможность возникновения помех или даже столкновений дейтаграмм. Это когда несколько отправителей пытаются передать информацию одновременно. Результатом является искаженное сообщение, которое не может быть понято предполагаемым получателем. Даже специализированная среда, такая как подводный оптический кабель типа point-to-point (световолновой), может испытывать ошибки из—за деградации кабеля или точечных событий-даже, казалось бы, безумных событий, таких как солнечные вспышки, вызывающие излучение, которое, в свою очередь, мешает передаче данных по медному кабелю.
Существует два ключевых вопроса, на которые сетевой транспорт должен ответить в области ошибок:
Как можно обнаружить ошибки при передаче данных?
Что должна делать сеть с ошибками при передаче данных?
Далее рассматриваются некоторые из возможных ответов на эти вопросы.
Обнаружение ошибок
Первый шаг в работе с ошибками, независимо от того, вызваны ли они отказом носителя передачи, повреждением памяти в коммутационном устройстве вдоль пути или любой другой причиной, заключается в обнаружении ошибки. Проблема, конечно, в том, что когда получатель изучает данные, которые он получает, нет ничего, с чем можно было бы сравнить эти данные, чтобы обнаружить ошибку.
Проверка четности — это самый простой механизм обнаружения. Существуют два взаимодополняющих алгоритма проверки четности. При четной проверке четности к каждому блоку данных добавляется один дополнительный бит. Если сумма битов в блоке данных четная—то есть если в блоке данных имеется четное число битов 1, то дополнительный бит устанавливается равным 0. Это сохраняет четное состояние четности блока. Если сумма битов нечетна, то дополнительный бит устанавливается равным 1, что переводит весь блок в состояние четной четности. Нечетная четность использует ту же самую дополнительную битную стратегию, но она требует, чтобы блок имел нечетную четность (нечетное число 1 бит). В качестве примера вычислите четную и нечетную четность для этих четырех октетов данных:
00110011 00111000 00110101 00110001
Простой подсчет цифр показывает, что в этих данных есть 14 «1» и 18 «0». Чтобы обеспечить обнаружение ошибок с помощью проверки четности, вы добавляете один бит к данным, либо делая общее число «1» в недавно увеличенном наборе битов четным для четной четности, либо нечетным для нечетной четности. Например, если вы хотите добавить четный бит четности в этом случае, дополнительный бит должен быть установлен в «0». Это происходит потому, что число «1» уже является четным числом. Установка дополнительного бита четности на «0» не добавит еще один «1» и, следовательно, не изменит, является ли общее число «1» четным или нечетным. Таким образом, для четной четности конечный набор битов равен:
00110011 00111000 00110101 00110001 0
С другой стороны, если вы хотите добавить один бит нечетной четности к этому набору битов, вам нужно будет сделать дополнительный бит четности «1», так что теперь есть 15 «1», а не 14. Для нечетной четности конечный набор битов равен:
00110011 00111000 00110101 00110001 1
Чтобы проверить, были ли данные повреждены или изменены при передаче, получатель может просто отметить, используется ли четная или нечетная четность, добавить число «1» и отбросить бит четности. Если число «1» не соответствует используемому виду четности (четное или нечетное), данные повреждены; в противном случае данные кажутся такими же, как и первоначально переданные.
Этот новый бит, конечно, передается вместе с оригинальными битами. Что произойдет, если сам бит четности каким-то образом поврежден? Это на самом деле нормально - предположим, что даже проверка четности на месте, и передатчик посылает
00110011 00111000 00110101 00110001 0
Приемник, однако, получает
00110011 00111000 00110101 00110001 1
Сам бит четности был изменен с 0 на 1. Приемник будет считать «1», определяя, что их 15. Поскольку даже проверка четности используется, полученные данные будут помечены как имеющие ошибку, даже если это не так. Проверка на четность потенциально слишком чувствительна к сбоям, но в случае обнаружения ошибок лучше ошибиться в начале.
Есть одна проблема с проверкой четности: она может обнаружить только один бит в передаваемом сигнале. Например, если даже четность используется, и передатчик отправляет
00110011 00111000 00110101 00110001 0
Приемник, однако, получает
00110010 00111000 00110101 00110000 0
Приемник подсчитает число «1» и обнаружит, что оно равно 12. Поскольку система использует четную четность, приемник будет считать данные правильными и обработает их в обычном режиме. Однако оба бита, выделенные жирным шрифтом, были повреждены. Если изменяется четное число битов в любой комбинации, проверка четности не может обнаружить изменение; только когда изменение включает нечетное число битов, проверка четности может обнаружить изменение данных.
Циклическая проверка избыточности (Cyclic Redundancy Check - CRC) может обнаруживать более широкий диапазон изменений в передаваемых данных, используя деление (а не сложение) в циклах по всему набору данных, по одной небольшой части за раз. Работа с примером - лучший способ понять, как рассчитывается CRC. Расчет CRC начинается с полинома, как показано на рисунке 1.
На рис. 1 трехчленный многочлен x3 + x2 + 1 расширен, чтобы включить все члены, включая члены, предшествующие 0 (и, следовательно, не влияют на результат вычисления независимо от значения x). Затем эти четыре коэффициента используются в качестве двоичного калькулятора, который будет использоваться для вычисления CRC.
Чтобы выполнить CRC, начните с исходного двоичного набора данных и добавьте три дополнительных бита (поскольку исходный полином без коэффициентов имеет три члена; следовательно, это называется трехбитной проверкой CRC), как показано здесь:
10110011 00111001 (оригинальные данные)
10110011 00111001 000 (с добавленными битами CRC)
Эти три бита необходимы для обеспечения того, чтобы все биты в исходных данных были включены в CRC; поскольку CRC перемещается слева направо по исходным данным, последние биты в исходных данных будут включены только в том случае, если эти заполняющие биты включены. Теперь начните с четырех битов слева (потому что четыре коэффициента представлены в виде четырех битов). Используйте операцию Exclusive OR (XOR) для сравнения крайних левых битов с битами CRC и сохраните результат, как показано здесь:
10110011 00111001 000 (дополненные данные)
1101 (Контрольные биты CRC)
----
01100011 00111001 000 (результат XOR)
XOR'инг двух двоичных цифр приводит к 0, если эти две цифры совпадают, и 1, если они не совпадают. Контрольные биты, называемые делителем, перемещаются на один бит вправо (некоторые шаги здесь можно пропустить), и операция повторяется до тех пор, пока не будет достигнут конец числа:
10110011 00111001 000
1101
01100011 00111001 000
1101
00001011 00111001 000
1101
00000110 00111001 000
110 1
00000000 10111001 000
1101
00000000 01101001 000
1101
00000000 00000001 000
1 101
00000000 00000000 101
CRC находится в последних трех битах, которые были первоначально добавлены в качестве заполнения; это "остаток" процесса разделения перемещения по исходным данным плюс исходное заполнение. Получателю несложно определить, были ли данные изменены, оставив биты CRC на месте (в данном случае 101) и используя исходный делитель поперек данных, как показано здесь:
10110011 00111001 101
1101
01100011 00111001 101
1101
00001011 00111001 101
1101
00000110 00111001 101
110 1
00000000 10111001 101
1101
00000000 01101001 101
1101
00000000 00000001 101
1 101
00000000 00000000 000
Если данные не были изменены, то результат этой операции всегда должен быть равен 0. Если бит был изменен, результат не будет равен 0, как показано здесь:
10110011 00111000 000
1101
01100011 00111000 000
1101
00001011 00111000 000
1101
00000110 00111000 000
110 1
00000000 10111000 000
1101
00000000 01101000 000
1101
00000000 00000000 000
1 101
00000000 00000001 000
CRC может показаться сложной операцией, но она играет на сильных сторонах компьютера—бинарных операциях конечной длины. Если длина CRC задается такой же, как у стандартного небольшого регистра в обычных процессорах, скажем, восемь бит, вычисление CRC-это довольно простой и быстрый процесс. Проверка CRC имеет то преимущество, что она устойчива к многобитовым изменениям, в отличие от проверки четности, описанной ранее.
Исправление ошибок
Однако обнаружение ошибки — это только половина проблемы. Как только ошибка обнаружена, что должна делать транспортная система? Есть, по существу, три варианта.
Транспортная система может просто выбросить данные. В этом случае транспорт фактически переносит ответственность за ошибки на протоколы более высокого уровня или, возможно, само приложение. Поскольку некоторым приложениям может потребоваться полный набор данных без ошибок (например, система передачи файлов или финансовая транзакция), у них, вероятно, будет какой-то способ обнаружить любые пропущенные данные и повторно передать их. Приложения, которые не заботятся о небольших объемах отсутствующих данных (например, о голосовом потоке), могут просто игнорировать отсутствующие данные, восстанавливая информацию в приемнике, насколько это возможно, с учетом отсутствующей информации.
Транспортная система может подать сигнал передатчику, что произошла ошибка, и позволить передатчику решить, что делать с этой информацией (как правило, данные при ошибке будут повторно переданы).
Транспортная система может выйти за рамки отбрасывания данных, включив достаточное количество информации в исходную передачу, определить, где находится ошибка, и попытаться исправить ее. Это называется Прямой коррекцией ошибок (Forward Error Correction - FEC). Коды Хэмминга, один из первых разработанных механизмов FEC, также является одним из самых простых для объяснения.
Код Хэмминга лучше всего объяснить на примере - для иллюстрации будет использована таблица 1.
В Таблице № 1:
Каждый бит в 12-битном пространстве, представляющий собой степень двух (1, 2, 4, 6, 8 и т. д.) и первый бит, устанавливается в качестве битов четности.
8-битное число, которое должно быть защищено с помощью FEC, 10110011, распределено по оставшимся битам в 12-битном пространстве.
Каждый бит четности устанавливается равным 0, а затем четность вычисляется для каждого бита четности путем добавления числа «1» в позиции, где двоичный бит имеет тот же бит, что и бит четности. В частности:
P1 имеет набор крайних правых битов в своем битовом номере; другие биты в числовом пространстве, которые также имеют набор крайних правых битов, включены в расчет четности (см. вторую строку таблицы, чтобы найти все позиции битов в номере с набором крайних правых битов). Они указаны в таблице с X в строке P1. Общее число «1»-нечетное число, 3, поэтому бит P1 устанавливается равным 1 (в этом примере используется четная четность).
P2 имеет второй бит из правого набора; другие биты в числовом пространстве, которые имеют второй из правого набора битов, включены в расчет четности, как указано с помощью X в строке P2 таблицы. Общее число «1»-четное число, 4, поэтому бит P2 установлен в 0.
P4 имеет третий бит из правого набора, поэтому другие биты, которые имеют третий бит из правого набора, имеют свои номера позиций, как указано с помощью X в строке P3. В отмеченных столбцах есть нечетное число «1», поэтому бит четности P4 установлен на 1.
Чтобы определить, изменилась ли какая-либо информация, получатель может проверить биты четности таким же образом, как их вычислял отправитель; общее число 1s в любом наборе должно быть четным числом, включая бит четности. Если один из битов данных был перевернут, приемник никогда не должен найти ни одной ошибки четности, потому что каждая из битовых позиций в данных покрыта несколькими битами четности. Чтобы определить, какой бит данных является неправильным, приемник добавляет позиции битов четности, которые находятся в ошибке; результатом является положение бита, которое было перевернуто. Например, если бит в позиции 9, который является пятым битом данных, перевернут, то биты четности P1 и P8 будут ошибочными. В этом случае 8 + 1 = 9, так что бит в позиции 9 находится в ошибке, и его переворачивание исправит данные. Если один бит четности находится в ошибке—например, P1 или P8—то это тот бит четности, который был перевернут, и сами данные верны.
В то время как код Хэмминга гениален, есть много битовых шаблонов-перевертышей, которые он не может обнаружить. Более современный код, такой как Reed-Solomon, может обнаруживать и исправлять более широкий диапазон условий ошибки, добавляя меньше дополнительной информации в поток данных.
Существует большое количество различных видов CRC и кодов исправления ошибок, используемых во всем мире связи. Проверки CRC классифицируются по количеству битов, используемых в проверке (количество битов заполнения или, точнее, длины полинома), а в некоторых случаях - по конкретному применению. Например, универсальная последовательная шина использует 5-битный CRC (CRC-5-USB); Глобальная система мобильной связи (GSM), широко используемый стандарт сотовой связи, использует CRC-3-GSM; Мультидоступ с кодовым разделением каналов (CDMA), другой широко используемый стандарт сотовой связи, использует CRC-6-CDMA2000A, CRC-6-CDMA2000B и CRC-30; и некоторые автомобильные сети (CAN), используемые для соединения различных компонентов в автомобиле, используют CRC-17-CAN и CRC-21-CAN. Некоторые из этих различных функций CRC являются не единственной функцией, а скорее классом или семейством функций со многими различными кодами и опциями внутри них.
Компания Juniper является очень крупным производителем сетевого оборудования в мире - после Cisco and Huawei. После того как вы купили, установили и скоммутировали новое оборудование, возникает вопрос о его правильной настройке.
Преимуществом коммутаторов от производителя Juniper, в основном, является возможность объединения до шести коммутаторов в одно единое устройство с надежным и удобным управлением портами, сохраняя стабильную и бесперебойную работу сети.
Настройка сетевого интерфейса
Настройка QoS (качество обслуживания)
Virtual Chassis (объединение коммутаторов)
Реализация возможности сброса до заводских настроек
Настроив данные компоненты, вы сможете реализовать работу сети с использованием в ней большого количества устройств для осуществления передачи трафика.
Настройка сетевого интерфейса
Интерфейс коммутатора отвечает за реализацию передачи данных между сетью и пользователем, что и является главной задачей коммутатора. Его конфигурация осуществляется с помощью следующих строк кода:
root> configure
Entering configuration mode
[edit]
root# edit interfaces
[edit interfaces]
root#
Конфигурация L3:
[edit interfaces]
root# set em0 unit 0 family inet address 100.0.0.1/30
Где: Em0 - физический интерфейс, а Family inet - позволяет выбрать протокол интерфейса.
Команда "show" позволит из Configuration Mode проверить результат вашей настройки:
[edit interfaces]
root# show
em0 {
unit 0 {
family inet {
address 100.0.0.1/30;
}
}
}
[edit interfaces]
Теперь примените настройки с помощью следующей команды:
root# commit
commit complete
С помощью команды ping осуществим проверку конфигурации:
root> ping 100.0.0.2 rapid
PING 100.0.0.2 (100.0.0.2): 56 data bytes
!!!!!
--- 100.0.0.2 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.402/0.719/1.306/0.343 ms
Конфигурация L2
root> configure
Entering configuration mode
[edit]
root# edit interfaces em0
[edit interfaces em0]
Необходимо задать дуплекс на интерфейсе:
[edit interfaces em0]
root# set link-mode full-duplex
[edit interfaces em0]
root#
Примечание: L2 - устройства, работающие на канальном уровне, при этом коммутатором занимается фреймами. А L3 взаимодействуют с IP-адресами и осуществляют маршрутизацию. Конфигурация L3 включает большее число параметров за счет расширенного функционала.
Настройка Virtual Chassis
После правильной настройки интерфейса, следует перейти к объединению коммутаторов, которое позволит облегчить управление устройствами, а также повысить надежность работы сети, за счет взаимозаменяемости устройств. Следует отметить, что коммутаторы Juniper не имеют отдельным порт VCP, поэтому придется настраивать обычный интерфейс в качестве VCP.
Конфигурация VCP вручную:
Включите все коммутаторы, также вам понадобятся их заводская маркировка, которую следует записать. Для примера используем следующие:
CT0216330172
CV0216450257
Включите коммутатор, который будет выполнять функцию master switch, после чего сделайте сброс настройка с помощью следующей строки кода:
request system zeroize
Перезагрузив систему, выполните следующие строки:
ezsetup
set system host-name sw_master
set system domain-name metholding.int
set system domain-search metholding.int
set system time-zone Europe/Moscow
set system root-authentication plain-text-password
set system name-server 10.10.6.26
set system name-server 10.10.6.28
set system services ssh protocol-version v2
set system ntp server 10.10.1.130 version 4
set system ntp server 10.10.1.130 prefer
set vlans Management description 10.10.45.0/24
set vlans Management vlan-id 100
set vlans Management l3-interface vlan.1
set interfaces vlan unit 1 family inet address 10.10.45.100/24
set routing-options static route 0.0.0.0/0 next-hop 10.10.45.1
set interfaces ge-0/0/47 unit 0 family ethernet-switching port-mode trunk
set interfaces ge-0/0/47 unit 0 family ethernet-switching vlan members Management
Активируем preprovisioned configuration mode:
set virtual-chassis preprovisioned
Вносим серийные номера оборудования:
set virtual-chassis member 0 serial-number CT02/16330172 role routing-engine
set virtual-chassis member 1 serial-number CV0216450257 role routing-engine
set virtual-chassis no-split-detection
Проверьте результат, с помощью следующей строки:
root@sw-master> show virtual-chassis status
Обнулите конфигурацию и включайте остальные коммутаторы:
request system zeroize
Раздел virtual-chassis в конфигурации должен быть пустой, а для подстраховки, используйте команду:
delete virtual-chassis
Настроим порты VCP для каждого коммутатора. Для данного примера, соедините коммутаторы портами ge-0/0/0 и ge-0/0/1 соответственно. Теперь задайте эти строки кода на каждом из коммутаторов:
request virtual-chassis vc-port set pic-slot 0 port 0
request virtual-chassis vc-port set pic-slot 0 port 1
--------------------ВЫВОД----------------------------
root> show interfaces terse
Interface Admin Link Proto Local Remote
vcp-255/0/0 up up
vcp-255/0/0.32768 up up
vcp-255/0/1 up up
vcp-255/0/1.32768 up up
ge-0/0/2 up down
ge-0/0/2.0 up down eth-switch
Теперь два коммутатора объединились, проверить можно с помощью команды:
show virtual-chassis status
show virtual-chassis vc-port
Если вы захотите добавить дополнительных участников к virtual-chassis, вам будет необходимо очистить конфигурацию нового коммутатора:
show interfaces terse | match vcp
Если есть, их надо удалить с командой:
request virtual-chassis vc-port delete pic-slot 0 port 0
Внесите серийный номер дополнительного устройства:
set virtual-chassis member 2 serial-number CT0217190258 role line-card
Настройка портов VCP в новом коммутаторе, в котором мы соединяем следующими портами - ge-0/0/0 и ge-0/0/1:
request virtual-chassis vc-port set pic-slot 0 port 0
request virtual-chassis vc-port set pic-slot 0 port 1
Теперь проверьте их наличие:
show interfaces terse | match vcp
НастройкаQoS
Технология QoS используется для распределение используемого трафика и ранжирование на классы с различным приоритетом. Технология необходима для увеличения вероятности пропускания трафика между точками в сети.
Сейчас мы рассмотрим деление потока трафика с приоритетом на ip-телефонию и видеоконференцсвязь на коммутаторе и использованием настроек по умолчанию class-of-service (CoS).
Допустим, что ip-телефоны подключены к коммутатору, а для маркировки ip-пакетов от ip-PBX и других ip-телефонов используются следующие показания DSCP:
46 - ef - медиа (RTP)
24 - cs3 - сигнализация (SIP, H323, Unistim)
32 - cs4 - видео с кодеков (RTP)
34 - af41 - видео с телефона, софтового клиента, кодека (RTP)
0 - весь остальной трафик без маркировки.
DSCP - является самостоятельным элементом в архитектуре сети, описывающий механизм классификации, а также Обеспечивающий ускорение и снижение задержек для мультимедийного трафика. Используется пространство поля ToS, являющийся компонентом вспомогательным QoS.
Теперь требуется dscp ef и af отнести к необходимым внутренним классам expedited-forwarding и assured-forwarding. За счет конфигурации classifiers, появляется возможность создания новых классов.
ex2200> show configuration class-of-service classifiers
dscp custom-dscp {
forwarding-class network-control {
loss-priority low code-points [ cs6 cs7 ];
}
forwarding-class expedited-forwarding {
loss-priority low code-points ef;
}
forwarding-class assured-forwarding {
loss-priority low code-points [ cs3 cs4 af41 ];
}
}
ex2200> show configuration class-of-service schedulers
sc-ef {
buffer-size percent 10;
priority strict-high;
}
sc-af {
shaping-rate 20m;
buffer-size percent 10;
}
sc-nc {
buffer-size percent 5;
priority strict-high;
}
sc-be {
shaping-rate percent 80;
buffer-size {
remainder;
}
}
Наименования можно выбрать произвольно, но а процент выделенных буферов - в соответствии с необходимостью. Ключевым приоритетом работы QoS является определение трафика с ограничением пропускающей полосы в зависимости от потребности в ней.
Шедулеры сопоставляются в соответствии с внутренними классами, в результате которого scheduler-map и classifier необходимо применяется ко всем интерфейсам, используя и описывая их в качестве шаблона.
К интерфейсу возможно применять специфические настройки, подразумевающие возможность написания всевозможных scheduler и scheduler-maps для различных интерфейсов.
Конечная конфигурация имеет следующий вид:
ex2200> show configuration class-of-service
classifiers {
dscp custom-dscp {
forwarding-class network-control {
loss-priority low code-points [ cs6 cs7 ];
}
forwarding-class expedited-forwarding {
loss-priority low code-points ef;
}
forwarding-class assured-forwarding {
loss-priority low code-points [ cs3 cs4 af41 ];
}
}
}
host-outbound-traffic {
forwarding-class network-control;
}
interfaces {
ge-* {
scheduler-map custom-maps;
unit 0 {
classifiers {
dscp custom-dscp;
}
}
}
ae* {
scheduler-map custom-maps;
unit 0 {
classifiers {
dscp custom-dscp;
}
}
}
}
scheduler-maps {
custom-maps {
forwarding-class network-control scheduler sc-nc;
forwarding-class expedited-forwarding scheduler sc-ef;
forwarding-class assured-forwarding scheduler sc-af;
forwarding-class best-effort scheduler sc-be;
}
}
schedulers {
sc-ef {
buffer-size percent 10;
priority strict-high;
}
sc-af {
shaping-rate 20m;
buffer-size percent 10;
}
sc-nc {
buffer-size percent 5;
priority strict-high;
}
sc-be {
shaping-rate percent 80;
buffer-size {
remainder;
}
}
}
Перед использованием данной настройки, проверьте командой commit check. А при наличии следующей ошибки, следует учесть следующее:
[edit class-of-service interfaces]
'ge-*'
One or more "strict-high" priority queues have lower queue-numbers than priority "low" queues in custom-maps for ge-*. Ifd ge-* supports strict-high priority only on higher numbered queues.
error: configuration check-out failed
В итоге мы не можем указать приоритет "strict-high" только для 5-ой очереди, когда у 7-ой останется приоритет "low". При этом можно решить проблему следующим образом: настроить для network-control приоритет "strict-high".
Применив конфигурацию, определенный процент фреймов в очередях будет потеряна. Требуется обнулить счетчики, проверить счетчики дропов через некоторое время, где переменные значения не равны нулю.
clear interfaces statistics all
show interfaces queue | match dropped | except " 0$"
При росте счетчиков дропа в конфигурации есть ошибка. Если вы пропустили описание в class-of-service interfaces шаблоном или в явном виде, то трафик в классах со стопроцентной вероятностью дропнется. Правильная работа выглядит следующим образом:
ex2200> show interfaces queue ge-0/0/22
Physical interface: ge-0/0/22, Enabled, Physical link is Up
Interface index: 151, SNMP ifIndex: 531
Forwarding classes: 16 supported, 4 in use
Egress queues: 8 supported, 4 in use
Queue: 0, Forwarding classes: best-effort
Queued:
Transmitted:
Packets : 320486
Bytes : 145189648
Tail-dropped packets : 0
RL-dropped packets : 0
RL-dropped bytes : 0
Queue: 1, Forwarding classes: assured-forwarding
Queued:
Transmitted:
Packets : 317
Bytes : 169479
Tail-dropped packets : 0
RL-dropped packets : 0
RL-dropped bytes : 0
Queue: 5, Forwarding classes: expedited-forwarding
Queued:
Transmitted:
Packets : 624
Bytes : 138260
Tail-dropped packets : 0
RL-dropped packets : 0
RL-dropped bytes : 0
Queue: 7, Forwarding classes: network-control
Queued:
Transmitted:
Packets : 674
Bytes : 243314
Tail-dropped packets : 0
RL-dropped packets : 0
RL-dropped bytes : 0
Переход к заводским настройкам
Если вам избавится от вашей конфигурации, которая работает некорректно вы можете сбросить настройки до заводских параметров. Советуем использовать данную функции, предусмотренную производителем оборудования, в случае реальной сложности в поиске ошибки, выполнив конфигурацию заново, вы можете заметно сэкономить свое время.
Самый простой способ, это ввод следующей команды:
load factory defaults
После ввода команды, система оповестит Вас о том, что в данный момент будет осуществлена активация заводских настроек по умолчанию. А с помощью привычной команды "commit" активируем настройки и перезагружаемся.
Мы рассмотрели базовые настройки коммутаторов Juniper, позволяющих создание надежной и гибкой сети для различных нужд.
Системные администраторы и девопсы теперь могут использовать сетевые ресурсы, хранилища, виртуальные машины, ERP, системные программные обеспечения и приложения большинства публичных или частных облачных платформ или гибридных сред.
Переход организаций к облачной среде может быть мотивирован высокой доступностью, выгодной ценой и возможностью оптимизации в реальном времени, которая возможна только в облачной среде.
Но, наряду с многочисленными преимуществами, возникает необходимость мониторинга инфраструктуры и приложений, работающих в облаке.
Эта статья прольет свет на мониторинг облачных платформ и предоставит вам информацию об инструментах, которые облегчат вам, как Cloud разработчику, мониторинг инфраструктуры и приложений.
Мониторинг инфраструктуры и приложений
Мониторинг инфраструктуры и приложений - это просто стратегия управления. Стратегия управления включает любой рабочий процесс, который оценивает вычислительные ресурсы и приложения, чтобы получить представление о производительности, работоспособности и доступности служб, работающих в любой инфраструктуре.
Таким образом, мониторинг облачных сред включает наблюдение за показателями производительности веб-серверов, приложений, серверов хранения, виртуальных облачных сетей, виртуальных машин и любых других служб, работающих в облачной среде.
Рассмотрим некоторые преимущества мониторинга в облаке.
Учет потребления облачных ресурсов
Мониторинг как услуга в облаке помогает организациям увидеть текущие ресурсы и связанные с ними затраты с помощью тэгов. Затем администраторы могут использовать данные о ресурсах для определения приоритетов и масштабирования ресурсов на основе затрат и спроса.
Оптимизация производительности
На основе результатов системных оповещений, событий и триггеров, настроенных для отслеживания ресурсов инфраструктуры, девопсы могут выполнять настройку ресурсов, например, балансировку нагрузки, для оптимальной работы инфраструктуры.
Гарантированная безопасность системы
Мониторинг пользователей в реальном времени, мониторинг входящего и исходящего трафика и частые тесты, выполняемые на конечных точках API, служат моделями безопасности для облачной инфраструктуры/приложений. Видимость означает, что любая аномалия в системе может быть легко выявлена до эскалации.
Популярные средства мониторинга для разработчиков облачных сред
Ниже приведены некоторые из наиболее используемых инструментов мониторинга облачных вычислений, доступных для сисадминов и девопсов.
1. CloudWatch
CloudWatch, созданный Amazon, представляет собой средство наблюдения и мониторинга, предоставляющее данные/информацию о производительности системы, работе приложений и состоянии облачной инфраструктуры.
Amazon CloudWatch - это инструмент для групп DevOps, инженеров по надежности сайтов и разработчиков облачных решений. Разработчики могут начать работу с CloudWatch бесплатно с помощью бесплатного тарифа.
Приложения и инфраструктурные ресурсы, работающие в Amazon Cloud, генерируют рабочие данные в виде журналов, метрик и событий. Поэтому разработчики могут использовать CloudWatch для сбора и мониторинга метрик и данных журналов для измерения производительности приложений и обнаружения любых изменений инфраструктуры.
CloudWatch обеспечивает отличный контроль над облачной инфраструктурой за счет упреждающего поиска и устранения неисправностей, оптимизации ресурсов, анализа журналов и сокращения среднего времени разрешения проблем. (MTTR)
CloudWatch позволяет отслеживать контейнеры, экземпляры ECS, Amazon EKS и все экземпляры приложений, работающие в облачных средах.
2. Dynatrace
Dynatrace - интеллектуальная платформа, обеспечивающая выполнение требований консолидации мониторинга. Инструмент основан на искусственном интеллекте и обеспечивает автоматизированное и интеллектуальное наблюдение за всей облачной инфраструктурой и приложениями.
Dynatrace - инструмент мониторинга на основе агентов. OneAgent, устанавливаемый и интеллектуальный агент, который автоматизирует общесистемный мониторинг. OneAgent собирает метрики на всех уровнях стека приложений.
Для мониторинга инфраструктуры OneAgent может собирать метрики из безсеверных инфраструктур, контейнеров, модулей, виртуальных компьютеров и даже облачных баз данных и многого другого.
Dynatrace использует PurePath для визуализации мобильных и веб приложений на уровне кода. В результате разработчики получают представление о доступности и производительности внешних и внутренних транзакций, выполняемых в любой облачной среде.
Кроме того, инструмент не только обеспечивает трассировку, метрики и данные журнала только для локальных сред. Она позволяет интегрировать несколько облачных технологий и расширить сторонние инструменты для обеспечения бесконтактного мониторинга приложений, работающих в облачных средах. Кроме того, разработчики могут использовать API Dynatrace для внедрения собранных метрик в средства отчетности и анализа сторонних производителей для более интуитивных системных отчетов.
Для начала работы с Dynatrace, можно подписаться на бесплатную пробную версию и развернуть инструмент в своей среде для мониторинга всего стека.
3. DataDog
Подключение Datadog к классической или облачной инфраструктуре обеспечивает детальную видимость производительности инфраструктуры и приложений.
Все это можно просмотреть исчерпывающим образом: от хостов в сети до экземпляров контейнеров и даже активных процессов, выполняемых на любой инфраструктуре. Этот инструмент мониторинга имеет встроенные функции, как агент Datadog, монитор производительности приложений Datadog, диспетчер журналов Datadog и профилировщик Continuous. Встроенные инструменты отвечают за сбор метрик системы и обнаружение любых изменений в системе.
Затем разработчики могут просмотреть и анализировать собранные показатели производительности с помощью гибких панелей мониторинга. Созданные панели мониторинга представляют тенденции в метриках.
Например, можно просмотреть частоту ошибок облачных приложений, задержки в сетевых конечных точках, а также обслуживаемые или неуспешные запросы HTTPS. Следовательно, администраторы и разработчики облачных служб могут создавать сводки показателей на панели мониторинга для любого периода.
Datadog обеспечивает интеграцию на основе агентов, аутентификации и библиотек для обеспечения унифицированного системного мониторинга в случаях распространения систем и приложений.
Самой крутой особенностью Datadog является удобство, которое он дает разработчикам для выполнения синтетического мониторинга производительности приложений с помощью синтетических тестов. Синтетические тесты - это моделируемые запросы, имитирующие работу клиента с веб-службой и API для обеспечения сквозной видимости приложений.
4. Prometheus
Prometheus - отличный инструмент мониторинга и оповещения с открытым исходным кодом для облачных, гибридных и готовых систем. Этот инструмент агрегирует системные метрики как данные временных рядов, многомерную модель данных, которая идентифицируется парами «имя метрики» и «ключ-значение».
Например, HTTP запрос как имя метрики (ключ) и соответствующее общее количество этих запросов как значение.
Prometheus работает с автономным единственным сервером Prometheus, который удаляет метрики из нескольких источников данных и сохраняет их как данные временных рядов.
Кроме того, средство имеет такие платформы визуализации, как Grafana, Consoles и Expression.
Для системных оповещений Prometheus использует диспетчер оповещений для гибкой отправки уведомлений и управления ими с помощью сообщений электронной почты, систем по вызову и платформ чатов, таких как Slack, где разработчики могут своевременно реагировать на возникающие системные проблемы.
5. MetricFire
MetricFire - это набор инструментов с открытым исходным кодом, которые помогают системным администраторам собирать, хранить и визуализировать метрики облачной инфраструктуры. Метрики играют важную роль в определении нагрузки, надежности системы и необходимости оптимизации ресурсов. Инструмент мониторинга содержит три инструмента с открытым исходным кодом - Graphite, Prometheus и Grafana - все они работают совместно, чтобы облегчить мониторинг.
Graphite, например, обрабатывает сбор метрик с помощью агента Hosted Graphite, который включает службы сбора, такие как diamond. Diamond, демон python, собирает метрики ЦП, показатели использования дисков, сетевых операций ввода-вывода, метрики веб-приложений и многое другое.
Затем разработчики могут просматривать метрики в расширенных по функциям панелях мониторинга Grafana или Graphite. С помощью панелей мониторинга разработчики могут наблюдать метрики из нескольких источников, таких как Graphite, Prometheus и другого программное обеспечение для мониторинга облачных инфраструктур.
Панели мониторинга Grafana отличаются высокой настраиваемостью и могут быть преобразованы в соответствии с большинством требований к визуализации. Разработчики также могут создавать сложные графики и диаграммы с несколькими метриками и трассировками для предоставления окончательных отчетов о работе систем.
Благодаря размещенным инструментам разработчики могут сразу понять системные данные без необходимости установки нескольких сторонних инструментов.
Заключение
Итак, мы рассмотрели, что такое мониторинг облачной инфраструктуры и приложений, изучили некоторые преимущества мониторинга.
Приведенные в данной статье инструменты благодаря своей гибкости и функционалу, облегчат мониторинг всей инфраструктуры. Можно развернуть и попробовать бесплатные пробные версии и выбрать подходящий под конкретные нужды.