私のサーバーが「何を」しているのかを簡単に知る方法はありますか?

私のサーバーが「何を」しているのかを簡単に知る方法はありますか?

ネットワーク容量を増やすために一部のLinuxサーバーにアクセスできました。今、単に実行してtop何が実行されているかを確認するよりも、サーバーを確認する方法がもっとあるかどうか疑問に思います。

SSHを介してログインしたときに良い概要を得るには、どのサービスとデーモンが実行されているのか、そして何をしているのかを簡単に説明するための便利な方法はありますか?

答え1

より多くのグラフィック出力を得るには、htop代わりに使用することを検討できます。top

その後、lsof -p <pid>ネットワークファイルを含むサービスで開いているファイルを確認できます。 lsofさまざまなオプションがありますので、お問い合わせくださいman 8 lsof

その後、このツールを使用して現在のネットワーク接続を表示できます。iptopツールは、サーバーが接続されているリモートコンピュータの識別されたIPアドレス、またはそのドメイン名の表示など、さまざまなオプションを提供します。

monitorixシステムの負荷と使用平均、メモリ割り当て、ディスクドライブの状態、システムサービス、ネットワークポート、およびメール統計を表示します。

安全上の問題が気になる場合は、スリカタエンジン「リアルタイム侵入検知(IDS)、インライン侵入防止(IPS)、ネットワークセキュリティ監視(NSM)、およびオフラインPCAP処理が可能です。」無料でオープンソースです。

コンピュータのほとんどすべてを監視する完全なツールの場合は、次のものがあります。集めるは、CPU使用率、メモリ、ネットワーク、inode、プロセス、nfs、tcp、ソケットなどのLinuxシステムリソースに関する情報を監視および収集するための完全なツールです。フランス語では、これらのツールのために「迷路システム」に翻訳される「usine à gaz」という表現を使用していますが、非常に効果的なようです。

答え2

サーバーがどのサービスを提供しているかを知りたい場合は、すべての受信TCP / UDPポートを確認する必要があります。

netstat -ltu  

lはリスニングを意味します。
t は tcp を意味します。
u は udp を意味します。

また、起動時にどのサービスが起動するかを確認してください。

service --status-all

そしてsystemdを使う

systemctl list-units

答え3

私の最初のコマンドは

>netstat -lpunt

プロセスIDとプログラム名とともに、すべてのリスニングポートが一覧表示されます。

tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      18637/mysqld

ああ、見てください。 mysqlを実行しています。定義されたデータベース名を表示します。

tcp6       0      0 :::8084                 :::*                    LISTEN      18034/java

Java。おそらくトムキャットかもしれません...

>ps ax | grep 18034
18034 ?        Ssl    0:34 /usr/lib/jvm/jre/bin/java -classpath /usr/share/tomcat/bin/bootstrap.jar:/usr/share/tomca

はい。 /usr/share/tomcatをチェックして、どの.warファイルがあるかを確認してください。

tcp6       0      0 :::80                   :::*                    LISTEN      20336/httpd

Apache。サイト定義ファイルを見つけます。

...など。通常、サーバーはIP経由でサービスを公開するため、リスニングソケットが良い出発点になります。

マシンが「使用中」の場合、

iotop -o -d 10

どのプロセスが実際にディスクを台無しにしているかを示します。

関連情報