Showing posts with label оптимизация. Show all posts
Showing posts with label оптимизация. Show all posts

Tuesday, 23 April 2024

Возможности BCDEdit.

Всем привет.

Вы наверняка знаете что система запуска для Windows хранится в чём-то с названием Boot Configuration Database (BCD, База данных конфигурации запуска). В Windows 11 его можно редактировать, но зачем это кому-то нужно? Существуют обстоятельства, например, когда у вас имеется конфигурация с двойным запуском или когда что- то в этой базе данных изменяется или разрушается.  Даже в этом случае для Вас не все потеряно!

Для редактирования этой базы данных откройте Командную строку или Терминал Windows от имени Администратора и наберите команду BCDEdit. Она отобразит текущую конфигурацию в этой базе данных. 

Все записи в этой базе данных начинаются со своих Идентификаторов. Это может быть некое техническое название, текстовая строка или даже шестнадцатеричный GUID (General Unique Identifier, Глобально уникальный идентификатор). Он поставляется в установленном формате {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}. 

Полный список идентификаторов показан ниже:

  • {badmemory} Глобальный список дефектной памяти
  • {bootloadersettings} Подлежащие наследованию всеми записями начального загрузчика глобальные настройки
  • {bootmgr} Диспетчер запуска Windows
  • {current} Основная операционная система в этом ПК
  • {dbgsettings} Глобальные настройки отладчика
  • {default} Идентификатор для записи запуска по умолчанию
  • {emssettings} Глобальные настройки EMS
  • {fwbootmgr} Запись запуска диспетчера запуска встроенного ПО, хранится в NVRAM систем UEFI
  • {globalsettings} Подлежащие наследованию всеми записями начального загрузчика глобальные настройки
  • {memdiag} Утилита диагностики памяти
  • {ntldr} Наследуемый загрузчик Windows, NTLDR; применяется для выпущенных до Windows Vista версий Windows
  • {ramdiskoptions} Необходимые для RAM дисков дополнительные параметры
  • {resumeloadersettings} Подлежащие наследованию всеми записями восстановления из гибернации Windows глобальные настройки.

Sunday, 6 March 2022

Макросы в Zabbix.

Всем привет.

Макросы в Zabbix могут быть удобны для умного использования. Известно что макросы в Zabbix определяются на нескольких уровнях, более локальный перекрывает предыдущий по ниспадающей:

глобальный макрос

{$PROC_NUM} = 200

Его перекрывает макрос уровня шаблона 

{$PROC_NUM} = 300

А его перекрывает макрос уровня узла сети

{$PROC_NUM} = 500

Например, можно использовать {$USER_MACROS} в качестве порогового значения для таких элементов данных как загрузка CPU, размер свободной памяти, количества процессов и т.д.

{Template OS: system.cpu.load[percpu,avg1].avg(5m)}>{$CPU_LOAD}

{Template OS: vm.memory.size[available].last(0)}<{$MEMORY_FREE}

{Template OS: proc.num[].avg(5m)}>{$PROC_NUM}

Где макрос уровня шаблона: 

{$PROC_NUM} = 300

А макрос уровня узла сети разделить по нагруженности:

- обычный узел сети

{$PROC_NUM} = 300

- сильно нагруженный узел сети

{$PROC_NUM} = 500

- менее загруженный узел сети

{$PROC_NUM} = 200

Friday, 28 January 2022

Полигон ELK.

Всем привет.

Использование rsyslog для хранения log-сообщений сетевого оборудования, и loganalyzer для их отображения, обозначило необходимость поиска, соответствующей современным требованиям, альтернативы. В результате анализа различных решений был сделан выбор в пользу open-source компонентов стека ELK. Был ли этот выбор полностью осознанным - скорее нет, ибо популярность ELK стека бьет все рекорды. Поэтому не пощупать его своими руками было бы неразумно. Тем более у меня была давняя задача разобраться с IDS SELKS изнутри, где ELK, как вы заметили, является основой.

Итак, основными элементами ELK являются: Elasticsearch (search engine – для хранения и быстрого поиска структурированных данных), Logstash (collector – для приема в различном формате данных, их фильтрации и преобразования, и последующей отправки в различные базы данных) и Kibana (инструмент для визуализации), которые и составляют акроним ELK. Это в классическом варианте исходя из названия, но в последнее время сюда активно подмешивают Filebeat, который идет как в в паре с Logstash, так и вместо него.

Подробное описание работы этих компонентов не планировалось в рамках данной статьи. Интересующая информация по стеку очень хорошо представлена на официальном сайте, в т.ч. в виде подробной документации, а также в огромном количестве статей и публикаций. Именно по ним я поднимал весь стек пошагово. За основу была взята подробная инструкция здесь, ему помагал материал отсюда и отсюда. Каждый автор решал свою практичечкую задачу поэтому мне пришлось компилировать нужное по ходу. Обычно ELK разворачивают на одном сервере  (как с SELKS), но я решил что это будет слишком просто, поэтому  в моем полигоне Elasticsearch один хост, Kibana второй хост, и Logstash+FileBeat третий. До кластера руки не дошли, но я уверен, что это будет создать не так уж и трудно.

В ходе работ было проведено: 

  • установка Elasticsearch
  • установка Kibana
  • установка Logstash
  • установка Filebeat для отправки логов в Logstash
  • установка и настройка Winlogbeat
  • установка плагина Filebeat для отправки netflow Cisco
  • настройка безопасности и авторизация в Kibana (несколько вариантов)
  • проксирование подключений к Kibana через Nginx
  • автоматическая очистка индексов в elasticsearch.


А теперь мои шаги:

1) Проверить для всех хостов стека с Ubuntu 

sudo timedatectl set-timezone Europe/Kiev

sudo apt-get install --reinstall systemd

2) Установить для всех хостов ELK стека

sudo apt-get install apt-transport-https

sudo wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a  /etc/apt/sources.list.d/elastic-7.x.list

# Также ставим JDK for Elasticsearch (Host0) & Logstash (Host1)

sudo apt install default-jdk -y

java -version

3) Настройка Elasticsearch (Host0, IP 192.168.1.11, port 9200,9300) 

- /etc/elasticsearch/elasticsearch.yml:

network.host: 0.0.0.0 (or 192.168.1.11)

http.port: 9200

transport.host: localhost

transport.tcp.port: 9300

Monday, 3 January 2022

Меняем max_connections для MySQL.


Всем привет.

При экспериментах с буфером в Zabbix получил неожиданно ошибку "...too many connections". При этом фронтенд Zabbix-а был доступен, но сам сервис благополучно отдыхал от своей работы. Оказалось что текущие настройки pooler-a Zabbix требуют себе больше количество разрешенных коннектов при доступе к базе данных MySQL. Как известно, за это отвечает параметр MySQL max_connections, который по умолчанию равен 200.

Вроде все просто - идем в файл /etc/mysql.cnf и меняем лимит подключения:

[mysqld]

max_connections = 1000

Перезапускаем сервис MySQL

systemctl restart mysql

и проверяем SQL-запросом show variables like "max_connections"; текущее значение max_connections и... понимаем что ничего не изменилось.

А дело в том что в связи с переходом Ubuntu с Upstart на Systemd с версии 15.04 и выше, не соблюдаются ограничения выставленные в /etc/security/limits.conf для системных служб. Эти ограничения теперь применяются только к пользовательским сеансам. Пределы для службы MySQL определены в файле конфигурации Systemd, который мы должны скопировать из своего местоположения по умолчанию в /etc/systemd, а затем отредактировать копию:

sudo cp /lib/systemd/system/mysql.service /etc/systemd/system/

sudo nano /etc/systemd/system/mysql.service

Добавляем следующие строки в конец файла:

LimitNOFILE=infinity

LimitMEMLOCK=infinity

И перегружаем конфигурацию Systemd с помощью:

sudo systemctl daemon-reload

Перезапускаем еще раз MySQL

systemctl restart mysql

и вот только теперь он будет подчиняться нашей директиве max_connections.

Также советуют указать большие значения параметров для max_user_connections  и max_connect_error.

Успехов.

Monday, 6 December 2021

MSC оснастки Windows.


Всем привет. 

Уверен что всегда полезно иметь (и в голове) список необходимых элементов оснастки Консоли управления в Windows. Почему? Подчас набрать десяток символов намного удобнее и быстрее чем перещелкиваться мышкой  по окнам. Собственно вот и он в 3-х частях:

1. Перечень msc оснасток для Windows:

appwiz.cpl — Установка и удаление программ

certmgr.msc — Сертификаты

ciаdv.msc — Служба индексирования

cliconfg — Программа сетевого клиента SQL

clipbrd — Буфер обмена

compmgmt.msc — Управление компьютером

dcomcnfg — Консоль управления DCOM компонентами

ddeshare — Общие ресурсы DDE (на Win7 не работает)

desk.cpl — Свойства экрана

devmgmt.msc — Диспетчер устройств

dfrg.msc — Дефрагментация дисков

diskmgmt.msc — Управление дисками

drwtsn32 — Dr.Watson

dxdiag — Служба диагностики DirectX

eudcedit — Редактор личных символов

eventvwr.msc — Просмотр событий

firewall.cpl — настройки файерволла Windows

gpedit.msc — Груповая политика

fsmgmt.msc — Общие папки

fsquirt — Мастер передачи файлов Bluetooth

chkdsk — Проверка дисков (обычно запускается с параметрами буква_диска: /f /x /r)

control printers — Принтеры и факсы — запускается не всегда

control admintools — Администрирование компьютера — запускается не всегда

control schedtasks — Назначенные задания (планировщик)

control userpasswords2 — Управление учётными записями

compmgmt.msc — Управление компьютером (compmgmt.msc /computer=pc — удаленное управление компьютером pc)

lusrmgr.msc — Локальные пользователи и группы

mmc— создание своей оснастки

mrt.exe — Удаление вредоносных программ

msconfig — Настройка системы (автозапуск, службы)

mstsc — Подключение к удаленному рабочему столу

ncpa.cpl — Сетевые подключения

ntmsmgr.msc — Съёмные ЗУ

mmsys.cpl — Звук

ntmsoprq.msc — Запросы операторов съёмных ОЗУ (для XP)

odbccp32.cpl — Администратор источников данных

perfmon.msc — Производительность

regedit — Редактор реестра

rsop.msc — Результатирующая политика

secpol.msc — Локальные параметры безопасности (Локальная политика безопасности)

services.msc — Службы

sfc /scannow — Восстановление системных файлов

sigverif — Проверка подписи файла

sndvol — управление громкостью

sysdm.cpl — Свойства системы

syskey — Защита БД учётных записей

taskmgr — Диспетчер задач

utilman Диспетчер служебных программ

verifier Диспетчер проверки драйверов

wmimgmt.msc — Инфраструктура управления WMI

Wednesday, 3 November 2021

Чистим Windows 10 вручную.


Всем привет.

Продолжаем чистить нашу планету от разного цифрового мусора. Мусорить наша Windows не перестает, в добавок включилась по умолчанию телеметрия и еще бог весть что. Место тает на  глазах. Поэтому пойдем по простому и включим ка чистку временных каталогов, которые используются большинством приложений и самой Windows 10:

C:\Windows\Temp\

C:\Users\%UserName%\AppData\Local\Temp

C:\Users\%UserName%\AppData\Local\Microsoft\Windows\Temporary Internet Files

Для этого мы можем создать простой bat-скрипт, который удаляет из временных каталогов все файлы старше "Days" дней (пример на 14): 

SET Days = "-14"

SET Path1Del="C:\Windows\Temp\"

SET Path2Del="C:\Users\%UserName%\AppData\Local\Microsoft\Windows\Temporary Internet Files"

forfiles.exe /p %temp% /s /m *.* /d %Days% /c "cmd /c del /q /f @file"

forfiles.exe /p %Path1Del% /s /m *.* /d %Days% /c "cmd /c del /q /f @file"

forfiles.exe /p %Path2Del% /s /m *.* /d %Days% /c "cmd /c del /q /f @file"

Разумеется запускать этот bat-файл нужно с правами Администратора. А еще лучше его зарядить в шедулер раз в месяц.

Если мы любим использовать PowerShell, то пишем такой скрипт для автоматического удаления файлов старше "Days" дней из всех временных папок:

# Традиционная времянка

$Path = "C:\Windows\Temp"

$Days = "-14"

$CurrentDate = Get-Date

$OldDate = $CurrentDate.AddDays($Days)

Get-ChildItem $Path -Recurse | Where-Object { $_.LastWriteTime -lt $OldDate } | Remove-Item -force

# Пользовательская времянка ТЕМР

$Path = $env:TEMP

  if($Path -ne $null){

  Get-ChildItem $Path -Recurse | Where-Object { $_.LastWriteTime -lt $OldDate } | Remove-Item -force

  }

# Пользовательская времянка ТМР

$Path = $env:TMP

  if($Path -ne $null){

  Get-ChildItem $Path -Recurse | Where-Object { $_.LastWriteTime -lt $OldDate } | Remove-Item -force

  }

# Времянка серфинга по интернет в Internet Explorer

$Urname = $env:Username

$Path = 'C:\Users\' + $Urname + '\AppData\Local\Microsoft\Windows\Temporary Internet Files'

Get-ChildItem $Path -Recurse | Where-Object { $_.LastWriteTime -lt $OldDate } | Remove-Item -force

Как чистить кеши других web-браузеров описано здесь.
Успехов. 

Thursday, 2 September 2021

Автоматизация очистки дисков с использованием Disk Cleanup.

Всем привет.

И снова к теме очистки ПК пользовзателя от системного мусора. Как вы уже знаете для этой операции мы используем штатную утилиту Windows cleanmgr.exe. Следует заметить что в планах Microsoft заменить ее на что-то новое, например на "Контроль памяти" так что не стройте на cleanmgr.exe долгосрочные планы.

Но сегодня мы с cleanmgr.exe. Для очистки важно от какого аккаунта вы запускате сам процесс. В связи с этим очистка может быть разделена на 2 фазы, запуском в контексте системной учетной записи (SYSTEM), и запуском в контексте учетной записи пользователя, выполнившего вход в систему.

Поэтому предварительно следует запустить в командной строке от имени администратора:

cleanmgr.exe /sagerun:15

И аналогично выполнить команду для установки путей очистки в контексте пользователей:

cleanmgr.exe /sagerun:10

Цифры 15 и 10 имеют совершенно свободный выбор как номера профилей для запоминания их настроек в реестре системы.

Настройки параметров запуска cleanmgr в контексте SYSTEM и Пользователей для компьютеров x86, а также для пк х64 и контекста SYSTEM, появятся в реестре в ветке 

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches

Настройки параметров запуска cleanmgr в контексте Пользователей для пк x64 появятся в реестре в другой ветке

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\explorer\VolumeCaches

В данных разделах будут параметры с именами StateFlags0015 и StateFlags0010 соответственно.

Для автоматиазции процесса очистки следует реализовать механизм доставки профилей реестра StateFlags0015 и StateFlags0010 на рабочие места пользователей и запуск cleanmgr.exe /sagerun:хх там соответственно. Для этого можно использовать SCCM. В этом ключе следует учесть что в системах х64, агент SCCM запускает утилиту cleanmgr.exe не из каталога %systemroot%\system32, а из каталога %systemroot%\syswow64. Поэтому обязательно используем опцию в поле "Запретить 64-битное перенаправление файловой системы".

Так как удаление устаревших обновлений обычно требует перезагрузки для непосредственно очистки, следует включить проверку наличия активного сеанса пользователя запросами WMI:

Select * FROM Win32_PerfFormattedData_LocalSessionManager_TerminalServices WHERE ActiveSessions=0

Select * FROM Win32_PerfFormattedData_LocalSessionManager_TerminalServices WHERE TotalSessions=2

Более подробно читайте в статье Павла Лекторского "Автоматизация очистки дисков с использованием SCCM" которая опубликована в журнале "Системный администратор", ноябрь 2020 года.

Успехов.


Wednesday, 7 July 2021

Чистим Windows 10 на автомате.


Всем привет.

Поскольку решения от инфобеза ждать не приходиться, работаем на упреждение - ищем способа очистки от ненужного хлама в Windows 10 сами. Я принципиально не рассматриваю вопросы очистки дисков от лишних файлов сторонних приложений ибо убежден что этим должна заниматься официальная поддержка прикладухи. Если таковой нет то грош цена самой прикладухе.

Рассматриваем только штатные инструменты ибо инфобез бдит. Поехали.

1. Утилита очистки диска (Disk Cleanup) позволяет администратору быстро очистить системный диск Windows, удалив ненужные и временные файлы, в том числе очистить каталог WinSxS от файлов устаревших компонентов, которые остались после установки обновлений. 

С помощью параметров /sageset:n и /sagerun:n вы можете создать и выполнить настроенный набор параметров очистки. Например, выполните команду cleanmgr /sageset:11. В открывшемся окне выберите компоненты и файлы, которые нужно автоматически очищать.

Эти настройки сохраняются в ветке реестра 

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches. 

В этой ветке перечислены все компоненты Windows, которые можно очистить с помощью Disk Cleanup. Для каждой опции, которую вы выбрали создается параметр типа DWORD с именем StateFlags0011 (0011 это число, которое вы указали в параметре sageset).

Запуск самой очистки:

cleanmgr /sagerun:11

Либо:

Start-Process -FilePath CleanMgr.exe -ArgumentList '/sagerun:11' -WindowStyle Hidden -Wait

Можно провести экспорт-импорт ветки ресстра на остальнае хосты для автоматизации процесса очистки с помощью cleanmgr. Саму очистку вставить в шедулер.

Thursday, 24 June 2021

Место под солнцем.


Всем привет.

Летняя жара диктует свои задачи, а буйные головы задают нам старые проблемы. 

Пробиваясь сквозь маски карантина в очередной раз попал на тест для пользователя на тему информационной безопасности. Вопросы вопросами, но тема размещения рабочих файлов пользователя на ПК опять была поднята. И что особенно противно что инфобез прав - таки надо все файлы хранить в рабочем профиле. А еще лучше в мобильном профиле. И тогда пользователь будет думать заранее что там хранить, а что нет, куда скидывать фотки из последнего отпуска или фильма под обед, а куда не стоит. Мммм, ок, что-то я замечтался.

Теперь по сути, сцена №1 - нужные файлы в профиле пользователя или другом месте ПК, это его личная ответственность. Профиль пользователя, разумеется, находится на диске "С", на тот самый диск и весь прикладной софт ложится по умолчанию, и сама ОС, и все ее обновления. И, конечно, наступает момент Х когда Windows сигнализирует что места на диске совсем не осталось, а у пользователя все начинает жутко тормозить (и файлу подкачки наш привет). Хм, вот ведь, и так бывает. А что инфобез? Инфобез на этот  случай дает блестящий совет - в таком случае пользователь должен обратиться в сервис-деск. И то правда, как я забыл, это же сервис-деск, они же боги, они помогут...

И тут наступает сцена №2 - чем может помочь в этой ситуации сервис-деск? Я спрашиваю вполне серьезно, мне уже хочется заявку такую создать и посмотреть на предлагаемые решения. Возможно вы знаете что прозойдет, я - нет. Все эти кешы, корзины мы проходили  - не более 20% свободного места в результате. До следующего обновления.  Перенос софта на другой диск? А нельзя, его ставит SCCM. Перенос больших файлов? А кто скажет сервис-деску что можно переносить, а что нет. Удалить лишнее? Так пользователю все надо для работы, и сервис-деск не вправе за него решать. Ну что, перебиваем Windows? Упс, и наш пользователь уже сам не рад своему обращению.

Пожалуй не буду более, замечу что лишь только через год инфобез начал предлагать методику запоминания паролей когда понял что простым требованием к сложности оных вы не заставите пользователя не записывать их на бумажке. Инфобез был бы весьма последовательным если бы и к своему требованию размещения файлов пользователя исключительно на диске "С" добавил  вариант решения для сервис-деска. Или проблемы индейцев шерифа не волнуют?)

Вопрос остается открытым.


Tuesday, 1 June 2021

Проводим пентест, часть 4 - используем уязвимости.

Всем привет.

Сегодня 4-я часть из серии публикаций Андрея Бирюкова, посвященных проведению аудита и теста на проникновение (пентест). Оригинал статьи был опубликован в журнале "Системный администратор" №07-08(164-165), 2016.

Часть 4. Используем уязвимости

После нахождения уязвимостей хакеру необходимо  ими воспользоваться. Есть много способов это сделать. В  этой  статье  мы  продолжим  тему  практического  теста на  проникновение.  Ранее  [1-3]  мы  подробно  рассмотрели способы  проникновения  в  сеть,  идентификации  ресурсов и  поиска  уязвимостей.  Теперь  поговорим  о  том,  как  злоумышленник может воспользоваться найденными в ПО уязвимостями.

Тему  использования  уязвимостей  мы  поделим  с  вами на три части, каждая из которых будет представлять отдельную статью. Первая будет посвящена эксплуатации уязвимостей с помощью Metaspoit Framework, входящего в состав Kali Linux. Этот фреймворк является основным инструментом при проведении любого пентеста. Во второй мы расскажем об уязвимостях в веб-приложени ях. Будут подробно рассмотрены различные кроссплатформенные инструменты, также входящие в состав Kali. Широкое распространение веб-приложений в корпоративных средах требует особого внимания к вопросам их защищенности, поэтому я планирую посвятить этому отдельную статью. В  третьей  статье  мы  поговорим  о  поиске  уязвимостей в «самописных» приложениях. Практически в любой крупной компании есть ПО, разработанное либо собственными программистами, либо сторонними разработчиками. Зачастую это довольно старые программы, давно не обновлявшиеся. Про уязвимости в них сканеры, описанные в предыдущих  статьях,  могут  не  знать,  так  как  в  силу  закрытости и  нераспространенности  данного  ПО  никто  не  проводил его аудит и, соответственно, никто не знает специфические ошибки. Также и Metasploit вряд ли сможет применить к таким приложениям свои эксплоиты. Поэтому в третьей статье мы рассмотрим, как самостоятельно искать дыры в ПО. 

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

Ну а теперь рассмотрим работу с Metasploit Framework.

Хакерский мультитул.

ПО Metasploit Framework от компании Rapid7 представляет собой  многофункциональный  набор  средств,  с  помощью которых можно осуществлять различные тесты на проникновение.  Есть  несколько  редакций  Metasploit  [4].  Если  Pro и  Express  являются  платными,  то  Community  и  Framework бесплатные. Мы будем рассматривать редакцию Framework как наиболее подходящую для тестов на проникновение. Metasploit Framework входит в состав Kali Linux и для запуска консоли выполним Applications/Exploitation Tools/Metasploit.  В результате мы попадаем в командную строку. Для начала проверим наличие соединения с БД:

msf > db_status

[*] postgresql connected to msf

При отсутствии соединения нужноо его восстановить, т.к. Metasploit постоянно использует базу в своей работе. Если все функционирует штатно, то можно перейти к выполнению  практических  задач  по  эксплуатации  найденных уязвимостей. Сначала мы попробуем воспользоваться уязвимостями в Linux, а затем посмотрим, как взломать Windows.

Sunday, 13 December 2020

Диагностика Linux.

Всем привет.

У каждого администратора который управляет Linux-серверами в своем арсенале есть свои наработки. Для быстрого анализа производительности сервера и диагностики возникающих проблем он использует проверенный годами набор команд.

Евгений Лебедь имеет следующие:  

1) команда top выводит текущие процессы, которые обрабатываются ядром.  По умолчанию данные обновляются каждые пять секунд.

2) с помощью команды vmstat можно увидеть краткосрочный снимок процессора, памяти, процессов и операций ввода/вывода.

3) с помощью команды iostat можно получить отчет об использовании процессора, нагрузке на дисковую и сетевую подсистему:

# iostat -x 5              - получать данные о нагрузке на жёсткий диск каждые 5 секунд 

Однако iostat является частью пакета системных утилит контроля производительности Sysstatl. Имеет смысл использовать весь пакет. Sysstat сообщает информацию о системе, скорость операций ввода-вывода, объем использования выполняемыми процессаим раздела/файла подкачки, прерываний, сети, памяти, центрального процессора, задействования ядра, tty и другое, в том числе с поддержкой многопроцессорных машин.

Sysstat содержит следующие утлиты:

* sar: отчеты с информацией о системе

* iostat: отчеты об использовании процессора и дискового ввода/вывода

* mpstat: отчеты об использовании процессора как полностью так поядерно

* pidstat: отчеты об задачах (процессах)

* sadf: отчёты by sar в различных форматах

* cifsiostat: отчёты об операциях ввода-вывода для файловой системы CIFS

