pytbox 0.2.2__tar.gz → 0.2.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pytbox might be problematic. Click here for more details.

Files changed (84) hide show
  1. {pytbox-0.2.2/src/pytbox.egg-info → pytbox-0.2.4}/PKG-INFO +1 -1
  2. {pytbox-0.2.2 → pytbox-0.2.4}/pyproject.toml +1 -1
  3. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/database/victoriametrics.py +26 -4
  4. {pytbox-0.2.2 → pytbox-0.2.4/src/pytbox.egg-info}/PKG-INFO +1 -1
  5. {pytbox-0.2.2 → pytbox-0.2.4}/tests/test_victoriametrics.py +8 -1
  6. {pytbox-0.2.2 → pytbox-0.2.4}/MANIFEST.in +0 -0
  7. {pytbox-0.2.2 → pytbox-0.2.4}/README.md +0 -0
  8. {pytbox-0.2.2 → pytbox-0.2.4}/setup.cfg +0 -0
  9. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/alert/alert_handler.py +0 -0
  10. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/alert/ping.py +0 -0
  11. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/alicloud/sls.py +0 -0
  12. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/base.py +0 -0
  13. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/categraf/build_config.py +0 -0
  14. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/categraf/instances.toml +0 -0
  15. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/categraf/jinja2/__init__.py +0 -0
  16. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/categraf/jinja2/input.cpu/cpu.toml.j2 +0 -0
  17. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/categraf/jinja2/input.disk/disk.toml.j2 +0 -0
  18. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/categraf/jinja2/input.diskio/diskio.toml.j2 +0 -0
  19. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/categraf/jinja2/input.dns_query/dns_query.toml.j2 +0 -0
  20. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/categraf/jinja2/input.http_response/http_response.toml.j2 +0 -0
  21. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/categraf/jinja2/input.mem/mem.toml.j2 +0 -0
  22. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/categraf/jinja2/input.net/net.toml.j2 +0 -0
  23. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/categraf/jinja2/input.net_response/net_response.toml.j2 +0 -0
  24. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/categraf/jinja2/input.ping/ping.toml.j2 +0 -0
  25. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/categraf/jinja2/input.prometheus/prometheus.toml.j2 +0 -0
  26. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/categraf/jinja2/input.snmp/cisco_interface.toml.j2 +0 -0
  27. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/categraf/jinja2/input.snmp/cisco_system.toml.j2 +0 -0
  28. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/categraf/jinja2/input.snmp/h3c_interface.toml.j2 +0 -0
  29. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/categraf/jinja2/input.snmp/h3c_system.toml.j2 +0 -0
  30. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/categraf/jinja2/input.snmp/huawei_interface.toml.j2 +0 -0
  31. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/categraf/jinja2/input.snmp/huawei_system.toml.j2 +0 -0
  32. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/categraf/jinja2/input.snmp/ruijie_interface.toml.j2 +0 -0
  33. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/categraf/jinja2/input.snmp/ruijie_system.toml.j2 +0 -0
  34. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/categraf/jinja2/input.vsphere/vsphere.toml.j2 +0 -0
  35. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/cli/__init__.py +0 -0
  36. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/cli/categraf/__init__.py +0 -0
  37. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/cli/categraf/commands.py +0 -0
  38. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/cli/commands/vm.py +0 -0
  39. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/cli/common/__init__.py +0 -0
  40. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/cli/common/options.py +0 -0
  41. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/cli/common/utils.py +0 -0
  42. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/cli/formatters/__init__.py +0 -0
  43. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/cli/formatters/output.py +0 -0
  44. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/cli/main.py +0 -0
  45. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/cli.py +0 -0
  46. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/common/__init__.py +0 -0
  47. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/database/mongo.py +0 -0
  48. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/dida365.py +0 -0
  49. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/excel.py +0 -0
  50. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/feishu/client.py +0 -0
  51. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/feishu/endpoints.py +0 -0
  52. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/feishu/errors.py +0 -0
  53. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/feishu/helpers.py +0 -0
  54. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/feishu/typing.py +0 -0
  55. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/log/logger.py +0 -0
  56. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/log/victorialog.py +0 -0
  57. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/mail/alimail.py +0 -0
  58. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/mail/client.py +0 -0
  59. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/mail/mail_detail.py +0 -0
  60. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/network/meraki.py +0 -0
  61. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/onepassword_connect.py +0 -0
  62. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/onepassword_sa.py +0 -0
  63. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/pyjira.py +0 -0
  64. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/utils/cronjob.py +0 -0
  65. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/utils/env.py +0 -0
  66. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/utils/load_config.py +0 -0
  67. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/utils/load_vm_devfile.py +0 -0
  68. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/utils/response.py +0 -0
  69. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/utils/richutils.py +0 -0
  70. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/utils/timeutils.py +0 -0
  71. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/vmware.py +0 -0
  72. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox/win/ad.py +0 -0
  73. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox.egg-info/SOURCES.txt +0 -0
  74. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox.egg-info/dependency_links.txt +0 -0
  75. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox.egg-info/entry_points.txt +0 -0
  76. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox.egg-info/requires.txt +0 -0
  77. {pytbox-0.2.2 → pytbox-0.2.4}/src/pytbox.egg-info/top_level.txt +0 -0
  78. {pytbox-0.2.2 → pytbox-0.2.4}/tests/test_base.py +0 -0
  79. {pytbox-0.2.2 → pytbox-0.2.4}/tests/test_feishu.py +0 -0
  80. {pytbox-0.2.2 → pytbox-0.2.4}/tests/test_load_jsonfile.py +0 -0
  81. {pytbox-0.2.2 → pytbox-0.2.4}/tests/test_logger.py +0 -0
  82. {pytbox-0.2.2 → pytbox-0.2.4}/tests/test_onepassword_connect.py +0 -0
  83. {pytbox-0.2.2 → pytbox-0.2.4}/tests/test_onepassword_sa.py +0 -0
  84. {pytbox-0.2.2 → pytbox-0.2.4}/tests/test_vmware.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pytbox
