库以简化与警报管理器API的交互。

pylertalertmanager的Python项目详细描述


PylertAlertManager

pylertalertmanager旨在成为一个易于使用的接口,用于与alert manager api交互。

开始

pypi提供了最新的稳定版本:

pip install pylertalertmanager

否则您可以从git安装:

pip install git+https://github.com/ABORGT/PylertAlertManager.git

使用量

在这里,我们将介绍一些基本的使用示例,以使人们能够离开并运行。我们在这里导入json只是为了漂亮地打印我们的对象。另外,我们有一个警报管理器实例在Docker中运行。

>>>importjson>>>fromalertmanagerimportAlertManager>>>fromalertmanagerimportAlert>>>>>># Provide some test data to be converted into an Alert object.>>>test_data={..."labels":{..."alertname":"TestAlert",..."instance":"TestInstance",..."severity":"critical"...},..."annotations":{..."description":"This is a test alert",..."info":"Test Alert",..."summary":"A simple Test alert"...}...}>>># Run the from_dict method on our test_data.>>>test_alert=Alert.from_dict(test_data)>>>type(test_alert)<class'alertmanager.alertmanager.Alert'>>>>>>># Add an annotation with the add_annotation method.>>>test_alert.add_annotation('test_annotation','this is a test annotation')>>>print(json.dumps(test_alert,indent=4)){"labels":{"alertname":"TestAlert","instance":"TestInstance","severity":"critical"},"annotations":{"description":"This is a test alert","info":"Test Alert","summary":"A simple Test alert","test_annotation":"this is a test annotation"}}>>># Add a label with the add_label method.>>>test_alert.add_label('test_label','this is a test label')>>>print(json.dumps(test_alert,indent=4)){"labels":{"alertname":"TestAlert","instance":"TestInstance","severity":"critical","test_label":"this is a test label"},"annotations":{"description":"This is a test alert","info":"Test Alert","summary":"A simple Test alert","test_annotation":"this is a test annotation"}}>>># Specify an Alert Manager host to connect to.>>>host='http://127.0.0.1'>>>a_manager=AlertManager(host=host)>>>>>># Post an alert to our Alert Manager.>>>a_manager.post_alerts(test_alert)<Box:{'status':'success'}>>>># Return a list of alerts from our Alert Manager.>>>alerts=a_manager.get_alerts()>>>print(json.dumps(alerts,indent=4))[{"labels":{"alertname":"TestAlert","instance":"TestInstance","severity":"critical","test_label":"this is a test label"},"annotations":{"description":"This is a test alert","info":"Test Alert","summary":"A simple Test alert","test_annotation":"this is a test annotation"},"startsAt":"2018-11-08T16:25:02.327027475Z","endsAt":"2018-11-08T16:30:02.327027475Z","generatorURL":"","status":{"state":"unprocessed","silencedBy":[],"inhibitedBy":[]},"receivers":["team-X-mails"],"fingerprint":"e6b119b9ce57e0c4"}]

运行测试

TOdo:添加测试

贡献

  1. 用叉子叉。
  2. 创建一个分支来描述您正在处理的问题或功能。
  3. 一路上做出改变,承诺。
  4. 跟随PEP8,除了荒谬的地方。
  5. 包括任何功能更改的测试。
  6. 推动更改并创建拉取请求:d。

使用

构建

作者

致谢

  • Kenneth Reitz->;setup-谢谢!

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

推荐PyPI第三方库


热门话题
java如何在运行时设置响应类型(Spring MVC)   java Selenium与BrowserMobProxy   java如何处理控制器(Swing)中的组件?   linux将metajava层添加到Yocto会导致解析失败   java存储X和Y坐标   java AssertJ检查JSONArray是否包含带有给定键和值的项的映射   java Redis客户端是否连接到多个aws读取副本端点?   java如何关闭对话框窗口上的按钮点击   java SHA256是否具有良好的跨平台支持?   java为什么这个if语句没有失败?   java无法在Spring中加载servlet上下文   java如何使用ApacheHWPF将图像插入文档文件   java SetWindowDisplayAffinity失败,错误为“拒绝访问”   当键盘出现时,java 安卓调整布局   C++中缓冲区的java替换