* nfsiostat-sysstat: (устаревшее) отчёты об операциях ввода-вывода для сетевых файловых систем

Для установки пакета следует выполнить команду # apt-get install sysstat

Friday, 13 November 2020

Ускоряем Ansible #3.

Всем привет.

Ну что, продолжим разгон?

#3 Кэширование фактов.

Если в вашем сценарии не используются факты, их сбор можно отключить с помощью выражения gather_facts. Например:

- name: an example play that doesn't need facts 

  hosts: myhosts

  gather_facts: False 

  tasks:

# здесь находятся сами задачи

Также можно отключить сбор фактов по умолчанию, добавив в файл ansible.cfg:

[defaults]

gathering = explicit

Если ваши операции используют факты, их сбор можно организовать так, что Ansible будет делать это для каждого хоста только однажды, даже если вы запустите этот же или другой сценарий для того же самого хоста. Если кэширование фактов включено, Ansible сохранит факты в кэше, полученные после первого подключения к хостам. В последующих попытках выполнить сценарий Ansible будет извлекать факты из кэша, не обращаясь к удаленным хостам. Такое положение вещей сохраняется до истечения времени хранения кэша.

В примере 7 приводятся строки, которые необходимо добавить в файл ansible.cfg для включения кэширования фактов. Значение fact_caching_tineout выражается в секундах, в примере используется тайм-аут, равный 24 часам (86 400 секундам). Как это всегда бывает с решениями, использующими кэширование, существует опасность, что кэшированные данные станут неактуальными. Некоторые факты, такие как архитектура CPU (факт ansible_architecture), редко изменяются. Другие, такие как дата и время, сообщаемые машиной (факт ansible_date_tine), гарантированно изменяются очень часто. Если вы решили включить кэширование фактов, убедитесь, что знаете, как часто изменяются факты, используемые вашим сценарием, и задайте соответствующее значение тайм-аута кэширования. Чтобы очистить кэш до запуска сценария, передайте параметр --flush-cache утилите ansible-playbook.

Monday, 9 November 2020

Ускоряем Ansible #2.

Всем привет.

Продолжим наши гонки с Ansible. Рассмотрим конвейерный режим выполнения задач.

#2 Конвейерный режим.

Вспомним, как Ansible выполняет задачу:

1.Генерирует сценарий на Python, основанный на вызываемом модуле.

2.Копирует его на хост.

3.И запускает его там.

Ansible поддерживает прием оптимизации - конвейерный режим, - объединяя открытие сеанса SSH с запуском сценария на Python. Экономия достигается за счет того, что в этом случае требуется открыть только один сеанс SSH вместо двух. По умолчанию конвейерный режим не используется, потому что требует настройки удаленных хостов, но мне нравится использовать его, поскольку он ускоряет процесс. Чтобы включить этот режим, внесите изменения в файл ansible.cfg, как показано в примере 3.

Пример 3 ansible.cfg, включение конвейерного режима

[defaults] 

pipelining = True

1) Настройка хостов для поддержки конвейерного режима

Для поддержки конвейерного режима необходимо убедиться, что на хостах в файле /etc/sudoers выключен параметр requiretty. Иначе при выполнении сценария вы будете получать ошибки, как показано в примере 4.

Sunday, 1 November 2020

Zabbix performance tuning #3.

Всем привет.

Оптимизация Zabbix-а опять на повестке дня. Я вам, наверное, с этим уже надоел. Но сегодня мы, наконец-то, добрались до реального случая. Я кратко покажу что мы меняли на своем сервере, за исключением параметров для базы данных. В разделе БД мнения разделились поэтому ниже опишу только то, что нам предлагали, но что так мы не успели оценить практически. Поехали.

Для беглого мониторинга средствами Zabbix был собран вот такой вот полигон.


Как же мы оценивали "здоровье" нашего Zabbix-сервера?

Этап 1.
По штатным графикам:
Zabbix data gathering process busy %
Zabbix internal process busy %

а также по
Zabbix internal queues
Zabbix server performance

оцениваем максимальные значения загруженности Zabbix-a.


Чтобы уменьшить эти величины меняем дефолтные в
#sudo nano /etc/zabbix/zabbix_server.conf
на

StartPollers=50
StartPreproceessors = 60
StartPollersUnreachable=30
StartPingers=100
StartIPMIPollers=10
StartTrappers=20
StartDBSyncers=8

Не забываем передернуть службу zabbix-server:
#sudo service zabbix-server restart
Опять оцениваем результат по тем же графикам.

Saturday, 31 October 2020

Zabbix performance tuning #2.

Всем привет.

Сегодня я хочу продолжить тему оптимизации производительности Zabbix. На это раз пройдемся по разделам книги «Zabbix Performance Tuning» от Luciano Alves, издательство Packt Publishing, 2015. Это материал подготовил Евгений Каменев три года тому. С тех пор ничего более подробного на эту тему я не встречал. Так что продолжим.


Zabbix - это платформа, которая состоит из трех компонентов:

1.Сервер Zabbix.

2.База данных Zabbix.

3.Фронтенд Zabbix.

