web-dev-qa-db-ja.com

電子メール通知によるシステム監視

現在、Ubuntu Server 16.04 LTSを所有していますが、サーバー上のリソース使用量に関する情報を含む電子メール通知を受信できるようにしたいと考えています。 CPU、メモリ、スワップ、名前を付けます。

ローカルモニタリングにGlanceを使用できることは理解していますが、コンソールで常に情報を確認することはありません。通常/重大な値を超えて通知を受けるリソースを通知する電子メール通知が必要です。

誰でも私がこれを行うことができる方法を知っていますか?

9
SergeantSerk

私はあなたにツールの小さなリストを提供します-私は個人的にNagiosをお勧めします大きなユーザーベース、プラグインの良いコレクションなどが付属していますが、Icingaについても良いことを聞いています。

NagiosまたはIcingaのセットアップには時間がかかることに注意してください既存のすべてのサービスをカバー/監視する完全に機能するセットアップがあります。開始はそれほど簡単ではない可能性が高いですが、一度動作するようになると、状態が変化した場合に定義済みのすべてのサービスに通知する素敵なセットアップであるため、報告可能/クリティカルとして定義されている何か

プロジェクト名とリンク

まず第一に-簡単な概要:

クライアントとサーバーのセットアップ

その他の興味深いソフトウェア

  • 喫煙 (機能的に制限されます)

単一ホストのセットアップ

詳しくは

Nagiosについて

Wikipedia 書き込み

Nagios/ˈnɑːɡiːoʊs /(現在Nagios Coreとして知られています)は、システム、ネットワーク、インフラストラクチャを監視する無料のオープンソースのコンピューターソフトウェアアプリケーションです。 Nagiosは、サーバー、スイッチ、アプリケーション、およびサービスの監視および警告サービスを提供しています。問題が発生した場合はユーザーに警告し、問題が解決したら再度警告します。

サンプル画像-所有しているいくつかのビューの1つを表示:

enter image description here

Nagiosのインストール方法 に関する良いAskUbuntuの投稿を以下に示します。 Nagios Exchange は、プラグイン、アドオン、ドキュメント、拡張機能などの膨大なコレクションを提供します。

Muninについて

Wikipedia 書き込み

Muninは、無料でオープンソースのコンピューターシステム監視、ネットワーク監視、およびインフラ監視ソフトウェアアプリケーションです。サーバー、スイッチ、アプリケーション、サービスなどの監視および警告サービスを提供します。問題が発生した場合はユーザーに警告し、問題が解決したら再度警告します

サンプル画像

enter image description here

Icingaについて

Wikipedia 書き込み

Icingaは、オープンソースのコンピューターシステムおよびネットワーク監視アプリケーションです。元々、2009年にNagiosシステム監視アプリケーションのフォークとして作成されました。

Icingaは、Nagiosの開発プロセスで過去に認識されていた欠点を取得しようとしているだけでなく、最新のWeb 2.0スタイルのユーザーインターフェイス、追加のデータベースコネクター(MySQL、Oracle、PostgreSQL用)、およびREST Icingaコアを複雑に変更することなく、管理者が多数の拡張機能を統合できるAPI。

いくつかのビューの1つを示す画像の例:

enter image description here

Spiceworksについて

Wikipedia 書き込み:

Spiceworksは、テキサス州オースティンに本社を置く情報技術(IT)業界向けのプロフェッショナルネットワークです。同社は、IT管理ソフトウェアを構築するために、2006年1月にScott Abel、Jay Hallberg、Greg Kattawar、およびFrancis Sullivanによって設立されました。

Spiceworksは、ユーザーが共同でアドバイスを求めたり、市場に参加してIT関連のサービスや製品を購入したりできるオンラインコミュニティです。このネットワークは、600万人以上のIT専門家と3,000の技術ベンダーによって使用されると推定されています。

Monitについて

Wikipedia 書き込み

Monitは、UnixおよびLinux用の無料のオープンソースプロセス監視ツールです。 Monitを使用すると、コマンドラインから直接、またはネイティブHTTP(S)Webサーバー経由でシステムステータスを表示できます。 MonitはRuby上のRailsとMongrel Webサーバーで人気を博しました。サポートが必要な多くの同一のMongrelプロセスを管理できるツールが必要だったためです。 RubyサイトのスケーラブルなRailsと、MonitはRubyコミュニティのRailsのニーズに非常に適しています。 Twitterやscribdなど、多くの人気のRailsサイトでMonitが使用されています。

Cactiについて

Wikipedia 書き込み:

Cactiは、オープンソースの業界標準のデータロギングツールRRDtoolのフロントエンドアプリケーションとして設計された、オープンソースのWebベースのネットワーク監視およびグラフ作成ツールです。 Cactiを使用すると、ユーザーは所定の間隔でサービスをポーリングし、結果のデータをグラフ化できます。通常、CPU負荷やネットワーク帯域幅の使用率などのメトリックの時系列データをグラフ化するために使用されます。一般的な使用法は、簡易ネットワーク管理プロトコル(SNMP)を介してネットワークスイッチまたはルーターインターフェイスをポーリングすることにより、ネットワークトラフィックを監視することです。

フロントエンドは、それぞれ独自のグラフセットを持つ複数のユーザーを処理できるため、Webホスティングプロバイダー(特に専用サーバー、仮想プライベートサーバー、コロケーションプロバイダー)が顧客の帯域幅統計を表示するために使用することがあります。データ収集自体の構成に使用でき、RRDtoolを手動で構成しなくても特定のセットアップを監視できます。 Cactiは、シェルスクリプトおよび実行可能ファイルを介して任意のソースを監視するように拡張できます。

Zabbixについて

Wikpedia 書き込み:

Zabbixは、ネットワークおよびアプリケーション向けのエンタープライズオープンソース監視ソフトウェアで、Alexei Vladishevによって作成されました。さまざまなネットワークサービス、サーバー、およびその他のネットワークハードウェアの状態を監視および追跡するように設計されています。

Zabbixは、MySQL、PostgreSQL、SQLite、OracleまたはIBM DB2を使用してデータを保存します。そのバックエンドはCで記述され、WebフロントエンドはPHPで記述されています。 Zabbixにはいくつかの監視オプションがあります

12
dufte

複数のソリューションを使用できます。それらの1つはmonitです。

コマンドラインから、次のコマンドを実行するだけです。

Sudo apt-get install monit

これで、Monitがインストールされ、次のURLのいずれかからアクセスできるようになります。

http://localhost:2812
http://IPADDRESS:2812 (local network IP)
http://domain.com:2812 (if you have domain name pointing to your server)

モニター構成

自動サーバー監視にMonitの使用を開始する前に、いくつかの基本的な構成を行う必要があります。最初に、次のコマンドを使用して既存のデフォルトMonit構成をバックアップします。

Sudo mv /etc/monit/monitrc /etc/monit/monitrc.bak

次に、コマンドを使用して新しいmonitrcファイルを作成します

Sudo /etc/monit/monitrc 

次の内容をコピーします。

# How often in seconds should monit check your services.
set daemon 120

set logfile /var/log/monit.log
set idfile /var/lib/monit/id
set statefile /var/lib/monit/state

# Configure your SMTP out server. 
set mailserver smtp-server.columbus.rr.com port 25,localhost

set eventqueue
    basedir /var/lib/monit/events # set the base directory where events will be stored
    # optionally limit the queue size
    slots 100 

# Use one of the following 2 lines. The second line alerts on every little change and can be annoying.
set alert [email protected] but not on { instance, pid, ppid } #does not send alert on pid changes
#set alert [email protected] 

set httpd port 2812 and
    #Change username and password
    allow Username:Password
    # To enable SSL for WebUI uncomment the next 2 lines
    #ssl enable
    #pemfile /path/to/unified/certificate.pem
    # To restrict access to localhost only uncomment the following line
    #allow localhost

