Độ trễ ping Python

Công cụ giám sát cho phép người dùng xem trạng thái của máy tại một thời điểm cụ thể. Trạng thái có thể bao gồm nhưng không giới hạn ở mức sử dụng CPU, độ trễ mạng, mức sử dụng bộ nhớ và mức sử dụng ổ đĩa

Lấy số liệu thống kê


Để làm được điều này, chúng ta có thể sử dụng một thư viện để lấy thông tin từ máy. psutil [tiện ích hệ thống và quy trình], một thư viện để truy xuất thông tin về các quy trình đang chạy và sử dụng hệ thống [CPU, bộ nhớ, đĩa, mạng] trong python có thể là một thư viện hoàn hảo cho việc này. Tuy nhiên, vì chúng tôi muốn xây dựng tác nhân từ đầu, chúng tôi sẽ tạo thư viện của riêng mình để đạt được điều này

Tải CPU và hệ thống


Đầu tiên, chúng tôi sẽ kiểm tra số lượng CPU vật lý và logic, sau đó kiểm tra Tải hệ thống. Đối với điều này, chúng tôi sẽ sử dụng mô-đun python os, vì nó cung cấp các phương thức để truy cập cả số lượng CPU và tải hệ thống như hình bên dưới

Sử dụng bộ nhớ [RAM]

Đối với việc sử dụng bộ nhớ, chúng tôi sẽ bắt đầu bằng cách hiển thị tổng bộ nhớ, tiếp theo là bộ nhớ đã sử dụng. Đối với điều này, chúng tôi sẽ sử dụng các lệnh của hệ điều hành  sysctl và  vm_stat  để lấy thông tin về RAM. Sau đó, chúng tôi phân tích các kết quả này và thêm chúng vào từ điển thống kê của chúng tôi, như được hiển thị bên dưới

Sử dụng đĩa

Tại đây, chúng tôi sẽ lấy tổng kích thước ổ đĩa, kiểm tra dung lượng ổ đĩa đã sử dụng và cuối cùng kiểm tra ổ đĩa trống và thêm tất cả những thứ này vào từ điển thống kê

Độ trễ mạng

Độ trễ mạng là một biểu thức về thời gian cần thiết để gói dữ liệu đi từ điểm được chỉ định này đến điểm khác. Sử dụng lệnh Linux  ping, thời gian khứ hồi được coi là độ trễ của mạng. Chúng tôi sẽ sử dụng lệnh ping để xác định độ trễ mạng của máy

Tất cả những điều trên đã được kết hợp thành một tệp có tên  monitor.py

Đầu ra từ máy của tôi

Điều hành đại lý

Để có thể thu thập số liệu thống kê từ trên, chúng tôi cần một cách để đảm bảo rằng tập lệnh thu thập số liệu thống kê được thực thi cứ sau 5 phút [hoặc số phút tùy chỉnh]. Đối với điều này, chúng tôi sẽ sử dụng crontab của Linux để chạy tập lệnh  monitoring

*/2 * * * * location_to_python3/python3 ~/monitor.py > /tmp/monitor.log 2>&1

Hãy nhớ di chuyển tập lệnh giám sát vào thư mục  home  

Và đó là nó. Cảm ơn bạn đã đọc

Tập lệnh trên chỉ được thử nghiệm trên Mac OS và có thể cần một vài sửa đổi nhỏ để tập lệnh hoạt động trên Linux và Windows

Trong bài viết này, chúng ta sẽ xem cách giám sát kết nối mạng và lưu tệp nhật ký trong Python.  

Tư tưởng cơ bản của tập lệnh này là cung cấp thông tin theo thời gian thực về việc hệ thống mà tập lệnh đang chạy có được kết nối với kết nối internet hay không và đồng thời lưu thông tin đó vào tệp nhật ký, lưu giữ hồ sơ khi hệ thống được kết nối

Tập lệnh này được tạo bằng thư viện ổ cắm trong Python, trong chương trình này được sử dụng để gửi hoặc nhận các gói trên mạng

tệp nhật ký

