Pythonによる検査システム(solaris)の実装例
Python + シェルで書かれた、シンプルな Solaris システム検査プログラムです
#!/usr/bin/python -u
#- *- コーディング :utf-8 -*-
'''
プログラム:solaris_status.py
作成者: gyh9711
関数:
システムステータス情報を取得する
言語:
sh + Python
注:
一部の呼び出しコマンドには root 権限が必要です
テスト状況:
システム バージョン: Solaris10 システム テスト OK
テスト サーバー モデル: sun 6900 6800 v445 v440 M3000 M5000
内容:
'''
インポート時間
import sys
import os
import re
# import pprint
def getNow():
return time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())
def put(混乱、_type="print"):
if _type == "log":
sys.stdout.write("[%s] %sn" % (getNow(),mess))
else:
sys.stdout.write ("%sn" % mess)
#pprint.pprint(mess)
def getCommand(cmd):
return [t.rstrip() for t in os.popen(cmd). readlines()]
# システムステータス情報を渡します:
#システムの基本的な状況
puts("="*60)
puts("チェック時間 %s" % getNow())
puts("-"*60)
puts( "n基本システム情報")
for i in getCommand("showrev"):
puts(i)
puts("="*60)
puts("n")
puts("ホスト名: %s " % getCommand("ホスト名")[0])
puts("プロセッサコア番号: %s " % getCommand("mpstat |awk 'END{print NR-1}' ")[0])
puts("システム負荷: %s " % getCommand("稼働時間")[0])
puts("システムプロセス数: %s " % getCommand("ps -ef |wc -l")[0])
puts("ユーザー実行プロセスのステータス")
psAll = getCommand('''ps -ef |awk '{print $1}' |sort |uniq -c | grep -v "UID"''')
puts("n%s%s" %("ユーザー".ljust(20),"プロセス数".ljust(10)))
puts( " -"*60)
for i in psAll:
_user = re.split(r"s+",i)[1:]
#print _user
put("%s%s " %(_user[1].ljust(20),_user[0].ljust(10)))
puts("-"*60)
puts("n")
puts("%s%s%s"%("="*30,"ステータス情報","="*30))
puts("n" )
puts("プロセッサ使用量: %s %%" % getCommand("vmstat 1 2 |tail -1 |awk '{print 100-$22}'")[0])
puts(" メモリ使用量: %s %% 合計サイズ: %s [M]" % (getCommand(''vmstat 1 2 |tail -1 |awk '{printf("%d",$5/1024/MEMALL*100) ;}' MEMALL=`prtconf |grep -i "^memory" |awk '{print $3}''')[0],getCommand('''prtconf |grep -i "^memory" |awk '{ print $3} ''')[0]))
puts("スワップ使用量: %s" % (getCommand("swap -s")[0]))
puts("n")
puts( "%s%s%sn"%("="*30,"ディスク容量の使用量","="*30))
for i in getCommand(''''awk '{if($3 != "") {print $3}}' /etc/vfstab |egrep -v "mount|to|-" |xargs df -h' ' '):
puts(i)
puts("n%s%s%sn"%("="*30,"ネットワーク状況","="*30))
puts("ネットワーク インターフェイスのステータス")
for i in getCommand('''for i in `ifconfig -a |egrep "^{hme|qfe|ge|ce|eri|bge|nge |e1000g}" |cut -d: -f1`; do /sbin/dladm show-dev $i;ned'''):
puts(i)
puts("nネットワーク インターフェイスの IP とデータの入力と終了状況")
for i in getCommand("netstat -in"):
puts(i)
puts("n network Interface Traffic status")
for i in getCommand( ' ''ifconfig -a |egrep "^{hme|qfe|ge|ce|eri|bge|nge|e1000g}" の場合 |cut -d: -f1`; do netstat -I $i ; ' '):
puts(i)
puts("n ネットワーク ARP キャッシュ情報")
for i in getCommand("netstat -anp"):
puts(i)
puts ( "n")
puts("n ルーティング テーブルの状況")
for i in getCommand("netstat -rn"):
puts(i)
puts("n")
puts("n%s%s%sn"%("="*30,"メイン システム サービスとステータス [svcs]","="*30))
for i in getCommand('' 'svcs'''):
puts(i)
puts("n%s%s%sn"%("="*30,"サービス ハードウェア ステータス[prtdiag]","="*30 ))
for i in getCommand('''prtdiag -v'''):
put(i)
# puts(getCommand("showrev"))
#ハードウェアステータス情報
#puts(getCommand("prtdiag -v"))
#CPU 状況
#puts(getCommand("mpstat"))
#puts(getCommand("sar -u"))
#物理メモリ サイズ
#puts(getCommand('''/usr/sbin/prtdiag -v |grep "^Memory"'''))
#仮想メモリ
#puts(getCommand ('''vmstat 1 2'''))
#puts(getCommand('''swap -s'''))
#=================ディスク IO 状況=================
#puts( getCommand(''''iostat -xtc'''')) #

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

この記事では、Pythonライブラリである美しいスープを使用してHTMLを解析する方法について説明します。 find()、find_all()、select()、およびget_text()などの一般的な方法は、データ抽出、多様なHTML構造とエラーの処理、および代替案(SEL

この記事では、深い学習のためにTensorflowとPytorchを比較しています。 関連する手順、データの準備、モデルの構築、トレーニング、評価、展開について詳しく説明しています。 特に計算グラップに関して、フレームワーク間の重要な違い

Pythonの統計モジュールは、強力なデータ統計分析機能を提供して、生物統計やビジネス分析などのデータの全体的な特性を迅速に理解できるようにします。データポイントを1つずつ見る代わりに、平均や分散などの統計を見て、無視される可能性のある元のデータの傾向と機能を発見し、大きなデータセットをより簡単かつ効果的に比較してください。 このチュートリアルでは、平均を計算し、データセットの分散の程度を測定する方法を説明します。特に明記しない限り、このモジュールのすべての関数は、単に平均を合計するのではなく、平均()関数の計算をサポートします。 浮動小数点数も使用できます。 ランダムをインポートします インポート統計 fractiから

この記事では、numpy、pandas、matplotlib、scikit-learn、tensorflow、django、flask、and requestsなどの人気のあるPythonライブラリについて説明し、科学的コンピューティング、データ分析、視覚化、機械学習、Web開発、Hの使用について説明します。

この記事では、コマンドラインインターフェイス(CLI)の構築に関するPython開発者をガイドします。 Typer、Click、Argparseなどのライブラリを使用して、入力/出力の処理を強調し、CLIの使いやすさを改善するためのユーザーフレンドリーな設計パターンを促進することを詳述しています。

PythonのPandasライブラリを使用する場合、異なる構造を持つ2つのデータフレーム間で列全体をコピーする方法は一般的な問題です。 2つのデータがあるとします...

この記事では、Pythonにおける仮想環境の役割について説明し、プロジェクトの依存関係の管理と競合の回避に焦点を当てています。プロジェクト管理の改善と依存関係の問題を減らすための作成、アクティベーション、およびメリットを詳しく説明しています。
