Я пытался найти примеры или документацию для написания Плагины .Net для NSClient ++.
Может ли кто-нибудь направить меня к рабочему примеру приложения или документации?
Я нашел исходный код для CSharpSamplePlugin на GitHub. Поскольку я не использую CMake, я создал новый проект VS2013 и добавил в свой проект три библиотеки DLL, указанные в настройке CMake (Google.ProtocolBuffers.dll
, NSCP.Core.dll
, и NSCP.Protobuf.dll
). Я нашел библиотеки DLL в каталоге установки NSClient ++.
Однако похоже, что код в SamplePlugin.cs не работает с текущими библиотеками DLL. Я получаю сообщение об ошибке в строке:
response.AddLines(Plugin.QueryResponseMessage.Types.Response.Types.Line.CreateBuilder().SetMessage("Hello from C#").Build());
... говоря:
Error 2 'Plugin.QueryResponseMessage.Types.Response' does not contain a definition for 'Types' C:\vs_projects\NSClientHelpers\NsClientPlugin\SamplePlugin.cs 45 74 NsClientPlugin
Error 1 'Plugin.QueryResponseMessage.Types.Response.Builder' does not contain a definition for 'AddLines' and no extension method 'AddLines' accepting a first argument of type 'Plugin.QueryResponseMessage.Types.Response.Builder' could be found (are you missing a using directive or an assembly reference?) C:\vs_projects\NSClientHelpers\NsClientPlugin\SamplePlugin.cs 45 22 NsClientPlugin
Итак, есть ли место, где я могу найти обновленный образец плагина или пример того, как создавать плагины NSClient ++?
После некоторой борьбы с этим я просто переписал свои команды как два автономных исполняемых файла, но меня раздражает, что я не смог заставить это работать;)
Крест размещен в ТАК
В настоящее время «master» подвергается рефакторингу, поэтому в настоящее время сборка sample не выполняется.
Если вы используете ветку 0.4.3, все должно работать нормально.
Я ожидаю, что на следующей неделе мастер станет стабильным (сейчас у меня начинаются каникулы, так что я надеюсь, что у меня будет время закончить дела). Код был отредактирован, и большинство модулей снова работают, но «образцы» и некоторые другие подобные вещи еще предстоит исправить ...
РЕДАКТИРОВАТЬ: В качестве побочного примечания можно добавить, что происходящий рефакторинг упрощает внутренние сообщения, удаляя некоторые поля, а также больше согласовывая их с «моделью Nagios» с точки зрения многострочного возврата.