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


10

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

ローカルの監視にGlanceを使用できることを理解していますが、コンソールで常に情報を見ているわけではありません。通常の/重要な値を超えて通知を受けるリソースを通知するメール通知が必要です。

これを可能にする方法を誰かが知っていますか?


netdataは、要件に最適です。
luv.preet 2017

回答:


13

簡単なツールのリストを紹介しますが、私は慣れているNagiosを個人的に勧めます。大きなユーザーベース、プラグインの優れたコレクションなどが付属していますが、Icingaについても良いことを聞いています。

NagiosまたはIcingaのセットアップは、既存のすべてのサービスをカバー/監視する完全に機能するセットアップができるまで時間がかかることに注意してください。最初はそれほど簡単ではない可能性が高いですが、いったん機能するようになると、状態が変化してレポート可能/クリティカルとして定義された何かが発生した場合に、定義されたすべてのサービスを通知する素敵な設定になります

プロジェクト名とリンク

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

クライアントとサーバーの設定

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

  • 喫煙(機能的に制限あり)

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

詳しくは

Nagiosについて

ウィキペディアの書き込み

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

画像の例-いくつかのビューのうちの1つを示しています。

ここに画像の説明を入力してください

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

Muninについて

ウィキペディアの書き込み

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

画像の例

ここに画像の説明を入力してください

Icingaについて

ウィキペディアの書き込み

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

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

複数のビューの1つを示す画像の例:

ここに画像の説明を入力してください

Spiceworksについて

ウィキペディアは書いています:

Spiceworksは、テキサス州オースティンに本社を置く情報技術(IT)業界向けのプロフェッショナルネットワークです。同社は、2006年1月にIT管理ソフトウェアを構築するためにスコットアベル、ジェイホールバーグ、グレッグカタワール、フランシスサリバンによって設立されました。

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

モニターについて

ウィキペディアの書き込み

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

サボテンについて

ウィキペディアは書いています:

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はいくつかの監視オプションを提供しています


3

いくつかのソリューションを使用できます。それらの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 admin@domain.com but not on { instance, pid, ppid } #does not send alert on pid changes
#set alert admin@domain.com 

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

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

sudo monit status

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

適切な/etc/monit/monitrcファイルを備えた作業中の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

このコードはMonit、上記の条件のいずれか(たとえば、平均負荷が>4少なくとも1分間であるか、75% RAM満杯である場合)が満たされたときに電子メールアラートを送信します。上記のルールは自由にカスタマイズできます。以下は、アラートの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によるストレージの監視

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

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サーバーを監視する

でApacheサーバーの監視を設定するにMonitは、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ファイルが存在しない場合は、MonitApacheの再起動を試みます。再起動すると、電子メールアラートがトリガーされます。再起動が複数回失敗すると、MonitはApacheサーバーの監視を停止します。

...


2

あなたも見て持つことができアシカあなたはまた、CPU使用率、メモリなどのためにカスタマイズされたアラートを設定することができますが、あなたもだけでなく、それらのために、独自の評価指標とのconfigure通知を追加することができます。また、コマンドを特定の間隔で実行するようにスケジュールし、その出力をタイムライン表示で確認することもできます。詳細については、こちらをご覧ください


1

上記のツールはすべて、電子メールの生成に最適です。ダッシュボードに一日中座って見たくないので、毎日監視するために電子メールを受け取ることを好みます。問題は、電子メールが殺到し、何かがうまくいかない場合にのみ関心があるということです。また、何らかの理由で電子メールが配信されておらず、すべてが正常に機能していると思われる場合はどうすればわかりますか。

私は長い間検索し、レポートの電子メールを読んで、アクションを起こす必要があるときに警告する2つの製品を見つけました。

  1. PRTGメールフィルターを設定して、特定の単語を含む電子メールを検索できます。やや複雑でした。
  2. wwww.smtpviewer.comと呼ばれるオンラインツールが実際に機能します。さらに、監視対象のデバイスからの電子メールが一定時間届かないときに警告するタイムアウト設定があります。

多くのメールクライアントには、メールのフィルタリング、並べ替え、タグ付けなどの機能が備わっています。そのため、このための外部ソリューションの必要性は本当にわかりません。たとえば、これを行うためにThunderbirdのフィルターを何年も使用しています。メールサーバーがサポートしている場合は、Sieveスクリプトを使用して、メールをサーバーで直接フィルタリング、並べ替え、タグ付けなどを行うこともできます。
Henning Kockerbeck

0

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

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


-1商用パッケージ...
Fabby

0

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

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


0

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


これは質問に答えていないようです。質問に答えるには、これを言い換えるか、この回答を削除するか、コメントに移動してください。ありがとうございました。AskUbuntuへようこそ。
zwork 2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.