По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Не секрет, что на сегодняшний день Kubernetes стал одной из лучших оркестраторов контейнерных платформ. Более 80% организаций сегодня используют Kubernetes в тех или иных целях. Он просто автоматизирует конфигурирование и управление контейнерами. Но помимо простоты, безопасность также является одной из наиболее важных частей любого контейнерного приложения. Вы должны знать, как обеспечить надежную безопасность приложений, работающих в кластере Kubernetes. Вопросы безопасности в последние несколько лет экспоненциально возрастают, поэтому каждая организация сосредотачивает внимание на этой области. Если вы знакомы с Kubernetes, то вы знаете, что, по умолчанию, Kubernetes назначает IP-адрес каждому порту в кластере и обеспечивает безопасность на основе IP. Но он предоставляет только основные меры безопасности. Когда речь заходит о расширенном мониторинге безопасности и обеспечении соответствия нормативным требованиям, к сожалению, Kubernetes не обеспечивает нужного уровня безопасности. Но, к счастью, есть сторонние сканеры Kubernetes с открытым исходным кодом, которые могут помочь вам защитить ваши кластеры Kubernetes. Вот несколько преимуществ использования сканеров Kubernetes: Определение неправильных настроек и уязвимостей в кластере, контейнерах, модулях Предоставляет решения для исправления неправильных настроек и устранения уязвимостей Дает представление о состоянии кластера в реальном времени. Дает больше уверенности команде DevOps в необходимости разработки и развертывания приложений в кластере Kubernetes Помогает избежать сбоя кластера, выявляя проблему на ранней стадии. Рассмотрим следующие инструменты, которые помогут найти уязвимость и неправильную конфигурацию системы безопасности для обеспечения безопасности контейнерных приложений. 1. Kube Hunter Kube Hunter - это средство поиска уязвимостей от Aqua Security. Этот инструмент очень полезен для повышения уровня безопасности кластеров Kubernetes. Этот инструмент для выявления уязвимостей предлагает несколько стандартных вариантов сканирования, таких как удаленный, чересстрочный, сетевой. Он содержит список активных и пассивных тестов, которые могут идентифицировать большинство уязвимостей, присутствующих в кластере Kubernetes. Существует несколько различных вариантов использования этого инструмента. Можно загрузить архив, извлечь его или использовать pip для непосредственной установки Kube Hunter на машину с сетевым доступом к кластеру Kubernetes. После установки можно начать сканирование кластера на наличие уязвимостей. Второй способ использования Kube Hunter - в качестве контейнера Docker. Вы можете непосредственно установить Kube Hunter на машину в кластере, а затем проверить локальные сети для сканирования кластеров. И третий способ - запустить Kube Hunter как под внутри Kubernetes кластера. Это помогает находить уязвимости в любых модулях приложений. 2. KubeBench Kube Bench является одним из инструментов обеспечения безопасности с открытым исходным кодом, которые проверяют соответствие ваших приложений эталонному стандарту безопасности CIS (Center for Internet Security). Он поддерживает тесты для нескольких версий Kubernetes. Кроме того, он также указывает на ошибки и помогает в их исправлении. Этот инструмент также проверяет настройки авторизации и аутентификации пользователей, а также уровень шифрования данных. Это гарантирует, что приложение соответствует требованиям CIS. Возможности KubeBench: Написано как приложение Go Тест для мастеров и узлов Kubernetes Доступно как контейнер Тесты определены в YAML, что упрощает расширение и обновление Поддержка выходных данных формата JSON 3. Checkov Checkov - это средство безопасности, используемое для предотвращения неправильных настроек облака во время сборки Kubernetes, Terraform, Cloudformation, Serverless фреймворков и других сервисов типа Infrastructure-as-code-language. Он написан на языке Python и направлен на повышение эффективности внедрения безопасности и соответствия передовым практикам. Можно выполнить сканирование с помощью Checkov для анализа сервисов типа Infrastructure-as-code-language Функции Checkov: Открытый и простой в использовании Более 500 встроенных политики безопасности Передовые практики обеспечения соответствия для AWS, Azure и Google Cloud Поддержка нескольких форматов вывода - CLI, JUnit XML, JSON Интеграция сканирований в конвейеры ci/cd Выполняет сканирование входной папки, содержащей файлы Terraform & Cloudformation 4. MKIT MKIT означает управляемый инструмент проверки Kubernetes. Этот инструмент помогает быстро выявлять ключевые угрозы безопасности кластеров Kubernetes и их ресурсов. Он имеет быстрые и простые методы для оценки неправильных настроек в кластере и рабочих нагрузках. Инструмент поставляется с интерфейсом, который по умолчанию работает на http://localhost:8000. Инструмент дает представление о неуспешных и успешных проверках. В разделе «Затронутые ресурсы» вы получите подробные сведения о затронутых и не затронутых ресурсах. Функции MKIT: Создана с использованием всех библиотек и инструментов с открытым исходным кодом Простота установки и использования Поддержка нескольких поставщиков Kubernetes - AKS, EKS и GKE Хранение конфиденциальных данных внутри контейнера Предоставляет веб-интерфейс 5. Kubei Kubei используется для оценки непосредственных рисков в кластере Kubernetes. Большая часть Kubei написана на языке программирования Go. Он охватывает все эталонные тесты CIS для Docker. Он сканирует все образы, используемые кластером Kubernetes, прикладные и системные модули и т.д. Вы получаете несколько вариантов настройки сканирования с точки зрения уровня уязвимости, скорости сканирования, области сканирования и т.д. С помощью графического интерфейса можно просмотреть все уязвимости, обнаруженные в кластере, и способы их устранения. Основные характеристики Kubei: Сканер уязвимостей среды выполнения Kubernetes с открытым исходным кодом Проверяет общедоступные образы, размещенные в реестре Предоставляет состояние работоспособности кластера в режиме реального времени Веб-интерфейс пользователя для визуализации сканирований Предоставляет несколько пользовательских параметров для сканирования 6. Kube Scan Kube Scan - это сканер контейнера, который сам поставляется как контейнер. Вы устанавливаете его в новый кластер, после чего он сканирует рабочие нагрузки, выполняющиеся в данный момент в кластере, и показывает оценку риска и сведения о рисках в удобном веб-интерфейсе. Риск оценивается от 0 до 10, 0 означает отсутствие риска, а 10 - высокий риск. Формула и правила оценки, используемые Kube scan, основаны на KCCSS, общей системе оценки конфигурации Kubernetes, которая является фреймворком с открытым исходным кодом. Он аналогичен CVSS (Common Vulnerability Scoring System). Он использует более 30 параметров настройки безопасности, таких как политики, возможности Kubernetes, уровни привилегий и создает базовый уровень риска для оценки риска. Оценка риска также основана на простоте эксплуатации или уровне воздействия и масштабах эксплуатации. Функции KubeScan: Инструмент оценки рисков с открытым исходным кодом Веб-интерфейс пользователя с оценкой рисков и подробностями оценки рисков Выполняется как контейнер в кластере. Регулярные сканирование кластера каждые 24 часа 7. Kubeaudit Kubeaudit, как предполагает название, является инструментом кластерного аудита Kubernetes с открытым исходным кодом. Он находит неправильные настройки безопасности в ресурсах Kubernetes и подсказывает, как их устранить. Он написан на языке Go, что позволяет использовать его как пакет Go или средство командной строки. Его можно установить на компьютер с помощью команды brew. Он предлагает различные решения вроде запуск приложений от имени пользователя без рут прав, предоставление доступа только для чтения к корневой файловой системе, избегание предоставления дополнительных привилегий приложениям в кластере для предотвращения общих проблем безопасности. Он содержит обширный список аудиторов, используемых для проверки проблем безопасности кластера Kubernetes, таких как SecurityContext модулей. Особенности Kubeaudit: Инструмент аудита Kubernetes с открытым исходным кодом Предоставляет три различных режима - манифест, локальный, кластер, для аудита кластера Дает результат аудита на трех уровнях серьезности - ошибка, предупреждение, информация Использует несколько встроенных аудиторов для аудита контейнеров, модулей, пространств имен 8. Kubesec Kubesec - это инструмент анализа рисков безопасности с открытым исходным кодом для ресурсов Kubernetes. Он проверяет конфигурацию и файлы манифестов, используемые для развертывания и операций кластера Kubernetes. Вы можете установить его в свою систему с помощью образа контейнера, двоичного пакета, контроллера допуска в Kubernetes или плагина kubectl. Особенности Kubesec: Инструмент анализа рисков с открытым исходным кодом Он поставляется с объединенным HTTP-сервером, который по умолчанию работает в фоновом режиме и слушает порт 8080. Может запускаться как Kubesec-as-a-Service через HTTPS по адресу v2.kubesec.io/scan Может сканировать несколько документов YAML в одном входном файле. Заключение Указанные средства предназначены для обеспечения безопасности кластера Kubernetes и его ресурсов и затрудняют взлом хакерами приложений, работающих внутри кластера. Сканеры помогут более уверенно развертывать приложения на кластере.
img
Первая часть тут Как только изменение в топологии сети было обнаружено, оно должно быть каким-то образом распределено по всем устройствам, участвующим в плоскости управления. Каждый элемент в топологии сети может быть описан как: Канал или граница, включая узлы или достижимые места назначения, прикрепленные к этому каналу. Устройство или узел, включая узлы, каналы и доступные места назначения, подключенные к этому устройству. Этот довольно ограниченный набор терминов может быть помещен в таблицу или базу данных, часто называемую таблицей топологии или базой данных топологии. Таким образом, вопрос о распределении изменений в топологии сети на все устройства, участвующие в плоскости управления, можно описать как процесс распределения изменений в определенных строках в этой таблице или базе данных по всей сети. Способ, которым информация распространяется по сети, конечно, зависит от конструкции протокола, но обычно используются три вида распространения: поэтапное (hop-by-hop) распространение, лавинное (flooded) распространение и централизованное (centralized) хранилище некоторого вида. Лавинное (flooded) распространение. При лавинной рассылке каждое устройство, участвующее в плоскости управления, получает и сохраняет копию каждой части информации о топологии сети и доступных местах назначения. Хотя существует несколько способов синхронизации базы данных или таблицы, в плоскостях управления обычно используется только один: репликация на уровне записи. Рисунок 6 иллюстрирует это. На рисунке 6 каждое устройство будет рассылать известную ему информацию ближайшим соседям, которые затем повторно рассылают информацию своим ближайшим соседу. Например, A знает две специфические вещи о топологии сети: как достичь 2001: db8: 3e8: 100 :: / 64 и как достичь B. A передает эту информацию в B, который, в свою очередь, передает эту информацию в C. Каждое устройство в сети в конечном итоге получает копию всей доступной топологической информации; A, B и C имеют синхронизированные базы данных топологии (или таблицы). На рисунке 6 связь C с D показана как элемент в базе данных. Не все плоскости управления будут включать эту информацию. Вместо этого C может просто включать подключение к диапазону адресов 2001: db8: 3e8: 102 :: / 64 (или подсети), который содержит адрес D. Примечание. В более крупных сетях невозможно уместить все описание подключений устройства в один пакет размером с MTU, и для обеспечения актуальности информации о подключении необходимо регулярно задерживать время ожидания и повторно загружать данные. Интересная проблема возникает в механизмах распространения Flooding рассылки, которые могут вызывать временные петли маршрутизации, называемые microloops. Рисунок 7 демонстрирует эту ситуацию. На рисунке 7, предположим, что канал [E, D] не работает. Рассмотрим следующую цепочку событий, включая примерное время для каждого события: Старт: A использует E, чтобы добраться до D; C использует D, чтобы добраться до E. 100 мс: E и D обнаруживают сбой связи. 500 мс: E и D рассылают информацию об изменении топологии на C и A. 750 мс: C и A получают обновленную информацию о топологии. 1000 мс: E и D пересчитывают свои лучшие пути; E выбирает A как лучший путь для достижения D, D выбирает C как лучший путь для достижения E. 1,250 мс: лавинная рассылка A и C информации об изменении топологии на B. 1400 мс: A и C пересчитывают свои лучшие пути; A выбирает B для достижения D, C выбирает B для достижения E. 1500 мс: B получает обновленную информацию о топологии. 2,000 мс: B пересчитывает свои лучшие пути; он выбирает C, чтобы достичь D, и A, чтобы достичь E. Хотя время и порядок могут незначительно отличаться в каждой конкретной сети, порядок обнаружения, объявления и повторных вычислений почти всегда будет следовать аналогичной схеме. В этом примере между этапами 5 и 7 образуется микропетля; в течение 400 мс, A использует E для достижения D, а E использует A для достижения D. Любой трафик, входящий в кольцо в A или D в течение времени между пересчетом E лучшего пути к D и пересчетом A лучшего пути к D будет петлей. Одним из решений этой проблемы является предварительное вычисление альтернативных вариантов без петель или удаленных альтернатив без петель. Hop by Hop При поэтапном распределении каждое устройство вычисляет локальный лучший путь и отправляет только лучший путь своим соседям. Рисунок 8 демонстрирует это. На рисунке 8 каждое устройство объявляет информацию о том, что может достигнуть каждого из своих соседей. D, например, объявляет о достижимости для E, а B объявляет о доступности для C, D и E для A. Интересно рассмотреть, что происходит, когда A объявляет о своей доступности для E через канал на вершине сети. Как только E получит эту информацию, у него будет два пути к B, например: один через D и один через A. Таким же образом у A будет два пути к B: один напрямую к B, а другой через E. Любой из алгоритмов кратчайшего пути, рассмотренные в предыдущих статьях, могут определить, какой из этих путей использовать, но возможно ли формирование микропетель с помощью лавинного механизма распределения? Рассмотрим: E выбирает путь через A, чтобы добраться до B. Канал [A, B] не работает. A обнаруживает этот сбой и переключается на путь через E. Затем A объявляет этот новый путь к E. E получает информацию об измененной топологии и вычисляет новый лучший путь через D. В промежутке между шагами 3 и 5 А будет указывать на Е как на свой лучший путь к В, в то время как Е будет указывать на А как на свой лучший путь к В—микропетля. Большинство распределительных систем hop-by-hop решают эту проблему с помощью split horizon или poison reverse. Определены они следующим образом: Правило split horizon гласит: устройство не должно объявлять о доступности к пункту назначения, который он использует для достижения пункта назначения. Правило poison reverse гласит: устройство должно объявлять пункты назначения по отношению к соседнему устройству, которое оно использует, чтобы достичь пункта назначения с бесконечной метрикой. Если разделение горизонта (split horizon) реализованный на рисунке 8, E не будет объявлять о достижимости для B, поскольку он использует путь через A для достижения B. В качестве альтернативы E может отравить путь к B через A, что приведет к тому, что A не будет иметь пути через E к B. Централизованное Хранилище. В централизованной системе каждое сетевое устройство сообщает информацию об изменениях топологии и достижимости контроллеру или, скорее, некоторому набору автономных служб и устройств, действующих в качестве контроллера. В то время как централизация часто вызывает идею единого устройства (или виртуального устройства), которому передается вся информация и который передает правильную информацию для пересылки всем устройствам обработки пакетов в сети, это чрезмерное упрощение того, что на самом деле означает централизованная плоскость управления. Рисунок 9 демонстрирует это. На рисунке 9, когда канл между D и F не работает: D и F сообщают об изменении топологии контроллеру Y. Y пересылает эту информацию другому контроллеру X. Y вычисляет лучший путь к каждому месту назначения без канала [D, F] и отправляет его каждому затронутому устройству в сети. Каждое устройство устанавливает эту новую информацию о пересылке в свою локальную таблицу. Конкретный пример шага 3 - Y вычисляет следующий лучший путь к E без канала [D, F] и отправляет его D для установки в его локальной таблице пересылки. Могут ли микропетли образовываться в централизованной плоскости управления? Базы данных в X и Y должны быть синхронизированы, чтобы оба контроллера вычисляли одинаковые пути без петель в сети Синхронизация этих баз данных повлечет за собой те же проблемы и (возможно) использование тех же решений, что и решения, обсуждавшиеся до сих пор в этой статье. Подключенным устройствам потребуется некоторое время, чтобы обнаружить изменение топологии и сообщить об этом контроллеру. Контроллеру потребуется некоторое время, чтобы вычислить новые пути без петель. Контроллеру потребуется некоторое время, чтобы уведомить затронутые устройства о новых путях без петель в сети. Во время временных интервалов, описанных здесь, сеть все еще может образовывать микропетли. Централизованная плоскость управления чаще всего переводится в плоскость управления не запущенными устройствами переадресации трафика. Хотя они могут казаться радикально разными, централизованные плоскости управления на самом деле используют многие из тех же механизмов для распределения топологии и достижимости, а также те же алгоритмы для вычисления безцикловых путей через сеть, что и распределенные плоскости управления. Плоскости сегментирования и управления. Одна интересная идея для уменьшения состояния, переносимого на любое отдельное устройство, независимо от того, используется ли распределенная или централизованная плоскость управления, заключается в сегментировании информации в таблице топологии (или базе данных). Сегментация-это разделение информации в одной таблице на основе некоторого свойства самих данных и хранение каждого полученного фрагмента или фрагмента базы данных на отдельном устройстве. Рисунок 10 демонстрирует это. В сети на рисунке 10 предположим, что оба контроллера, X и Y, имеют информацию о топологии для всех узлов (устройств) и ребер (каналов) в сети. Однако для масштабирования размера сети доступные места назначения были разделены на два контроллера. Существует множество возможных схем сегментирования - все, что может разделить базу данных (или таблицу) на части примерно одинакового размера, будет работать. Часто используется хеш, так как хеши можно быстро изменить на каждом устройстве, где хранится сегмент, чтобы сбалансировать размеры сегментов. В этом случае предположим, что схема сегментирования немного проще: это диапазон IP-адресов. В частности, на рисунке представлены два диапазона IP-адресов: 2001: db8: 3e8: 100 :: / 60, который содержит от 100 :: / 64 до 10f :: / 64; и 2001: db8: 3e8: 110 :: / 60, который содержит от 110 :: / 64 до 11f :: / 64. Каждый из этих диапазонов адресов разделен на один контроллер; X будет содержать информацию о 2001: db8: 3e8: 100 :: / 60, а Y будет содержать информацию о 2001: db8: 3e8: 110 :: / 64. Не имеет значения, где эти доступные пункты назначения подключены к сети. Например, информация о том, что 2001: db8: 3e8: 102 :: / 64 подключен к F, будет храниться в контроллере X, а информация о том, что 2001: db8: 3e8: 110 :: / 64 подключен к A, будет храниться на контроллере Y. Чтобы получить информацию о доступности для 2001: db8: 3e8: 102 :: / 64, Y потребуется получить информацию о том, где этот пункт назначения соединен с X. Это будет менее эффективно с точки зрения вычисления кратчайших путей, но он будет более эффективным с точки зрения хранения информации, необходимой для вычисления кратчайших путей. Фактически, возможно, если информация хранится правильно (а не тривиальным способом, используемым в этом примере), чтобы несколько устройств вычислили разные части кратчайшего пути, а затем обменивались только результирующим деревом друг с другом. Это распределяет не только хранилище, но и обработку. Существует несколько способов, с помощью которых информация о плоскости управления может быть разделена, сохранена и, когда вычисления выполняются через нее, чтобы найти набор путей без петель через сеть. Согласованность, доступность и возможность разделения. Во всех трех системах распределения, обсуждаемых в этой статье, - лавинной, поэтапной и централизованных хранилищ - возникает проблема микропетель. Протоколы, реализующие эти методы, имеют различные системы, такие как разделение горизонта и альтернативы без петель, чтобы обходить эти микропетли, или они позволяют микропетлям появляться, предполагая, что последствия будут небольшими для сети. Существует ли объединяющая теория или модель, которая позволит инженерам понять проблемы, связанные с распределением данных по сети, и различные сопутствующие компромиссы? Есть: теорема CAP. В 2000 году Эрик Брюер, занимаясь как теоретическими, так и практическими исследованиями, постулировал, что распределенная база данных обладает тремя качествами: Согласованностью, Доступностью и устойчивость к разделению (Consistency, Accessibility Partition tolerance-CAP). Между этими тремя качествами всегда есть компромисс, так что вы можете выбрать два из трех в любой структуре системы. Эта гипотеза, позже доказанная математически, теперь известна как теорема CAP. Эти три термина определяются как: Согласованность: Каждый считыватель видит согласованное представление содержимого базы данных. Если какое-то устройство С записывает данные в базу данных за несколько мгновений до того, как два других устройства, А и В, прочитают данные из базы данных, оба считывателя получат одну и ту же информацию. Другими словами, нет никакой задержки между записью базы данных и тем, что оба считывателя, А и В, могут прочитать только что записанную информацию. Доступность: каждый считыватель имеет доступ к базе данных при необходимости (почти в реальном времени). Ответ на чтение может быть отложен, но каждое чтение будет получать ответ. Другими словами, каждый считыватель всегда имеет доступ к базе данных. Не существует времени, в течение которого считыватель получил бы ответ «сейчас вы не можете запросить эту базу данных». Устойчивость к разделению: возможность копирования или разделения базы данных на несколько устройств. Проще изучить теорему CAP в небольшой сети. Для этого используется рисунок 11. Предположим, что A содержит единственную копию базы данных, к которой должны иметь доступ как C, так и D. Предположим, что C записывает некоторую информацию в базу данных, а затем сразу же после, C и D считывают одну и ту же информацию. Единственная обработка, которая должна быть, чтобы убедиться, что C и D получают одну и ту же информацию, - это A. Теперь реплицируйте базу данных, чтобы была копия на E и еще одна копия на F. Теперь предположим, что K записывает в реплику на E, а L читает из реплики на F. Что же будет? F может вернуть текущее значение, даже если это не то же самое значение, что только что записал К. Это означает, что база данных возвращает непоследовательный ответ, поэтому согласованность была принесена в жертву разделению базы данных. Если две базы данных синхронизированы, ответ, конечно, в конечном итоге одинаковым, но потребуется некоторое время, чтобы упаковать изменение (упорядочить данные), передать его в F и интегрировать изменение в локальную копию F. F может заблокировать базу данных или определенную часть базы данных, пока выполняется синхронизация. В этом случае, когда L читает данные, он может получить ответ, что запись заблокирована. В этом случае доступность теряется, но сохраняется согласованность и разбиение базы данных. Если две базы данных объединены, то согласованность и доступность могут быть сохранены за счет разделения. Невозможно решить эту проблему, чтобы все три качества были сохранены, из-за времени, необходимого для синхронизации информации между двумя копиями базы данных. Та же проблема актуальна и для сегментированной базы данных. Как это применимо к плоскости управления? В распределенной плоскости управления база данных, из которой плоскость управления черпает информацию для расчета путей без петель, разделена по всей сети. Кроме того, база данных доступна для чтения локально в любое время для расчета путей без петель. Учитывая разделение и доступность, необходимые для распределенной базы данных, используемой в плоскости управления, следует ожидать, что непротиворечивость пострадает - и это действительно так, что приводит к микропетлям во время конвергенции. Централизованная плоскость управления не «решает» эту проблему. Централизованная плоскость управления, работающая на одном устройстве, всегда будет согласованной, но не всегда будет доступной, а отсутствие разделения будет представлять проблему для устойчивости сети.
img
Друг, расскажем про интерфейс телефонной статистики для IP - АТС Asterisk под названием Merion Metrics. Интерфейс показывает ключевые диаграммы и графики по звонкам, а также историю звонков в формате, который легко поймет менеджер. По факту, это детально проработанный и красивый CDR для Astetrisk. Про Merion Metrics Если быть кратким: Полная статистика - только самая важная информация: дата, время, откуда и куда был совершен вызов, аудио - запись; Бесплатный тест - протестируйте интерфейс полностью - это бесплатно; Установка за 10 минут - поддержка активно помогает с установкой; Кроссплатформенность - сделано на Java. Совместимо с любой Unix платформой; Для супервизоров - устали от CDR в FreePBX? Или CDR Viewer? мы знаем это чувство; Удобная выгрузка в PDF и CSV - экспортируйте звонки в PDF и пересылайте/распечатывайте их для коллег; Заказать бесплатную демо - версию можно по ссылке ниже: Попробовать Merion Metrics Установка Merion Metrics Важно! На момент этого шага у вас должен быть лицензионный ключ. Закажите у нас демо доступ по ссылке https://asterisk.merionet.ru/merionmetrics Конечно же, для удобства у нас есть пошаговое видео. Видео - инструкция по установке Merion Metrics Установка текстом Системные требования Оперативная память: 256 MB минимум Процессор: Pentium 2 266 МГц + минимум Java Runtime Environment (JRE): версия 8+ Браузер: Internet Explorer 9+ Подготовка Подключитесь к серверу IP - АТС Asterisk по SSH под root пользователем. Создание директории интерфейса Дайте команды в консоль сервера: mkdir /home/merionstat Загрузите дистрибутив интерфейса MerionMonitoring-*.*.*.jar в свежесозданную директорию /home/merionstat. Через WinSCP, например. Важно: загруженный вами дистрибутив будет иметь версионность. В руководстве, мы обозначаем MerionMonitoring-*.*.*.jar со звездочками. У вас будет MerionMonitoring-1.1.9.jar, например. Создание SQL пользователя Перейдите по ссылке для генерации устойчивого к взломам пароля. Запишите его. Далее, дайте следующую последовательность команд в консоль сервера: mysql CREATE USER 'interface'@'localhost' IDENTIFIED BY 'ваш_пароль'; GRANT SELECT, CREATE, INSERT ON asteriskcdrdb.* TO 'interface'@'localhost' IDENTIFIED BY 'ваш_пароль'; Где ваш_пароль - сгенерированный инструментом по ссылке пароль. Например: mysql CREATE USER 'interface'@'localhost' IDENTIFIED BY '6nzB0sOWzz'; GRANT SELECT, CREATE, INSERT ON asteriskcdrdb.* TO 'interface'@'localhost' IDENTIFIED BY '6nzB0sOWzz'; Сохраните пароль отдельно. Директория для записей разговоров Чтобы интерфейс мог воспроизводить ссылки на записи разговоров, необходимо сделать следующее: Сгенерировать зашифрованную последовательность (пароль) через онлайн инструмент генерации. Сохраните его; Дайте команды в консоль: mkdir /var/www/html/сгенерированный_пароль chown asterisk:asterisk /var/www/html/сгенерированный_пароль chmod 775 /var/www/html/сгенерированный_пароль Например: mkdir /var/www/html/5v9MpbtUA8 chown asterisk:asterisk /var/www/html/5v9MpbtUA8 chmod 775 /var/www/html/5v9MpbtUA8 Откройте файл /etc/fstab и добавьте туда /var/spool/asterisk/monitor/ /var/www/html/сгенерированный_пароль/ none rbind 0 0 Например: /var/spool/asterisk/monitor/ /var/www/html/5v9MpbtUA8/ none rbind 0 0 Сохраните изменения в файле fstab. После, дайте следующую команду в консоль: mount -a Старт Запуск интерфейса Дайте следующие команды в консоль сервера: cd /home/merionstat nohup java -jar MerionMonitoring-*.*.*.jar & Сразу после выполнения команды нажмите Enter. Настройка интерфейса Первое подключение После запуска .jar файла, откройте в web - браузере (рекомендуем Google Chrome) адрес http://IP_адрес:7070/#!/config и введите лицензионный ключ, который вам предоставил сотрудник технической поддержки: Нажмите “Проверить лицензию”. В случае, если возникнут проблемы на этом этапе, обратитесь в техническую поддержку (helpdesk@merionet.ru). Далее, необходимо пройти первичную авторизацию. На этом экране введите логин и пароль: admin/IEJu1uh32 На следующем шаге конфигурации необходимо настроить подключение к БД. Для этого, в случае настройки IP - АТС Asterisk, укажите: База данных - mysql, mariadb, или та, в которой хранятся ваши данные; Хост БД - ; если БД на том же сервере, что и установка интерфейса - localhost; если БД на внешнем сервере, что и установка интерфейса - IP_адрес_БД; Порт БД - проставляется автоматически. Меняйте, только если ваш сервер БД слушает запросы на другом порту; Строка для подключения к БД - оставьте без изменений; Наименование таблицы - если Asterisk, как правило, cdr; Схема - это название базы данных. Для Asterisk, как правило, asteriskcdrdb; Пользователь - мы создавали его в разделе “Создание SQL пользователя”. Если вы копировали команды точь в точь, то это будет interface; Пароль - пароль, который вы сгенерировали для SQL пользователя через онлайн инструмент; Хост записей разговоров - конструкция вида http://IP_адрес/сгенерированный_пароль/, где сгенерированный пароль - зашифрованная, которую вы создали на этапе подготовки в разделе “Директория для записей разговоров”. Например, может выглядеть как http://192.168.1.7/5v9MpbtUA8/; Тип станции - Asterisk; По окончанию настроек, нажмите “Подключиться”. Если у вас не получилось, напишите в техническую поддержку (helpdesk@merionet.ru). На следующем этапе необходимо сопоставить название поля в таблице с его действующим значением. Как правило, в случае IP - АТС Asterisk все поля выставлено по умолчанию. Внизу страницы нажмите кнопку “Установить соответствия”. После этого, нажмите “Запустить приложение”. Интерфейс сделает редирект на стартовую страницу. По умолчанию, логин и пароль администратора - admin/admin Известные проблемы Приложение уже запущено Если вы не можете открыть приложение по адресу http://IP_адрес:7070/#!/config, то проверьте, не запущено ли оно ранее. Для этого дайте следующую команду в консоль: ps aux | grep Merion Проанализируйте вывод. Если он содержит строку вида: root 4919 0.1 13.1 2120384 801784 ? Sl Dec11 19:12 java -jar MerionMonitoring-*.*.*.jar То необходимо сделать следующее: вторым слева числом (после root, выделено оранжевым цветом) является PID процесса. Его нужно принудительно завершить. Для этого, копируем ID процесс в команду: kill -9 4919 Делаем снова проверку ps aux | grep Merion Если вывод более не содержит строку, как показано ранее - значит можете заново попробовать запустить команды: cd /home/merionstat nohup java -jar MerionMonitoring-*.*.*.jar & База данных на внешнем сервере Если вы выполняете подключение к удаленной базе данных, необходимо внести дополнительную конфигурацию в настройки MySQL, которые выполнялись на этапе “Создание SQL пользователя”. Например, это может понадобиться, если сервер с IP - АТС Asterisk находится на одной платформе, а сервер, где устанавливается интерфейс - на другой. В таком случае, на сервере, где установлена БД (сервер IP - АТС Asterisk, как правило) необходимо выполнить следующие команды: mysql GRANT SELECT, CREATE, INSERT ON asteriskcdrdb.* TO 'interface'@'IP_адрес_интерфейса' IDENTIFIED BY 'ваш_пароль'; Где: ваш_пароль - сгенерированный инструментом по ссылке пароль; IP_адрес_интерфейса - IP - адрес машины, на котором вы устанавливаете дистрибутив интерфейса статистики. Например: mysql GRANT SELECT, CREATE, INSERT ON asteriskcdrdb.* TO 'interface'@'192.168.1.78' IDENTIFIED BY '6nzB0sOWzz'; Помимо прочего, удостоверьтесь, что между узлами открыты порты: 3306 - для MySQL и MariaDB; 5432 - для PostgreSQL. Медленная загрузка данных Если вы наблюдаете проблемы с выгрузкой данных (долгая загрузка) - это связано с большим объемом базы данных. Мы рекомендуем запускать интерфейс (.jar файл) с дополнительными ключами. Согласно пункта “Запуск интерфейса”, выполните следующую команду: cd /home/merionstat nohup java -jar MerionMonitoring-*.*.*.jar -Xms128m -Xmx256m & Где: -Xms128m - количество оперативной памяти, выделяемое приложению на старте. 128 мегабайт в данном примере; -Xmx256m - максимально доступное количество оперативной памяти для приложения. 256 мегабайт в данном примере. Как обратиться в поддержку? Если вы испытываете технические трудности с настройкой интерфейса - мы поможем. Нам понадобятся файлы из директории /home/merionstat в которую вы разместили дистрибутив MerionMonitoring-*.*.*.jar, согласно пункта “Создание директории интерфейса”. В зависимости от этапа возникновения сложности, там могут быть следующие файлы (помимо файла с расширением .jar): columns_mapping.cfg configuration.properties nohup.out Присылайте нам эти файлы с описанием проблемы и указывайте лицензионный ключ. Связаться с нами можно следующим образом: Telegram бот - @merion_support_bot Электронная почта - helpdesk@merionet.ru
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59