CTC 教育サービス
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes
みなさん、こんにちは。
これまでのコラムでは、ネットワーク管理の効率化を目指してさまざまなアプローチを紹介してきました。今回からは、Pythonライブラリを活用した具体的な自動化レシピを取り上げます。手動作業では膨大な時間と労力を必要とするタスクも、自動化することによって効率的かつ確実に実行できるようになります。
ここでは、次の3つのライブラリを中心に使用します。
これらを活用して、ネットワーク管理に役立つシナリオを実際に構築していきましょう。
ネットワーク運用では、機器の状態(CPU使用率、メモリ使用量、温度など)を把握することが重要です。NAPALMを使用することで、これらの情報を簡単に取得し、異常があれば迅速に対応できます。
from napalm import get_network_driver
# デバイス情報
devices = [
{’hostname’: ’192.168.1.1’, ’username’: ’admin’, ’password’: ’admin123’, ’platform’: ’ios’}
]
# 状態モニタリング
for device_info in devices:
driver = get_network_driver(device_info[’platform’])
device = driver(device_info[’hostname’], device_info[’username’], device_info[’password’])
device.open()
facts = device.get_facts()
env = device.get_environment()
print(f"Hostname: {facts[’hostname’]}")
print(f"CPU Usage: {env[’cpu’][0][’usage’]}%")
print(f"Memory Usage: {env[’memory’][’used_ram’]}/{env[’memory’][’available_ram’]} bytes")
print(f"Temperature: {env[’temperature’]}")
device.close()
if env[’cpu’][0][’usage’] > 80: # CPU使用率が80%以上の場合アラート
print(f"ALERT: High CPU usage on {facts[’hostname’]}!")
複数のネットワーク機器からログを収集して保存することで、トラブルシューティングやセキュリティ監視が効率的になります。ここではnetmikoを使ってログを収集し、テキストファイルに保存します。
from netmiko import ConnectHandler
# 対象デバイス情報
devices = [
{’device_type’: ’cisco_ios’, ’host’: ’192.168.1.1’, ’username’: ’admin’, ’password’: ’admin123’}
]
# ログ収集
for device_info in devices:
try:
net_connect = ConnectHandler(**device_info)
logs = net_connect.send_command("show logging")
with open(f"{device_info[’host’]}_logs.txt", "w") as f:
f.write(logs)
print(f"Logs collected for {device_info[’host’]}")
net_connect.disconnect()
except Exception as e:
print(f"Failed to collect logs for {device_info[’host’]}: {str(e)}")
今回は、ネットワーク管理を効率化するための2つのレシピを紹介しました。1つ目の状態モニタリングでは、NAPALMを活用してハードウェアの状況をリアルタイムで把握し、早期に異常を検知することができます。2つ目のログ収集では、netmikoを使って複数機器から効率的に情報を収集し、解析用にファイルへ保存します。これらの手法を導入することで、管理作業を自動化し、作業効率を大きく改善できます。
次回は、さらに高度な自動化レシピとして、ネットワーク構成変更のバージョン管理やExcelを使ったインベントリ管理について解説します。どうぞお楽しみに。
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes