По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Девятая часть тут. Ни одна среда передачи данных не может считаться совершенной. Если среда передачи является общей, как радиочастота (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 являются не единственной функцией, а скорее классом или семейством функций со многими различными кодами и опциями внутри них.
img
Компания 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, позволяющих создание надежной и гибкой сети для различных нужд.
img
Системные администраторы и девопсы теперь могут использовать сетевые ресурсы, хранилища, виртуальные машины, 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 отличаются высокой настраиваемостью и могут быть преобразованы в соответствии с большинством требований к визуализации. Разработчики также могут создавать сложные графики и диаграммы с несколькими метриками и трассировками для предоставления окончательных отчетов о работе систем. Благодаря размещенным инструментам разработчики могут сразу понять системные данные без необходимости установки нескольких сторонних инструментов. Заключение Итак, мы рассмотрели, что такое мониторинг облачной инфраструктуры и приложений, изучили некоторые преимущества мониторинга. Приведенные в данной статье инструменты благодаря своей гибкости и функционалу, облегчат мониторинг всей инфраструктуры. Можно развернуть и попробовать бесплатные пробные версии и выбрать подходящий под конкретные нужды.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59