Но в тему оптимизации следует включить еще два дополнительных пункта:

4.Оптимизация операционной системы Linux.

5. Мониторинг состояния Zabbix.


Далее рассмотрим каждый пункт последовательно.

1.Оптимизация Zabbix-сервера.

Использование активных Zabbix-agent проверок вместо пассивных Zabbix-agent проверок (уменьшает нагрузку на Zabbix-сервер и количество TCP-соединений).

При этом на Zabbix-агенте, возможно,есть смысл увеличить дефолтные значения параметров.

Ниже приведены дефолтные значения

BufferSend=5

BufferSize=100

На Zabbix-сервере необходимо увеличить количество процессов Zabbix-trapper, которые принимают входящие соединения активных агентов, Zabbix-sender и активных прокси.

Использование наименее дорогого с точки зрения чтения/записи базы данных типа элемента данных - (numeric(unsigned),numeric (float), character, text, log).

Каждый элемент данных записывается в отдельную таблицу history, в которой содержится разный тип и длина полей для хранения одного значения.

Использовать наименее дорогого с точки зрения нагрузки процессора триггера - (функции last(), nodata(), min(), max(), avg())

Например, функции min/max/avg сильнее нагружают процессор в отличии от функций last и nodata.

Время хранения данных в таблицах history,trends,events.

Уменьшаем время хранения истории с дефолтных 90 дней на 7 дней (при создании элемента данных)

Время хранения в таблице trends оставляем дефолтное 365 дней (при создании триггера)(если нет необходимости в просмотре информации за год,то сокращаем время хранения тенденций)

Время хранения событий, генерируемых триггерами, можно уменьшить с дефолтных 365 дней, чтобы не увеличивать размер таблицы events при частых колебаниях/срабатывании триггеров.

Tuesday, 2 June 2020

Оптимизация Zabbix.

Всем привет.

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

По ходу рекомендую к прочтению книгу James Turnbull "The Art of Monitoring", 2016. Она хоть и не про Zabbix, но толково освещает общие моменты мониторинга  в сети на примере Reimann, Graphite и ELK.

Ну а сегодня начнем с главного конфига Zabbix.
#sudo nano /etc/zabbix/zabbix_server.conf

Есть смысл править такие параметры, как объем рабочего кэша, количество параллельных процессов в опросах и таймауты:
StartPollers=50
StartPreproceessors = 60
StartPollersUnreachable=30
StartPingers=100
CacheSize=64M
HistoryCacheSize=32M
HistoryIndexCacheSize=16M
TrendCacheSize=16M
ValueCacheSize=32M
Timeout=15

Обратите внимание что если некий узел мониторинга недоступен, процессы опроса его параметров будут заняты промежуток времени, равный таймауту на опрос (например Timeout=15). Если вдруг окажутся недоступными, например, более сотни таких узлов, с каждого из которых Zabbix собирает более десятка параметров, то весь процесс опроса(ожидания ответа) займет ресурсы Zabbix и это может привести к его отказу в нормальной работе.

Не мене важным может оказаться база данных Zabbix. Переходим к конфигу БД Zabbix на примере MySQL.
#sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Saturday, 4 April 2020

Reboot of mankind.

Всем привет. На тему дня.

"Эта музыка будет вечной если я заменю батарейки"
Наутилус-Помпилиус.

В комнате совещаний было жарко. Алистер не привык к такой манере ведения разговоров. Тем более что важного незнакомца никто не представил, а на его электронном пропуске многозначительно было указано "Guest". Гость начал разговор первым и сразу пошел в атаку. Указывая пальцем на визуальную диаграмму отражающую масштабы распространения вируса по планете он явно хотел чтобы ему открыли все. Пусть выговориться - решил Алистер -, эта комната не предназначена к скандалам. Но гость не унимался...

- О чем вы говорите? Опять эти ваши эксперименты по выходным?!
- Нет, никаких экспериментов. Только то что было проекте. Мы получили результат которого добивалась вся наша команда целый год.
- А потом, как это бывает в кино, он вышел из под контроля...
- Да нет же - ничего не вышло из под контроля! Все согласно спецификации и требований заказчика. Можете проверить сами.
- Еще как проверю! Но, скажи мне другое - Как эта зараза попала к человеку? В его организм, а? Вы слышите меня, черт возьми?!
- Не знаю точно, но...
- Он не знает! Непостижимо! Вы уже год занимаетесь этим проектом, съели собаку или даже стаю на AI, в твоей команде работают лучшие кодировщики вашей кампании. И ты не знаешь? Ты вообще менеджер или кто?! Еще раз - как Это попало в человека? Вы что, чип в него вставили? Нанотехнологии? Или какую другую хрень ему ввели? Это иньекция, да? Какая, говори?!

Их разговор уже на "ты" явно переходил в информационную драку. В комнате совещаний 31-го отдела компании повисла пауза. Чашка остывшего кофе на стеклянном столике осталась нетронутой. Градус беседы явно был выше и мог без труда ее подогреть ее еще раз. Алистер еще раз взглянул на своего гостя, тяжело вздохнул и спокойно продолжил.