Bắt đầu đơn giản bằng cách tạo một tệp nhật ký trong thư mục làm việc hiện tại để lưu trữ trạng thái kết nối internet

con trăn




FILE = os.path.join[os.getcwd[],vm_stat0vm_stat1

ping[]

Sử dụng chức năng này, tập lệnh sẽ thử kết nối với máy chủ đã xác định, để kiểm tra xem hệ thống có kết nối internet trực tiếp hay không. Nhiệm vụ này sẽ được thực hiện bằng cách sử dụng xử lý ngoại lệ trong python [thử, ngoại trừ, khác].  

  1. Hệ thống sẽ thử ping một máy chủ cụ thể [PORT tại một IP]
  2. Nếu máy không kết nối được, câu lệnh EXCEPT sẽ được thực thi
  3. Nếu không, kết nối sẽ bị đóng sau khi hệ thống được kết nối thành công với máy chủ

Mã số

con trăn




vm_stat2 vm_stat3

vm_stat4

vm_stat5FILE0

vm_stat5FILE2

vm_stat5FILE4

vm_stat5FILE6

vm_stat5FILE8

vm_stat5=0

vm_stat5=2=3

=4=5____86vm_stat1

 

=4=9

=4os.path.join[os.getcwd[],1

=4____93____8 os.path.join[os.getcwd[],5

=4

=4____98= vm_stat00

=4vm_stat02____8 vm_stat04

 

=4vm_stat06______8 vm_stat08

=4

=4vm_stat11

=4vm_stat13

 

vm_stat5vm_stat15 vm_stat16

vm_stat17

=4vm_stat19

=4vm_stat21

=4vm_stat23 vm_stat24

vm_stat5vm_stat26____83

vm_stat17

=4vm_stat30

=4vm_stat32

=4vm_stat34

=4vm_stat23 vm_stat37

Các hàm Sử dụng trong chương trình trên

  • ổ cắm. setdefaulttimeout[]. Nó là một chức năng thư viện ổ cắm sẵn có trong python. bằng cách đặt thời gian chờ mặc định là 3 giây, chúng tôi chỉ định nếu chúng tôi không nhận được bất kỳ phản hồi nào từ máy chủ trong hơn 3 giây, kết nối sẽ không được thực hiện
  • ổ cắm. ổ cắm [ổ cắm. AF_INET, ổ cắm. SOCK_STREAM]. ổ cắm. socket[] được sử dụng để xác định các tham số để kết nối hai nút trong mạng, i. e. hệ thống của bạn tới một PORT cụ thể tại một IP cụ thể để chúng có thể giao tiếp với nhau
    • AF_INET là một họ địa chỉ được sử dụng để chấp nhận IP của loại địa chỉ v4 làm tham số mà ổ cắm đã xác định sẽ giao tiếp
    • SOCK_STREAM là một giao thức dựa trên kết nối, trong chương trình này sử dụng TCP [giao thức điều khiển truyền dẫn] được sử dụng để chấp nhận một cổng không. như một tham số

tính_thời gian[]

Thời gian không khả dụng là khoảng thời gian không có kết nối internet. được tính bằng cách sử dụng thời gian chết [dừng] khi mất kết nối internet và thời gian hoạt động [bắt đầu] khi kết nối internet được khôi phục

con trăn




vm_stat2 vm_stat39

vm_stat4

vm_stat5____142

vm_stat5vm_stat44= vm_stat46vm_stat47 vm_stat48

vm_stat5vm_stat50= vm_stat52vm_stat53vm_stat54vm_stat55

vm_stat5vm_stat23 vm_stat54vm_stat59=FILE01FILE02FILE03FILE04FILE05

first_check[]

Chức năng này sẽ chỉ được thực hiện một lần, tôi. e. ở phần đầu của tập lệnh để kiểm tra xem hệ thống đã được kết nối với kết nối internet hay chưa và ghi nó vào tệp nhật ký. hàm ping[] được gọi

  1. Nếu ping trả về true [máy được kết nối với internet], tập lệnh sẽ in “CÓ THỂ KẾT NỐI” và ghi nội dung tương tự vào tệp nhật ký
  2. Nếu ping trả về false [hệ thống không được kết nối với internet], tập lệnh sẽ in “CONNECTION NOT ACQUIRED” và ghi tương tự vào tệp nhật ký

con trăn




vm_stat2 FILE07

vm_stat5FILE09

 

vm_stat5FILE11

vm_stat5FILE13 vm_stat3

=4FILE16______8 FILE18

_______84____720____721

=4FILE23____8 FILE25

=4FILE27= FILE29 FILE30 FILE31

FILE32vm_stat54FILE34FILE02FILE03FILE04FILE05

_______84____720____741

 

=4FILE43

=4FILE45FILE46vm_stat53FILEFILE49FILE50FILE51FILE52=3

FILE32FILE52FILE56

FILE32FILE52FILE59

=4vm_stat23 vm_stat37

 

vm_stat5FILE64

vm_stat5vm_stat26____83

=4FILE69= FILE71

=4FILE20FILE74

 

=4FILE43

=4FILE45FILE46vm_stat53FILEFILE49FILE50FILE51FILE52=3

FILE32FILE52FILE89

=4vm_stat23 vm_stat24

chính[]

Chức năng chính, nơi tất cả các chương trình do người dùng xác định sẽ được thực thi và trạng thái internet trực tiếp sẽ được ghi vào một tệp nhật ký

con trăn




vm_stat2 FILE94

vm_stat5FILE96

vm_stat5FILE98= FILE25

vm_stat5

vm_stat5=03

vm_stat5____805

vm_stat5=07= =09 FILE30 FILE31

=4vm_stat54____814FILE02FILE03FILE04FILE05

 

vm_stat5FILE13 FILE07

=4=23

=4FILE20____826

=4

=4=29

=4=31

 

vm_stat5vm_stat26____83

=4=36

=4=38 vm_stat37____83

=41

FILE32=43

FILE32=45

FILE32FILE13 =48 vm_stat3

=50

=51=52

=51=54=55vm_stat1

FILE32vm_stat26=3

=50

=51=62

=51=64

=51FILE20=26

=51=69

 

FILE32FILE45FILE46vm_stat53FILEFILE49FILE50FILE51FILE52=3

Làm cách nào để ping IP bằng Python?

Đảm bảo bạn đã cài đặt Python trên hệ thống máy tính của mình
Tạo một. tập tin py và hai. tập tin txt. Tệp Python sẽ chứa tập lệnh. Một tệp văn bản sẽ chứa danh sách các địa chỉ IP, các địa chỉ này sẽ được phân tách bằng dấu cách. Tệp văn bản khác sẽ được tập lệnh sử dụng để lưu đầu ra ping

Bạn có thể ping bằng Python không?

PythonPing là cách đơn giản để ping trong Python . Với nó, bạn có thể gửi Đầu dò ICMP đến các thiết bị từ xa giống như cách bạn làm từ thiết bị đầu cuối. PythonPing là mô-đun, do đó bạn có thể chạy nó trong một tập lệnh dưới dạng một chức năng độc lập hoặc tích hợp các thành phần của nó trong một ứng dụng chính thức.

Làm cách nào để nhận ping Python?

Làm cách nào để kiểm tra ping trong Python? .
quy trình con nhập khẩu
chắc chắn chính[]
máy chủ = đầu vào ["Nhập máy chủ. "]
packet = int[input["\nNhập gói tin. "]]
in["\n"]
ping = quy trình con. getoutput[f"ping -w {packet} {host}"]
in [ping]

Iperf có thể đo độ trễ không?

iperf có thể được sử dụng để thu thập số liệu thống kê về độ trễ và băng thông cho cả TCP và UDP . Nó sử dụng mô hình máy chủ khách, nơi dữ liệu có thể được phân tích từ cả hai đầu. Trong số các số liệu thống kê mà nó có thể thu thập - thông lượng, jitter và mất gói. Về cơ bản, đây là một công cụ để đo lường chất lượng liên kết tổng thể.

Chủ Đề