动物园管理员监控服务

zk_monitor的Python项目详细描述


#zookeeper节点监视守护进程

[![构建状态](https://travis-ci.org/nextdoor/zkmonitor.svg?branch=master)(https://travis ci.org/nextdoor/zkmonitor)
[![下载量](https://pypip.in/d/zk_u monitor/badge.png)(https://pypi.python.org/pypi/zk_u monitor)
[![py py版本](https://badge.fury.io/py/zk_monitor.png)(https://pypi.python.org/pypi/zk悻u monitor)




这是一个简单的守护进程,用于监视特定的ZooKeeper节点是否符合给定的规范集(即注册节点的最小数目)。如果路径更改并超出
规范(例如节点太少),则会触发警报以通知您。


代理使用一条公共路径和一系列锁/节点通过zookeeper相互交谈。您可以随心所欲地运行多个代理,但只有一个代理可以处理发送警报。


离子>;

选项:
--版本显示程序的版本号并退出
-h,--帮助显示此帮助消息并退出
-z zookeeper,--zookeeper=zookeeper
zookeeper服务器(def:localhost:2181)
--zookeeper_user=zookeeper_user
zookeeper acl user name
--zookeeper_pass=zookeeper_pass
zookeeper acl password
-c cluster_name,--cluster_name=cluster_name
唯一的集群名称(即prod-zookeeper monitor)
--集群前缀=集群前缀
zookeeper中所有zk_monitor集群的前缀路径
-f文件,--file=要监视znodes的yaml文件的文件路径。
-p端口,--port=要侦听的端口(def:8080)
-l级别l,--level=level
设置日志记录级别(info warn debug error)
-s syslog,--syslog=syslog
将日志记录到syslog。供应设施名称。(即"local0")


要监视的路径列表是通过yaml
格式的配置文件提供的。下面是一个示例文件:

/services/foo/min_1:
alerter:
email:you@home.com
children:1
/services/foo/min_0:
alerter:
email:you@buddy@home.com
children:0
/services/foo/min_3:
children 3

###警报配置

在上面的示例中,您将看到其中两个路径配置了"警报/电子邮件"
参数。这样一来,任何违反路径规范的行为都会导致
发送到该地址的电子邮件。第三条路径没有任何
设置,这意味着在发生
规范冲突时实际上不会发出警报。

ry][uu init_uu]:(info)初始化service registry对象
2014-05-31 16:20:25863[35661][nd_service_registry][u connect]:(info)连接到zookeeper服务(localhost:2181)
2014-05-31 16:20:25867[35661][nd_service_registry][u state_listener]:(info)zookeeper连接状态更改:已连接
2014-05-31 16:20:25868[35661][nd_service_registry][uu init_uu]:(info)初始化完成!
2014-05-31 16:20:25868[35661][zk戋u monitor.monitor][u stateletener]:(info)服务注册表连接状态:true

或者故意检查应用程序的状态,以及当前监视的ZooKeeper节点的符合性。


"警报":true
},
"合规":{
"/services/foo/min_0":true,
"/services/foo/min_1":"找到的子项(0)小于最小值(1)",
"/services/foo/min_3":"找到的子项(2)小于最小值(3)"
}
},
"versi在":"0.0.1"上,
"ZooKeeper":{
"已连接":真
>



















>
+--nd_service_service_registry.kazooserviceregistry





>
>
>>+--警惕。调度员







>
;发展

BR/>手柄DI向Alerter对象发送所有警报的过程

+--alerts.email.emailAlerter
异步发送基于电子邮件的警报

+--Tornado Mail.backends.smtp.emailbackend()

+--alerts.rest.hipchatAlerter
异步发送Hipchat警报
|
+--cluster.state
通过zookeeper处理节点到节点的通信对于Dispatcher,Dispatcher
处理确定警报是否为DUP、从合规到不合规的班次(或反之亦然)、
和要触发的警报(HipChat、电子邮件等)。

+--Tornado.application
处理所有Web请求s

+--web.app.getapplication()

+--root.roothandler
url:/

+--state.statehandler
url:/state
obj ref->;nd service_registry.kazooserviceregistry
obj ref->;moni.moni





;创建一个专门的python虚拟环境并为其提供源代码
virtualenv--没有站点包。venv
unset pythonpath
source.venv/bin/activate



























Mac OSX上的后缀

如果要在mac osx主机上开发,则需要在计算机上启用电子邮件
*postfix*后台程序。这是怎么回事!


修改*/syatem/library/launchdaemons/org.postffix.master.master.plist*

///system/library/launchdaemons/org.postffix.master.master.plist.bak 2014-06-02 11:45:2014-06-02 11:24.000000000-0700
++/system/library/library/library/launchdaemons/org.postffix.master.plist 2014-06-02 2014-06-02 11:02-02:2014-06-06-02:02:07.000000000-07:07.000000000-0700-0700-0700
>><>;程序rguments<;/key>;
<;array>;
<;string>;master<;/string>;
-<;string>;-e<;/string>;
-<;string>;60<;/string>;
<;/array>;
<;key>;队列目录<;/key>;
<;array>;
@@-18,5+16,8@
<;array>;
<;key>;放弃进程组<;key>;
<;true/>;
+
+<;key>;保持不变<;/key>;
+<;true/>;
<;dict>;
<;
重新启动服务:

sudo launchctl unload org.postfix.master.plist
sudo launchctl加载org.postfix.master.plist

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

推荐PyPI第三方库


热门话题
JavaSpringMVC控制器测试打印结果JSON字符串   若catch语句返回,那个么为什么它最终会阻塞呢?   java Grails中servletContext在哪里可用?   java Jhipster:如何为现有项目启用多种语言   java异常评估SpringEL表达式:“#fields.hasErrors('something')”   java如何验证SeleniumWebDriver中的文本颜色?   java在绘图时使用JPanel坐标   java如何初始化spring启动到project?   java如何通过JDBC的PreparedStatement将UUID数组插入HyperSQL数据库   java修改JVM以跨线程序列化文件访问   Javascript到Java正则表达式   使用Java运行时调用aspell程序时出现字符集问题。getRuntime()。执行官   执行RDP时的java Sukuli按钮识别   java如何使用okhttp更改connect请求的标头   java无法创建Maven Eclipse项目