include /etc/monit/conf.d/*

#で始まる行は、構成のカスタマイズに役立つコメントです。少なくとも管理者のメール、SMTPサーバー、SMTPポートが正しく設定されていることを確認してください。 Monit WebUIのユーザー名とパスワードの変更も検討する必要があります。 SSL証明書がある場合は、HTTPSアクセスに対しても有効にすることができます

今のところ、次のコマンドを使用して、Monitが正常に機能していることを確認してください。

Monit構成の構文エラーをテストするには:

Sudo monit -t

Monitを開始するには:

Sudo monit

Monitステータスを確認するには:

Sudo monit status

Monitによるシステム負荷監視

適切な/etc/monit/monitrcファイルを備えた稼働中のMonitインスタンスが必要です。さまざまなサービスのMonit構成は、/etc/monit/conf.dフォルダーからロードされます。 Monitを使用してサーバーの負荷を監視するには、次のコマンドを使用してMonit構成ファイルを作成します。

Sudo /etc/monit/conf.d/systemload

以下の内容をコピーして保存し、終了します

# domain.com could be IP, hostname, or localhost
check System domain.com
    if loadavg (1min) > 4 then alert
    if loadavg (5min) > 2 then alert
    if memory usage > 75% then alert
    if swap usage > 25% then alert
    if cpu usage (user) > 80% then alert
    if cpu usage (system) > 30% then alert
    if cpu usage (wait) > 20% then alert

このコードは、上記の条件のいずれか(たとえば、少なくとも1分間の平均負荷が>4である場合、または75% RAMを超えている場合)が満たされると、Monitから電子メールアラートを送信します。 。上記のルールは自由にカスタマイズできます。以下は、Monitから送信された電子メールアラートの例と、アラートの原因となった条件の説明です。

Monitのテストとリロード

変更したら、Monit構成をテストする必要があります。

Sudo monit -t

次のメッセージが表示されるはずです:Control File Syntax OK.

次に、次のコマンドを使用して、Monitが既に実行されているかどうかを確認します。

Sudo /etc/init.d/monit status

Monitが実行されている場合、次のコマンドを使用してMonit構成を再読み込みします。

Sudo /etc/init.d/monit reload

次に、Webブラウザーを起動し、Monitの構成方法に応じて次のURLのいずれかにアクセスします(正しいポート番号を使用してください)。

http://localhost:2812
http://IPADDRESS:2812 (local network IP)
http://domain.com:2812 (if you have domain name pointing to your server)

システムステータス、負荷、CPU負荷、メモリ負荷、およびスワップ負荷が表示されるはずです。

Monitによるストレージモニタリング

次に、適切な/etc/monit/monitrcファイルを持つMonitインスタンスが動作している必要があります。 Monitさまざまなサービスの構成は、/etc/monit/conf.dフォルダーからロードされます。次のコマンドを使用して、Monit, create aMonit`構成ファイルを使用してドライブスペースを監視します。

Sudo /etc/monit/conf.d/storagespace

以下の内容をコピーして保存し、終了します

# add each drive you want to monitor below
check filesystem Ubuntu with path /dev/sda1
    if space usage > 90% then alert
check filesystem Home with path /dev/sda3
    if space usage > 90% then alert
check filesystem Media with path /dev/sdb1
    if space usage > 90% then alert

上記のコードは、2つのドライブの3つのパーティションのハードドライブ領域を監視します。それらのいずれかが90%以上満たされている場合、アラートが発生します。

また、特定のサービスを監視できます。

MonitでApacheサーバーを監視する

Monitを使用したApacheサーバー監視の設定は、Monit’s事前作成された設定テンプレートを使用します。必要な作業は、既存のテンプレートを/etc/monit/monitrc.dから/etc/monit/conf.dフォルダーにコピーするだけです。

Sudo cp /etc/monit/monitrc.d/Apache2 /etc/monit/conf.d/

コピーする代わりに、シンボリックリンクを作成することもできます。 Apache WebサーバープロセスはApache2.pidを作成します。上記のコードはApache2.pidファイルを監視し、存在しない場合、MonitはApacheの再起動を試みます。再起動すると、電子メールアラートがトリガーされます。再起動が複数回失敗すると、MonitはApacheサーバーの監視を停止します。

...

2
2707974

SeaLionを確認することもできますそれらの通知も。また、コマンドをスケジュールして特定の間隔で実行し、タイムライン表示で出力を確認できます。詳細については、こちらを参照してください こちら

2
Araknid

上記のツールはすべて、電子メールの生成に最適です。私は一日中ダッシュボードを座って見たくないので、毎日の監視のために電子メールを受け取ることを好みます。問題は、あなたが電子メールであふれ、あなたが何かがうまくいかないときだけに興味があるということです。また、何らかの理由で電子メールが配信されず、すべてが正常に機能していると思うかどうかをどのように確認しますか。

私は長い間検索しましたが、レポートの電子メールを読み、行動を起こす必要があるときに警告することができる2つの製品に出会いました。

  1. PRTGでは、特定の単語を含む電子メールを検索するメールフィルターを設定できます。少し複雑でした。
  2. Wwww.smtpviewer.comと呼ばれるオンラインツールが実際にジョブを実行します。さらに、監視対象デバイスからの電子メールが設定された時間内に到着しない場合に警告するタイムアウト設定があります。
1
John Grobbelaar

私が理解していることから、あなたの必要は非常に基本的です。特定のキーワードの電子メールコンテンツをテキスト検索し、そのことが発生したときに通知を受け取りたいと考えています。したがって、たとえば、メールにWordの失敗が含まれている場合にのみ、通知が必要であり、成功が含まれている場合には通知されません。また、John Grobbelaarが言及したwww.smtpviewer.comを使用して通知を受け取ります。オンラインツールを使用する利点は、予想される電子メールが届かない場合にいつでも通知できることです。私がこれで遊んだすべてのメール監視ツールから、これは最も単純で、この1つのことだけを行います。

0
Dirk Hemmingway

私の学校では、教師がサーバーの監視、アプリケーション、さらにはネットワークまでをカバーする監視ソリューションであるPandora FMSのトレーニングを行いました!

当時はZabbixとNagiosしか知らなかったので、このソリューションについて聞いたことがありませんでしたが、追加機能が提供されているため、今ではプロジェクトをベースにしています。サーバー監視部分は本当に成熟しており、私の意見では、できるだけ簡単に構成してパフォーマンス統計を取得することができます: http://pandorafms.com/monitoring-solutions/server-monitoring/

0
rawmal

箱から出してすぐに望むことを正確に行うわけではありませんが、logwatchは非常に便利でありながらシンプルなツールであることがわかりました。

/var/logディレクトリで発生したすべてのイベントの毎日の要約と、現在のディスク容量などのその他の重要なシステム情報を提供します。足りないものは簡単に追加できます(たとえば、特定のデーモンがまだ実行されていることを確認するスクリプトを追加しました)。

0
Darren