Настройка CYMON

Всем привет!

Вчера (21.05.2020) подключался к вебинару CYONE Domino Mониторинг, где рассказывал о своем опыте работы с этим продуктом. В чате от участников вебинара поступил запрос на мои настройки статус панели сервера и я пообещал выложить это в блог. В общем, эта статья посвящена этим настройкам :)

Возможности мониторинга достаточно широкие и можно часами копаться в настройках ZABBIX'a. Я не претендую, что все сделал правильно, поэтому если вы решите, что можно лучше, то смело пишите в комментариях - сделаем мир лучше вместе!

В нашей инфраструктуре сейчас достаточно большое количество серверов, но грубо их можно разделить на следующие типы:

  • Сервер приложений
  • Сервер почтовый
  • Сервер шлюз
  • Сервер traveler
У нас сейчас нет доступа через web, но как только мы введем в эксплуатацию FByte.Facade (модуль, позволяющий быстро вебифицировать приложения и входящий в состав FByte.Platform - фреймворка для быстрой разработки сложных приложений), то появится новый тип - Сервер web-доступа.

Я это к тому, что у нас контрольные панели проверки для серверов приложений, почты и шлюзов не отличаются. Вот в панели для сервера traveler есть дополнительные метрики, связанные с JVM, но их сегодня опустим.

Настройки сервера

Название параметра Описание Warning Critical
NRPC service is running Тут все просто - жив или уже мертв. Метрика возвращает 1, если все ок, и DOWN - если капут. DOWN
Server.AvailabilityIndex Синтетический параметр, который нужно подстраивать под мощности вашего железа, но в тоге он позволяет увидеть момент, когда сервер перестает отвечать на запросы пользователей. 50 30
System.PctCombinedCpuUtil Параметр отображает среднюю загрузку CPU сервера. 60 85
Platform.LogicalDisk.1.AvgQueLen.Avg
Platform.LogicalDisk.2.AvgQueLen.Avg
Platform.LogicalDisk.3.AvgQueLen.Avg
Platform.LogicalDisk.4.AvgQueLen.Avg
Platform.LogicalDisk.5.AvgQueLen.Avg
Platform.LogicalDisk.6.AvgQueLen.Avg
Очередь к дискам сервера. В этом примере их 6 штук 0,6 0,8
DAOS.Engine.Catalog.Digit Статус DAOS. В последней версии мониторинга он умеет сам запускать tell daos resync, но я пока не убрал эту метрику - на всякий случай 1 0
AdminP.Pending.Approval
AdminP.Name.Move.Requests
Количество запросов в admin4.nsf, которые требуют внимания со стороны администратора. 1 10
Database.Database.BufferPool.PercentReadsInBuffer Процент прочтения записей из буфера 90 80
Database.Dbcache.Effectiveness Эффективность работы кэша 90 75
Database.NAMELookupCacheHitRate Скорость выборки значений из names.nsf в процентах 80 90
Mail.Waiting Количество писем в mail.box сервера, ожидающие отправки 10 20
Mail.Hold Количество писем в mail.box, которые сервер ПОКА не смог доставить 5 10
Mail.Dead Количество писем в mail.box, которые сервер не смог доставить 1 5
NAB.SaveConflict.Count Количество конфликтных документов в names.nsf 1 5
NAB.Users.Expired Количество учетных записей, у которых истек срок действия сертификата 1 5
NAB.Users.OLDHTTPPassword Количество учетных записей, у которых HTTP пароль старого формата, неустойчивого ко взлому 1 5
NAB.Users.IDAttached Количество учетных записей, у которых ID файл прикреплен к документу 1 10
NAB.Servers.IDAttached Количество серверных документов, у которых ID файл прикреплен к документу 1 10
Replica.Cluster.SecondsOnQueue Длина очереди в кластерной репликации 3 10
Agent.Daily.AccessDenials Количество неудачных, из-за нехватки прав, попыток на запуск агентов 1 1
Agent.Daily.AccessDenials Количество запусков агентов, завершившихся ошибкой 1 1
Update.DeferredList
Update.PendingList
Длина очереди на обновление видов у индексера 20 50

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

Всем удачи! Пишите, если возникнут вопросы :)

Комментарии

  1. Я был участником вебинара и меня сильно заинтересовала ваша реплика, по поводу изменения параметра размера кэша на каждую БД. По умолчанию он 300 Kb, я так понимаю не имеет значения большая БД или нет. В нашей инфраструктуре есть БД по 500к записей. Могу только предполагать хватает ли кэша 300Kb для таких БД, поскольку точно не знаю, а что именно хранится в кэше БД(Таблица UNID, Deletion Stubs, элементы дизайна).
    И еще вопрос по поводу параметров для Cymon, я например не вижу здесь Server.Trans.PerMinute - вкусовщина конечно, но по-моему чрезвычайно важный показатель.

    ОтветитьУдалить
  2. Работа с кэшем - это магия, которую я пока не понял до конца, честно говоря. И посмотреть на этот кэш возможности я не нашел - максимум, до чего я пока докопался, так это при работающем domino запускать из консоли nsd.exe, а затем в папке IBM_TECHNICAL_SUPPORTS открыть в блокноте файлик nsd...bla-bla-bla и по фразе NSF DB Cache найти список баз, которые попали в кэш.

    Как следует из этой статьи (https://support.hcltechsw.com/csm?id=kb_article&sys_id=0ed7a8ac1b6df30083cb86e9cd4bcb84)
    у базы 7 статусов. Надо стремится к тому, чтобы у самых нагруженных были 6.
    И, не надо стремиться, чтобы в кэш попало максимальное количество баз - важно, чтобы туда попали самые нагруженные. При этом, с течением времени Домино сам удалит не востребованные файлы и оставит самые востребованные.

    Я игрался с параметрами NSF_Buffer_Pool_Size и NSF_DbCache_Maxentries, а потом давал команду Dbcache Flush, чтобы пересобрать кэш и конце концов, я пришел к более или менее оптимальным значениям эффективности, но у меня все равно чувство, что я в казино бросал кости, а не решал инженерную задачу :)

    ОтветитьУдалить
  3. Насчет количества транзакций - это, безусловно, важная метрика. И я ее отслеживаю на отдельном графике. В предложенном варианте идут метрики, которые должны сигнализировать о проблемах на сервере. А большое количество транзакций - это причина, но не следствие - вот большая очередь к диску, нехватка ОЗУ или ЦПУ, падение индекса доступности и т.п. есть основание зажечь фонарь на экране. И увидем его я начну искать причину.

    ОтветитьУдалить
  4. Рамазан, а разве dbcache show не показывает список БД которые в кэше. Я например с удивлением обнаружил там вынесенные на отдельный диск индексы вьюх. Т.е. получается для БД, в которых я вынес вьюхи у меня двойной кэш)). Но с другой стороны dbcache show показывает, что у меня в кэше вообще все БД (не важно используются они или нет). Возможно это особенности нашей структуры. Баз немного ~600, но они очень разновесные. От 64 ГБ монстров с 500k документов, до почти пустых с парой записей.

    >>Я игрался с параметрами NSF_Buffer_Pool_Size и NSF_DbCache_Maxentries.
    А я так понял, что это не приведет к увеличению кэша под каждую БД, Domino умножит NSF_DbCache_Maxentries на 300K и будет использовать такой Buffer_Pool. Спрошу-ка я у HCL пожалуй.

    ОтветитьУдалить
    Ответы
    1. Показывает. Но в nsd чуть более подробная информация.

      Удалить
    2. Если чего полезного раскопаете - пишите :)

      Удалить
  5. Sands Casino Online - Overview, Information and Player Reviews
    Play the latest casino games for your leovegas mobile or your tablet. All of the planet win 365 games are playable on mobile phones, 샌즈카지노 tablets, and tablets.

    ОтветитьУдалить

Отправить комментарий