3
- Version: 0.2.2
3
+ Version: 0.2.4
4
4
  Summary: A collection of Python integrations and utilities (Feishu, Dida365, VictoriaMetrics, ...)
5
5
  Author-email: mingming hou <houm01@foxmail.com>
6
6
  License-Expression: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "pytbox"
7
- version = "0.2.2"
7
+ version = "0.2.4"
8
8
  description = "A collection of Python integrations and utilities (Feishu, Dida365, VictoriaMetrics, ...)"
9
9
  authors = [{ name = "mingming hou", email = "houm01@foxmail.com" }]
10
10
  license = "MIT"
@@ -204,6 +204,28 @@ class VictoriaMetrics:
204
204
 
205
205
  return ReturnResponse(code=code, msg=msg, data=data)
206
206
 
207
+ def check_unreachable_ping_result(self, dev_file: str='') -> ReturnResponse:
208
+ '''
209
+ 检查ping结果
210
+
211
+ Args:
212
+ target (str): 目标地址
213
+ last_minute (int, optional): 最近多少分钟. Defaults to 10.
214
+ env (str, optional): 环境. Defaults to 'prod'.
215
+ dev_file (str, optional): 开发文件. Defaults to ''.
216
+
217
+ Returns:
218
+ ReturnResponse:
219
+ code = 0 正常, code = 1 异常, code = 2 没有查询到数据, 建议将其判断为正常
220
+ '''
221
+ query = "ping_result_code == 1"
222
+
223
+ if self.env == 'dev':
224
+ r = load_dev_file(dev_file)
225
+ else:
226
+ r = self.query(query=query)
227
+ return r
228
+
207
229
  def check_interface_rate(self,
208
230
  direction: Literal['in', 'out'],
209
231
  sysName: str,
@@ -251,9 +273,9 @@ class VictoriaMetrics:
251
273
  ReturnResponse: _description_
252
274
  '''
253
275
  if direction == 'in':
254
- query = f'avg_over_time(rate(snmp_interface_ifHCInOctets{{sysName="{sysname}", ifName="{ifname}"}}[{last_minutes}m]) * 8 [{last_hours}h:]) / 1e6'
276
+ query = f'avg_over_time((rate(snmp_interface_ifHCInOctets{{sysName="{sysname}", ifName="{ifname}"}}[{last_minutes}m]) * 8) [{last_hours}h:]) / 1e6'
255
277
  else:
256
- query = f'avg_over_time(rate(snmp_interface_ifHCOutOctets{{sysName="{sysname}", ifName="{ifname}"}}[{last_minutes}m]) * 8 [{last_hours}h:]) / 1e6'
278
+ query = f'avg_over_time((rate(snmp_interface_ifHCOutOctets{{sysName="{sysname}", ifName="{ifname}"}}[{last_minutes}m]) * 8) [{last_hours}h:]) / 1e6'
257
279
  r = self.query(query)
258
280
  try:
259
281
  rate = r.data[0]['value'][1]
@@ -282,9 +304,9 @@ class VictoriaMetrics:
282
304
  ReturnResponse: _description_
283
305
  '''
284
306
  if direction == 'in':
285
- query = f'max_over_time(rate(snmp_interface_ifHCInOctets{{sysName="{sysname}", ifName="{ifname}"}}[{last_minutes}m]) * 8 [{last_hours}h:]) / 1e6'
307
+ query = f'max_over_time((rate(snmp_interface_ifHCInOctets{{sysName="{sysname}", ifName="{ifname}"}}[{last_minutes}m]) * 8) [{last_hours}h:]) / 1e6'
286
308
  else:
287
- query = f'max_over_time(rate(snmp_interface_ifHCOutOctets{{sysName="{sysname}", ifName="{ifname}"}}[{last_minutes}m]) * 8 [{last_hours}h:]) / 1e6'
309
+ query = f'max_over_time((rate(snmp_interface_ifHCOutOctets{{sysName="{sysname}", ifName="{ifname}"}}[{last_minutes}m]) * 8) [{last_hours}h:]) / 1e6'
288
310
  r = self.query(query)
289
311
  try:
290
312
  rate = r.data[0]['value'][1]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pytbox
3
- Version: 0.2.2
3
+ Version: 0.2.4
4
4
  Summary: A collection of Python integrations and utilities (Feishu, Dida365, VictoriaMetrics, ...)
5
5
  Author-email: mingming hou <houm01@foxmail.com>
6
6
  License-Expression: MIT
@@ -22,9 +22,16 @@ def test_check_snmp_port_status():
22
22
  print(r)
23
23
 
24
24
 
25
- r = vm.check_interface_avg_rate(direction='in', sysname='whcq-prod-coresw-s6720-254', ifname='XGigabitEthernet0/0/47', last_hours=24, last_minutes=5)
25
+ # r = vm.check_interface_avg_rate(direction='in', sysname='whcq-prod-coresw-s6720-254', ifname='XGigabitEthernet0/0/47', last_hours=24*30, last_minutes=5)
26
+ # print(r)
27
+
28
+ # r = vm.check_interface_max_rate(direction='in', sysname='whcq-prod-coresw-s6720-254', ifname='XGigabitEthernet0/0/47', last_hours=24*30, last_minutes=5)
29
+ # print(r)
30
+
31
+ r = vm.check_unreachable_ping_result()
26
32
  print(r)
27
33
 
34
+
28
35
  if __name__ == "__main__":
29
36
  # test_get_labels()
30
37
  # test_query()
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes