По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Салют! В статье расскажем о модуле для работы с лог-файлами Asterisk, который позволяет настроить какие события должны попадать в лог и в каких файлах он должен храниться. Итак, речь пойдёт о модуле Asterisk Logfile Settings. Все лог-файлы нашей IP-АТС Asterisk, как известно, хранятся в папке /var/log/asterisk и мы можем просматривать их, не выходя из GUI FreePBX, благодаря модулю Asterisk Logfiles. Однако, по дефолту, вывод имеющихся лог файлов может не содержать много нужной и полезной информации, особенно это актуально в процессе траблшутинга. Итак, давайте рассмотрим возможности данного модуля. Для этого открываем Settings → Asterisk Logfile Settings. Перед нами должно открыться следующее окно: Как видно функционал данного модуля разбит по двум вкладкам: General Settings и Log Files General Settings На данной вкладке настраивается формат и представление лог-файлов: Date Format - Параметр отображения даты и временной метки в логе. Для того, чтобы ознакомиться с другими возможными спецификаторами, предлагается ознакомиться с мануалом Linux strftime(3). Можно также добавить десятые 1%, сотые 2% и т.д. Формат даты по умолчанию ISO 8601 yyyy-mm-dd HH:MM:SS (%F %T). Log Rotation - Здесь можно выбрать как будут храниться старые записи в логах, по умолчанию – они записываются в отдельный файл каждую ночь Sequential - Записи будут переименовываться с определённым порядковым номером, у самого нового лога будет самый высокий порядковый номер Rotate – Самый старый лог будет иметь самый высокий порядковый номер. Данная настройка стоит по умолчанию Timestamp – Использовать временную метку вместо порядкового номера лог-файла. Append Hostname - Определяет добавлять ли имя сервера к в записи лог-файла. Это полезно, если вы используете центральный сервер для хранения логов, куда поступает информация со всех остальных серверов. В этом случае, эта настройка может быть полезна чтобы идентифицировать источник информации. В противном случае, оставьте No Log Queues - Включает логгирование событий очередей, созданных с помощью модуля Queues. Создаёт для этого отдельный файл queue_log. Log Files В этой секции, собственно, и настраивается каким должен быть лог, какие события он должен логировать, насколько подробно и так далее. Здесь вы также можете создать свой собственный тип лог-файла и определить нужные вам параметры. Рассмотрим какие опции нам доступны: Debug - Очень подробный тип сообщений, который будет занесён в лог. Рекомендуется устанавливать данный параметр только если вы столкнулись с какой либо проблемой и для её отладки вам нужна более подробная информация DTFM - События, свидетельствующие о факте нажатия на кнопки телефона. Полезно при исследовании проблем с IVR и голосовой почтой Error - Критические ошибки и проблемы Fax - События передачи и приёма факсов Verbose - События, отображающие пошаговое установление соединения и дальнейшую информацию на протяжении звонка. Полезно при анализе неправильно отрабатывающих настроек call flow Warning - Возможные ошибки в синтаксисе дайлплана или call flow, не критично. Давайте сделаем отдельный файл, который будет логгировать только события нажатия клавиш на телефоне и назовём его dtfm Теперь позвоним на общий номер, на входящем маршруте которого стоит IVR. В данном IVR стоит правило – после нажатия на кнопку 5 соединить с неким внутренним номером. А теперь посмотрим новый лог в модуле Asterisk Log Files - dtfm:
img
Apache Cassandra — это программное обеспечение для управления базами данных NoSQL. Организации используют его для обработки больших объемов данных распределенным способом. Популярность этого программного обеспечения возросла благодаря высокой доступности и отказоустойчивости. Для этого Cassandra перешла от концепции главных или именованных узлов к симметричным распределенным узлам P2P. Каждый узел в кластере имеет одно или несколько пространств ключей, содержащих данные. В этом руководстве вы узнаете, что такое пространство ключей, его компоненты и как создавать, изменять и удалять пространства ключей. Что такое пространство ключей в Cassandra? Пространство ключей (Keyspace) — это контейнер данных в Cassandra, похожий на базу данных в системах управления реляционными базами данных (RDMBS). Кластер имеет одно пространство ключей для каждого приложения, столько, сколько необходимо, в зависимости от требований и использования системы. Пространства ключей — это совершенно отдельные объекты, и данные, которые они содержат, не связаны друг с другом. В кластере Cassandra пространство ключей — это самый внешний объект, который определяет, как данные реплицируются на узлах. Пространства ключей состоят из основных объектов, называемых семействами столбцов (которые похожи на таблицы в СУБД), строк, индексированных по ключам, типам данных, сведениям о центре обработки данных, коэффициенту репликации и стратегии пространства ключей. Компоненты пространства ключей Cassandra Есть некоторые важные компоненты пространства ключей, которые необходимо указать при создании пространства ключей. Эти компоненты: Стратегия репликации При определении пространства ключей стратегия репликации указывает узлы, на которых будут размещены реплики. Используя несколько узлов для размещения реплик, вы достигаете отказоустойчивости, высокой доступности и надежности. Возможны две стратегии: Простая стратегия. Используйте эту стратегию для сред тестирования и разработки, а также если вы не собираетесь развертывать кластер более чем в одном центре обработки данных. Коэффициент репликации применяется ко всему кластеру. Разделитель решает, где разместить первую реплику на узле. Затем другие реплики распределяются по часовой стрелке на следующих узлах независимо от центра обработки данных или местоположения. Стратегия сетевой топологии. Эта стратегия подходит, когда вам нужно развернуть свой кластер в нескольких центрах обработки данных. Однако вы можете использовать его даже с одним центром обработки данных, чтобы впоследствии расширить его. Стратегия сетевой топологии работает как для продакшена, так и для разработки. Она имеет тенденцию размещать реплики на узлах, которые не находятся в одной стойке, чтобы избежать проблем, когда одна стойка выходит из строя. С помощью этого параметра каждый центр обработки данных может иметь отдельный коэффициент репликации. Фактор репликации Этот параметр определяет, сколько реплик строки хранить на каждом узле. Минимум должно быть две реплики на центр обработки данных. Это означает, что сбой одного узла не влияет на работу группы репликации. Поэтому рекомендуется установить три копии каждой строки на разных узлах для достижения удовлетворительной отказоустойчивости. Эмпирическое правило заключается в том, чтобы коэффициент репликации оставался таким же, как и количество узлов. Базовый синтаксис пространства ключей Вы можете создать пространство ключей с различными настройками репликации. Ниже приведен основной синтаксис для создания пространства ключей: CREATE KEYSPACE keypsace_name WITH replication = {properties}; Свойства (properties) включают в себя различные параметры, такие как стратегия репликации, коэффициент или долговременная запись. Примечание. Команды CQL заканчиваются точкой с запятой (;). Если вы не используете точку с запятой в конце запроса, система будет ждать дополнительного ввода. Создать пространство ключей с помощью Cqlsh Чтобы создать пространство ключей, запустите оболочку CQL: cqlsh Затем, следуя базовому синтаксису, создайте пространство ключей с нужным именем и настройками репликации. В этом случае мы создадим test_keyspace с SimpleStrategy и replication_factor 3: CREATE KEYSPACE test_keyspace WITH replication = {'class':'SimpleStrategy', 'replication_factor' : 3}; Используйте приведенный выше пример, если вы не собираетесь расширяться до нескольких центров обработки данных. Кроме того, если у вас есть только один узел и вы используете Cassandra для тестирования, вы можете установить replication_factor равным 1. Для производственных сред и нескольких центров обработки данных создайте пространство ключей со стратегией репликации сетевой топологии. Для этого введите: CREATE KEYSPACE keyspace_network_topology WITH replication = {'class':'NetworkTopologyStrategy', 'datacenter1' : 3}; Имя центра обработки данных по умолчанию — datacenter1. Чтобы проверить имя вашего центра обработки данных, закройте оболочку CQL и используйте nodetool: nodetool status Если у вас несколько центров обработки данных, перечислите их все в запросе с соответствующими коэффициентами репликации. Например, запрос для двух центров обработки данных выглядит так: CREATE KEYSPACE keyspace_network_topology WITH replication = {'class':'NetworkTopologyStrategy', 'datacenter1' : 3, 'datacenter2' : 3}; Проверить ключевое пространство Поскольку в выводе нет ответа об успешном создании пространства ключей, используйте эту команду, чтобы убедиться, что пространство ключей находится в списке: DESCRIBE KEYSPACES; Система возвращает список всех доступных пространств ключей Cassandra. Мы выделили два пространства ключей, которые мы создали в приведенных выше примерах. Есть пара пространств ключей по умолчанию, которые поставляются с установкой Cassandra. Отключить устойчивую запись (Durable Writes) В Cassandra конфигурация durable_writes по умолчанию имеет значение true. Вы можете отключить его, но только для NetworkTopologyStrategy. Этот параметр сообщает Cassandra, следует ли ей использовать журнал фиксации для внесения обновлений в выбранное пространство ключей. Когда вы пытаетесь отключить durable_writes при создании пространства ключей с помощью SimpleStrategy, вы получаете предупреждение не делать этого. Причина в том, что вы можете потерять свои данные, если вы не синхронизировали данные из memtable в sstable, и ваш дата-центр выйдет из строя. Чтобы отключить durable_writes при создании пространства ключей, введите этот запрос: CREATE KEYSPACE keyspace_durwrites WITH replication = {'class':'NetworkTopologyStrategy', 'datacenter1' : 3} AND DURABLE_WRITES = false; Проверка устойчивых операций записи Вы можете проверить запрос, который использовался при создании пространства ключей, описав пространство ключей. Также появляется часть durable_writes: DESCRIBE keyspace_durwrites Чтобы проверить настройки durable_writes для всех пространств ключей, запросите system_schema: SELECT * FROM system_schema.keyspaces; В выходных данных показаны все пространства ключей и их настройки, включая durable_writes. Использование пространства ключей Чтобы выбрать пространство ключей в Cassandra и выполнить над ним действия, используйте ключевое слово USE. Синтаксис: USE keyspace_name Например: USE keyspace_durwrites; Оболочка CQL переключается на указанное вами имя пространства ключей. Чтобы изменить текущее пространство ключей, используйте ту же команду с другим именем. Примечание. Всякий раз, когда вы создаете таблицу в Cassandra, вы начинаете с определения пространства ключей. Изменить ключевое пространство После создания пространства ключей вы можете изменить конфигурацию с помощью ключевого слова ALTER. Единственное, что вы не можете изменить, это имя пространства ключей. Помимо этого, вы можете изменить стратегию репликации, коэффициент репликации и устойчивые записи. Чтобы изменить пространство ключей, следуйте тому же синтаксису, что и при его создании, но используйте ALTER вместо CREATE. Измените значения, которые вы хотите. Например: ALTER KEYSPACE keyspace_durwrites WITH replication = {'class':'NetworkTopologyStrategy', 'datacenter1' : 2} AND DURABLE_WRITES = true; Чтобы убедиться, что изменения вступили в силу, используйте ключевое слово DESCRIBE: На изображении выше показана конфигурация пространства ключей до и после изменения. Удалить ключевое пространство Если вы отбросите ключевое пространство, оно будет удалено из системы. Ключевое слово DROP удаляет из пространства ключей все семейства столбцов, а также индексы и типы данных. Чтобы удалить пространство ключей в Cassandra, используйте этот синтаксис: DROP keyspace_name; Например: DROP keyspace_durwrites; Чтобы убедиться, что вы удалили пространство ключей, снова используйте запрос DESCRIBE. Итоги Выполнив шаги, описанные в этом руководстве, вы сможете успешно создать пространство ключей в Cassandra. Примеры в этом руководстве показали вам, как создать пространство ключей для разных сред и с разными настройками. Мы также показали вам, как изменить и удалить ключевое пространство, если вам нужно внести какие-либо изменения.
img
Если PowerShell кажется вам сложным для использования его для повседневных задач, "круто" может быть не тем словом, которое у вас ассоциируете с ним. Но PowerShell является основной частью Exchange, Windows Server и SQL Server, и он обладает огромными возможностями, которые мы все должны понять, принять и использовать, чтобы облегчить и автоматизировать наши текущие дела. Я собираюсь немного поразвлечься и показать вам несколько хитростей, которые определенно пригодятся вам в решении нудных задач на работе. Кроме того, вы будете выглядеть намного круче в глазах ваших коллег, когда сможете решить проблему из командной строки. Согласитесь, это выглядит привлекательно, чем щелкать правой кнопкой мыши и что-то исправлять. Будьте очень осторожны так как это инструмент достойный своего названия (Power – Сила, Shell – Оболочка). PowerShell может легко вызвать массовые изменения конфигурации, как положительные, так и отрицательные, поэтому для безопасности создайте тестовую или лучше всего виртуальную среду для вашего обучения и тестирования. Если вы будете тестировать у себя на компьютере, то создайте точку восстановления системы. Чтобы во время выполнения одной из следующих команд что-то пойдет не так, вы всегда могли восстановить свой компьютер. 10 крутых вещей, которые можно сделать с помощью Windows PowerShell 1: Отчёты о подключённых USB оборудованиях PowerShell даёт возможность работать с Windows Management Instrumentation (WMI). С помощью PowerShell, вы можете сделать WMI - запрос для получения информации о USB - устройствах, которые установлены как на локальной, так и на удаленных системах. gwmi Win32_USBControllerDevice -computername DBSERVER1 |fl Antecedent,Dependent В данной команде будет применен фильтр возврата предшествующих и зависимых полей с компьютера DBSERVER1. Если вы хотите получить полную информацию о USB-устройствах в системе, вы можете убрать оператор | и fl. Это весьма удобный способ для ведения отчётов по серверам, к которым подключены USB - устройства с лицензией. 2: Выполнение ваших любимых задач CMD в PowerShell Да, вы можете перестать использовать командную строку (CMD) и начать выполнять все те же задачи в PowerShell. Это поможет сделать процесс обучение немного проще и помочь вам лучше ознакомиться с интерфейсом. К сожалению, PowerShell невозможно вызвать через окно «выполнить» с помощью трёх букв, подобно CMD. Но вы можете назначить сочетание клавиш для быстрого запуска PowerShell, например, Ctrl + Shift + P. 3: Принудительное завершение процесса в PowerShell Если зависла какая-то служба Windows, вы можете использовать PowerShell для завершения процесса так же, как и через Диспетчер Задач. Например, для закрытия BadThread.exe, вы делаете следующее: get-process BadTh* Результаты выведут нам нужные данные в таком формате: Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName ------- ------ ----- ----- ----- ------ -- ----------- 19 5 -321955 -312219 -154 32.76 7583 BadThread После того, как мы идентифицируем Process ID, вы можете принудительно закрыть зависший процесс введя команду: stop-process -id 7583 В тот же момент процесс BadThread будет принудительно остановлен, и вы сможете возобновить попытку запуска службы. Которую можете сделать прямо здесь, в PowerShell. 4: Используйте PSDrive для большего, чем просто просмотр дисков Команда PSDrive позволяет просматривать объекты Windows за пределами традиционных сетей, а также локальных или съемных дисков. Например, чтобы посмотреть диски в разделе верхнего уровня реестра HKEY_LOCAL_MACHINE, вы можете использовать HKLM PSDrive. Чтобы войти в реестр, введите следующую команду: PS C:> cd HKLM: PS HKLM:/> Затем вы переключаетесь в раздел регистра где сможете просмотреть список всех объектов и удалять их, если вам это нужно. 5: Экспорт NTFS разрешений папки – как обычно, так и рекурсивно Управление разрешениями NTFS - это отдельный вопрос, но с помощью PowerShell можно экспортировать список разрешений для аудита доступов или для быстрого анализа списка ACLs для настройки политик безопасности. Это лучший вариант для создания отчётности в формате периодически запускаемого скрипта, или вы можете запускать его по требованию, например, для диагностики конкретной проблемы, связанной с доступами. Например, используя следующую команду: PS E:>Get-Acl N:Data Это даст вам быстрый ответ с результатами ваших прав безопасности по указанному пути N:Data (обратите внимание, что команда не даёт доступ к ресурсу). Данная команда не даст нам общую картину всех доступов всего пути, а только отчёт только об указанном пути. Но если вы хотите включить рекурсию для всего пути, вы можете использовать другую команду. Для того же пути N:Data вы должны использовать командлет Get-ChildItem (cmdlet) в PowerShell в сочетании с командлетом Get-Acl. Рассмотрим следующий пример: PS E:>Get-ChildItem N:Data -recurse | Get-Acl Данная команда будет отображать списки ACL для содержимого всего пути N:Data. Разберём как это работает: командлет Get-ChildItem показывает нам все объекты файловой системы по указанному пути N:Data, а дальше весь список объектов передаётся командлету Get-Acl который предоставляет результаты (списки ACL) для каждого объекта. Если вы хотите заархивировать данные в документ (CSV), вам нужно добавить | export-csv c:filename.csv в конце команды. Кроме этого вы можете извлечь в обычный текстовый файл с помощью добавления командлета > C:filename.txt. Обратите внимание что, когда вы используете параметр -recurse, он будет применяться во всех вложенных файлах и папках. Поэтому будьте внимательны, когда используете его для инвентаризации объёмных томов или же по сети. 6: Отличия PowerShell 2.0 PowerShell 2.0 включает в себя графический интерфейс что является удобной особенностью данной системы. Скрипты PowerShell сохраняются как файлы .ps1, что позволяет нам легко изменять, импортировать и мигрировать сценарии в различные системы. На скриншоте ниже показан пример списка разрешений NTFS в графическом режиме. Примечание для PowerShell 2.0: Перед тем как начать использовать PowerShell 2.0 версию, необходимо настроить политику исполнения с помощью первой версии PowerShell. Введите одну из следующих команд для настройки политики исполнения под ваши нужды: PS C:> Set-ExecutionPolicy Restricted (только проверка) PS C:> Set-ExecutionPolicy AllSigned (наиболее безопасный) PS C:> Set-ExecutionPolicy RemoteSigned (средний уровень безопасности) PS C:> Set-ExecutionPolicy Unrestricted (наименее безопасный) При этом не забудьте, что для PowerShell 2.0 требуется пакет WS-MAN v1.1 и Microsoft.NET Framework 3.0 для графического интерфейса. 7: Горячие клавиши в графическом интерфейсе PowerShell Если вы знакомы со средой Microsoft SQL Query Analyzer, вы по достоинству оцените некоторые из этих сочетаний клавиш. В PowerShell GUI вы можете выбрать одну или несколько строк и выполнить их разом одним нажатием клавиши F5. Кроме того, если вы изменили скрипт, то для экономии времени при редактировании и тестировании доступны привычные Ctrl + S для сохранения, Ctrl + Z для отмены, Ctrl + C для копирования и Ctrl + V для вставки. 8: Фоновый режим для длительных задачи Если вы собираетесь использовать команду, выполнение которого займёт некоторое время, вы можете запустить PowerShell в фоновом режиме до её завершения. Таким образом, можно отправить серию команд на автоматическое выполнение по своему собственному расписанию. Чтобы запустить команду в фоновом режиме необходимо добавить в начало параметр –psjob. А ещё можно узнать о состоянии любого из заданий с помощью следующей команды: PS C:> get-psjob В дополнительном окне вы увидите таблицу с результатами о текущих состояний ваших заданий, дополнительно с уникальными идентификаторами сеанса для каждой задачи отдельно. На скриншоте ниже показана одна проваленная задача. С помощью следующей команды вы можете удалить неудачную задачу, указав ID Session в конце команды: PS C:>remove-psjob 9 9: Вставка временных рамок для вывода команд PowerShell Для задач PowerShell можно ввести временную метку последовательности, чтобы определить продолжительность каждого шага, к тому же можно использовать для настройки журнала вводимых скриптов. Это может оказаться удобным способом для их тестирования. Чтобы вставить метку времени, введите одну из следующих команд в виде одно строки в файле .ps1: КомандыВывод"$(Get-Date -format g) Start logging"20/4/2020 7:45 AM"$(Get-Date -format F) Start logging"Friday, December 23, 2019 8:26:24 AM“$(Get-Date -format o) Start logging"2019-11-17T19:26:24.0479860-06:00 Существует много различных форматов команды Get-Date, но обычно эти три параметра подходят для большинства целей с временными метками. 10: Вывод результатов с задержкой В PowerShell некоторые команды выводят информацию на экран быстрым прокручиванием. Если вы не экспортируете данные в файл, будет невозможно просмотреть их на экране. Давайте ещё раз воспользуемся командлетом Get-ChildItem из предыдущих примеров. Эта команда может выводить множество результатов в зависимости от указанного пути. Для упрощения просмотра выводимых данных на экране мы воспользуемся функцией, которая называется EasyView. Данная функция позволяет нам просмотреть результаты на экране путем отображения одной строки каждые полсекунды. Функция EasyView создаётся следующим образом: function EasyView { process { $_; Start-Sleep -seconds .5}} Чтобы выполнить команду PowerShell с помощью функции EasyView добавьте в конце команды оператор | и название самой функции, как показано ниже: Get-ChildItem N:Data | EasyView Функция EasyView настроена на отображение строк с интервалом в полсекунды. Вы также можете настроить интервал в миллисекундах. Итоги Крутые особенности на этих 10 пунктах не заканчиваются. Есть множества функций PowerShell, которые могут упростить ваши ежедневные задачи. Я надеюсь эта статья привлечёт ваше внимание к командной строке и поможет вам в будущем использовать PowerShell.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59