Thursday, November 21, 2024

Kiểm tra nhiệt độ thiết bị Cisco

-

Tổng quan.

Lệnh show environment temperature thường dùng trong môi trường thiết bị mạng, chẳng hạn như switch hoặc router, nơi quản trị viên mạng có thể kiểm tra và giám sát nhiệt độ môi trường của thiết bị. Lệnh này cung cấp thông tin chi tiết về nhiệt độ của các cảm biến trên thiết bị.

  • Mục Đích: Lệnh “show environment temperature” được thiết kế để cung cấp thông tin về nhiệt độ môi trường trên các module hoặc thành phần của thiết bị mạng.
  • Thông Tin Hiển Thị: Thông tin hiển thị bao gồm các cảm biến, ngưỡng nhiệt độ chính và phụ, nhiệt độ hiện tại và trạng thái của cảm biến.
  • Người Dùng Đích Thực: Quản trị viên mạng sử dụng lệnh này để giám sát nhiệt độ của thiết bị và đảm bảo rằng môi trường lành mạnh để đảm bảo hoạt động ổn định và tránh các vấn đề liên quan đến nhiệt độ.

Cấu Trúc Thông Tin:

  • Module: Số hiệu của module trên thiết bị.
  • Sensor: Tên và số hiệu của cảm biến.
  • Major Threshold: Ngưỡng nhiệt độ chính.
  • Minor Threshold: Ngưỡng nhiệt độ phụ.
  • Current Temperature: Nhiệt độ hiện tại đo được bởi cảm biến.
  • Status: Trạng thái của cảm biến (ví dụ: “ok”, “warning”, “critical”).

Ví dụ.

shell> show environment temperature


Temperature
-------------------------------------------------------------------------
Module  Sensor             MajorThresh   MinorThres   CurTemp     Status
                            (Celsius)     (Celsius)   (Celsius)
-------------------------------------------------------------------------
1       Back        (D0)    66            52           39          ok
1       Front Middle(D1)    65            51           37          ok
1       Front Right (D2)    63            49           32          ok
1       Front Left  (D3)    61            47           34          ok

Bảng hiển thị thông số nhiệt độ môi trường của các cảm biến trên một module của thiết bị mạng (có thể là switch hoặc router).

Chi tiết như sau:

  • Module: Số hiệu của module. Trong trường hợp này, chỉ có một module có số hiệu 1.
  • Sensor: Cảm biến đo nhiệt độ cụ thể trên module. Trong trường hợp này, có bốn cảm biến được đánh số từ D0 đến D3.
  • Major Threshold (Celsius): Ngưỡng nhiệt độ chính mà hệ thống coi là ngưỡng an toàn cao nhất. Nếu nhiệt độ vượt quá giới hạn này, có thể có vấn đề nghiêm trọng. Ví dụ: Cảm biến Back (D0) có ngưỡng chính là 66 độ C.
  • Minor Threshold (Celsius): Ngưỡng nhiệt độ phụ, mức độ nhiệt độ an toàn hơn so với ngưỡng chính. Nếu nhiệt độ vượt quá giới hạn này nhưng không vượt quá ngưỡng chính, có thể cảnh báo hoặc giảm hiệu suất. Ví dụ: Cảm biến Back (D0) có ngưỡng phụ là 52 độ C.
  • Current Temperature (Celsius): Nhiệt độ hiện tại đo được bởi cảm biến. Ví dụ: Cảm biến Back (D0) hiện có nhiệt độ là 39 độ C.
  • Status: Trạng thái của cảm biến, có thể là “ok” nếu nhiệt độ nằm trong ngưỡng an toàn hoặc có thể có các trạng thái khác như “warning” hoặc “critical” nếu nhiệt độ vượt quá mức an toàn. Trong trường hợp này, tất cả các cảm biến đều ở trạng thái “ok”.

Vì vậy, tổng quan, bảng này cung cấp thông tin về nhiệt độ của các cảm biến trên một module trong thiết bị mạng và xác định xem có vấn đề nào về nhiệt độ không.

Chuyển đổi thông tin sang Json.

Bạn có thể chuyển đổi thông tin trên sang json để phục vụ monitor với đoạn code Python sau:

import re
import json
import paramiko

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('103.138.88.1', username='admin', password='Admin@123')

stdin, stdout, stderr = ssh.exec_command('show environment temperature')

result = stdout.read().decode()

try:
    stdin, stdout, stderr = ssh.exec_command('show environment temperature')
    result = stdout.read().decode()
    matches = re.findall(r'\d+\s+([\w\s]+\(\w+\))\s+(\d+)\s+(\d+)\s+(\d+)\s+(\w+)', result)

    temperature_info = []
    data = {"temperature_info": []}

    for match in matches:
        sensor, major_thresh, minor_thresh, cur_temp, status = match
        data["temperature_info"].append({
            "sensor": sensor.strip(),
            "major_threshold": int(major_thresh),
            "minor_threshold": int(minor_thresh),
            "current_temperature": int(cur_temp),
            "status": status
        })

    json_data = json.dumps(data, indent=4)
    
    print(json_data)
finally:
    ssh.close()

Kết quả.

{
    "temperature_info": [
        {
            "sensor": "Back        (D0)",
            "major_threshold": 66,
            "minor_threshold": 52,
            "current_temperature": 40,
            "status": "ok"
        },
        {
            "sensor": "Front Middle(D1)",
            "major_threshold": 65,
            "minor_threshold": 51,
            "current_temperature": 36,
            "status": "ok"
        },
        {
            "sensor": "Front Right (D2)",
            "major_threshold": 63,
            "minor_threshold": 49,
            "current_temperature": 32,
            "status": "ok"
        },
        {
            "sensor": "Front Left  (D3)",
            "major_threshold": 61,
            "minor_threshold": 47,
            "current_temperature": 34,
            "status": "ok"
        }
    ]
}

Kết Luận:

Lệnh “show environment temperature” là một công cụ quan trọng trong quản lý mạng, giúp quản trị viên theo dõi và đánh giá nhiệt độ môi trường của thiết bị. Việc theo dõi nhiệt độ là quan trọng để đảm bảo rằng thiết bị hoạt động ổn định và tránh các vấn đề nhiệt độ có thể ảnh hưởng đến hiệu suất và độ tin cậy của mạng. Trạng thái của cảm biến cũng cung cấp thông báo sớm về bất kỳ vấn đề nhiệt độ nào có thể phát sinh, giúp nâng cao khả năng dự đoán và quản lý rủi ro.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories