alignak-示例和如何为alignak监视框架构建检查包。

alignak_checks_EXAMPLE的Python项目详细描述


alignak检查包示例
================================== < BR>
该项目是一个示例,也是一个如何为alignak监视框架构建检查包的方法。 < BR>< BR>
包装
-- < BR>
存储库
~~~~~~~~~~~~~~~~~~~~~~~ < BR>
所有alignak包都存储在自己的"alignak monitoring contrib"github组织的存储库中。 < BR>< BR>
设计和原则
~~~~~~~~~~~~~~~~~~~~~~~ < BR>
每个包旨在提供alignak配置中的所有必要元素,以监视主机和/或服务。
每个包包括检查命令定义、服务模板、主机模板……
甚至可以包含alignak运行的监视插件来检查主机/服务。 < BR>
通常,包仅由配置文件组成,使用nagios社区提供的最常见的监视插件。 < BR>
包文件将在监视对象配置目录中提供,并为最终用户提供配置实用程序: < BR>
*主机模板:主机"使用"包功能
*服务模板:服务"使用"包功能 *… < BR>
构建包的建议结构: < BR>
*所有检查包都命名为"alignak"检查示例``
*将"example"存储库命名为"alignak checks example"``
*example存储库包含以下文件:
*自述文件
*许可证(可选)
*作者(可选)
*清单.in
*设置.py < BR>
*存储库的"example"包含一个"alignak"checks"example"目录,其中包含包配置文件
*alignak checks示例目录中的文件将被复制到alignak配置中
*alignak checks/example/plugins目录中的文件将被复制到alignak plugins目录
*alignak checks/example/etc目录中的文件将被复制到alignak etc目录 < BR>
您可以在packs文件中声明变量。这些变量将在包安装后赋值。
安装后,将分析名称以"`.parse`"结尾的所有文件,以将其内容更新到alignak安装路径。
搜索的模式是: < BR>
*$etc:将替换为alignak配置文件路径(*/etc/alignak*)
*$var:将替换为alignak lib文件路径(*/var/lib/alignak*)
*$run:将替换为alignak run files路径(*/var/run/alignak*)
*$bin:将替换为alignak日志文件路径(*/usr/bin*)
*$log:将替换为alignak日志文件路径(*/var/log/alignak*)
*$alignak user:将替换为alignak用户帐户名(*alignak*)
*$alignak group:将替换为alignak组名(*alignak*) < BR>
**注意**:替换基于python模板字符串。就目前而言,$etc是最简单的形式,如果需要,可以用${etc}替换。 < BR>< BR>< BR>< BR>
存储库示例
~~~~~~~~~~~~~~~~~~~~~~~
存储库目录和文件示例:

自述文件
许可证
作者
清单.in
设置.py < BR>
alignak_checks_示例/
等/
测试.cfg
插件/
接头/
plugin.conf插件
插件.py
模板.cfg
服务.cfg
命令.cfg < BR>
目录"alignak_checks_example"的内容(包括子目录,除了*etc*和*plugins*)将复制到*/var/lib/alignak/libexec*。 < BR>
目录"alignak_checks"example/plugins`(包括子目录)的内容将复制到*/var/lib/alignak/libexec*。 < BR>
目录"alignak"的内容检查示例/etc`(包括sub目录)将被复制到*/etc/alignak*。 < BR>< BR>
建筑
~~~~~~~~~~~~~~~~~~~~~~~ < BR>
要构建新的包示例2: < BR>
*创建一个新的"alignak-checks-example2"存储库,它是此存储库的副本 < BR>
*将"alignak"检查示例目录重命名为"alignak"检查示例2`` < BR>
*更新"manifest.in"文件 < BR>
*在``manifest.in``文件中搜索并将``example``替换为``example2`` < BR>
*更新"readme.rst"文件 < BR>
*移除本节**包装**
*搜索并将"example"替换为"example2"``
*完成**文档**章节 < BR>
*使用所有软件包信息更新"alignak"检查文件example2/\uu init.py < BR>
*``检查'u类型'u将用于完成pypi中的关键字,并作为存储包文件的子目录
*文件docstring将用作pypi中的包描述 < BR>
*更新"setup.py"文件 < BR>
*搜索并将"example"替换为"example2"``
*``setup.py``不应修改大多数包…如有必要,请小心操作! < BR>
就这样! < BR>
然后,要构建包并使其可供社区使用,必须使用标准的python设置工具: < BR>
*运行"setup.py register"在pypi附近注册新包
*运行"setup.py sdist"来构建包
*运行"setup.py development"使包在本地安装(开发模式)
*运行"setup.py develop--uninstall"删除开发模式
*运行``setup.py install--dry run``测试软件包安装(检查文件的安装位置和位置) < BR>
当您的软件包准备就绪并正常工作时: < BR>
*运行"setup.py sdist upload"将包上载到"pypi repository"。 < BR>
**注意**:每次将包上载到pypi时,都需要更改"alignak_checks_example2/u init.py_uu"文件中的包版本。 < BR>
安装
-- < BR>
要将包配置文件复制到监视对象配置目录。最合适的位置是主alignak配置目录中的*arbiter_cfg/objects/packs/*目录。 < BR>
**注意**:主alignak配置目录通常是*/usr/local/etc/alignak*或*/etc/alignak*但可能取决于您的系统和/或安装。 < BR>
要将包插件(如果有…)复制到可执行库目录。 < BR>
**注意**:alignak libraries目录通常是*/usr/local/libexec/alignak*或*/var/lib/alignak*但可能取决于您的系统和/或安装。 < BR>
来自PYPI
~~~~~~~~~~~~~~~~~~~~~~~
要从pypi安装软件包:

pip install alignak检查示例 < BR>< BR>
来自源文件
~~~~~~~~~~~~~~~~~~~~~~~
要从源文件安装包:

Git克隆https://github.com/alignak-monitoring/alignak-checks-example
cd alignak检查示例
mkdir/usr/local/etc/alignak/arbiter_cfg/objects/packs/示例
复制配置文件
cp-r alignak_checks_example/*.cfg/usr/local/etc/alignak/arbiter_cfg/objects/packs/example
复制插件文件
cp-r alignak_checks_example/plugins/*.py/usr/local/libexec/alignak < BR>< BR>
文档
-- < BR>
待完成 < BR>< BR>
错误、问题和贡献
-- < BR>
欢迎并鼓励对本项目的贡献……项目存储库中的问题是提出信息的常见方式。 < BR> 许可证
-- < BR>
alignak pack示例在"GPL版本3许可证"下提供。 < BR><乙R/>_ GPL版本3许可证:http://opensource.org/licenses/gpl-3.0
_ alignak监控控件:https://github.com/alignak-monitoring-contrib
_ pypi存储库:<;https://pypi.python.org/pypi>;

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java连接usb到uart设备到安卓设备>3.1   可以强制Php中的web应用程序与Java中的桌面应用程序一起工作吗?   java为什么自定义系统类加载器不工作?   数组在Java中解析具有多个分隔符的字符串   PMD Java 8德米特定律   JavaSpringMVC表单验证不适用于嵌套的复杂类型   让Eclipse Java组织导入以使用Google checkstyle   java Appium:无法创建新会话   java如何在数组中声明新字段   java如何解决“无法初始化类org.apache.cassandra.config.DatabaseDescriptor”?   java AsyncTask创建socket   java向@CreatedBy添加更多信息   如何在ubuntu中运行包含大量jars依赖项的java文件   java如何使用<s:select>标记并在中休眠来填充下拉列表?   java获取错误:找不到符号变量“level”和“next_level_button”   javaweb应用中基于UI的ajax显示代码流   Java长到MySql   java JvisualVM:奇怪的应用程序行为   ubuntu将Java程序的输出结果保存到一个文件中