Sunday, 19 January 2020

Qualys - изучаем самостоятельно.

Всем привет.

Мы все уязвимы - физически, морально и технически. Время такое не простое. Но если человек может сделать попытку управлять своим личным временем в целях безопасности, то информационной системе нужна его помощь. Системы которые человек создал и использует уязвимы не меньше его самого.

Сегодня хочу открыть вам облачное решение по поиску и анализу уязвимостей Qualys Vulnerability Management. Qualys Inc. является пионером и ведущим поставщиком облачных решений по информационной безопасности и комплаенс-контролю, услугами которого пользуются более 5500 клиентов в 85 странах.

Предоставляя важную информацию о безопасности и автоматизируя весь спектр задач аудита, комплаенс-контроля и защиту ИТ-систем и веб-приложений, облачная платформа Qualys и встроенный набор приложений позволяют предприятиям упростить процесс обеспечения безопасности и снизить затраты на соответствие различным требованиям.

Qualys имеет более двух десятков модулей в активе. Самым центровым из них конечно же является Vulnerability Management (VM). Он автоматизирует жизненный цикл проведения сетевого аудита и управления уязвимостями в масштабах предприятия, в том числе обнаружение и отображение активов, оценку уязвимости с точки зрения бизнес-рисков. Имея наиболее полную базу знаний по уязвимостям в отрасли, Qualys обеспечивает непрерывную защиту от новейших червей и угроз безопасности, не требуя существенного удорожания инфраструктуры, без привлечения дополнительных ресурсов. При использовании модели Программное обеспечение как услуга (SaaS) инфраструктура для развертывания и управления не требуется вовсе.

Как использовать это облачное решение у себя, какие этапы нужно пройти, чтобы выстроить рабочий процесс управления уязвимостями хорошо рассказано здесь.

Разумеется такое решение корпоративное и не дешевое. Но это не значит что вам оно не подходит прямо сейчас. Вполне можно его освоить, протестировать полигон, и даже получить соответствующий сертификат. 



Заходим на Take self-paced or instructor-led certified training on core Qualys topics, and get certified https://www.qualys.com/training/.

Wednesday, 16 October 2019

Как увеличить изображение без потери качества.

Всем привет.

Как то я вам говорил про сервис удаление фона в один клик. Главным неудобством было то что на бесплатный вариант сервис уменьшал выходное изображение в 2 раза. Простой zoom полученного изображения в Paint.NET или Photoshop нас не устроит, артефакты сразу бросаются в глаза как ни крути. И тут я подумал, что наверняка есть инструмент который заточен на такую операцию и умеет это делать лучше меня.

И таки да, есть такой - это Benvista PhotoZoom Pro.

Программа Benvista PhotoZoom Pro поможет вам увеличить изображение без заметной потери качества. В программе реализовано несколько продвинутых алгоритмов которые способны увеличить фотографию в несколько раз без заметной потери качества. Также программу PhotoZoom Pro можно использовать для придания фотографии или картинки четкости. Программой легко пользоваться, предварительный результат отображается в реальном времени, это позволит вам подобрать лучшие настройки. С данной программой вы сможете повысить качество фотографии, или увеличить, чтобы лучше рассмотреть определенные участки фотографии. Также PhotoZoom Pro умеет работать в пакетном режиме и применять настройки сразу к нескольким файлам.

В Benvista PhotoZoom Pro просто огромный набор форматов для вывода. И неплохой набор алгоритмов преобразования изображения, причем каждый из них имеет еще и свой набор preset-ов. Даже на первый взгляд результат превзошел мои ожидания, и по совету коллег по цеху я выбрал алгоритм "S-Spline Max" в паре с preset-ом "Photo - Extra Vivid".


Monday, 7 October 2019

Есть повод для размышлений?

Всем привет.

Легкая заметка на тему размера и качества изображений в сети. Все чаще и чаще по творчеству встречаюсь с фотографиями в сети которые, скажем так, приемлемо смотрятся на экране смартфона, но со всеми артефактами на экране ноутбука в 15-ь дюймов. Речь идет о некоммерческих фото.

Это что - возможности фото-банков онлайн так влияют что автору фотографий уже все равно какие они при нормальном просмотре? 

Общая тенденция привести свой web-сайт или фотоснимки к формату "Удобство для мобильных" дает возможности понижения их качества? Facebook занижает качество при публикации фото и экономит место в килобайтах, но зачем? Instagram вообще смотрит на мир через квадратную форточку.

Делаю вывод что все социальные сети с фотографиями или без специально затачиваются под гаджеты  с размером экрана не более планшета. Т.е. ударение делается на доступность в любой точке и в любое время вас как абонента, например, для чата. А то что вы и ваша жизнь сквозь такие фото при этом смутно выглядит это уже не важно.) 

Разумеется если вам важна ваша онлайн-аудитория по количеству хитов за день то мобильный контент ваше все. Но для меня качество вашего контента играет не последнюю роль, в том числе и качество визуального контента.

Есть повод для размышлений.

Версия на печать

Популярное