現在、Ubuntu Server 16.04 LTSを所有していますが、サーバー上のリソース使用量に関する情報を含む電子メール通知を受信できるようにしたいと考えています。 CPU、メモリ、スワップ、名前を付けます。
ローカルモニタリングにGlanceを使用できることは理解していますが、コンソールで常に情報を確認することはありません。通常/重大な値を超えて通知を受けるリソースを通知する電子メール通知が必要です。
誰でも私がこれを行うことができる方法を知っていますか?
私はあなたにツールの小さなリストを提供します-私は個人的にNagiosをお勧めします大きなユーザーベース、プラグインの良いコレクションなどが付属していますが、Icingaについても良いことを聞いています。
NagiosまたはIcingaのセットアップには時間がかかることに注意してください既存のすべてのサービスをカバー/監視する完全に機能するセットアップがあります。開始はそれほど簡単ではない可能性が高いですが、一度動作するようになると、状態が変化した場合に定義済みのすべてのサービスに通知する素敵なセットアップであるため、報告可能/クリティカルとして定義されている何か
まず第一に-簡単な概要:
その他の興味深いソフトウェア
Wikipedia 書き込み
Nagios/ˈnɑːɡiːoʊs /(現在Nagios Coreとして知られています)は、システム、ネットワーク、インフラストラクチャを監視する無料のオープンソースのコンピューターソフトウェアアプリケーションです。 Nagiosは、サーバー、スイッチ、アプリケーション、およびサービスの監視および警告サービスを提供しています。問題が発生した場合はユーザーに警告し、問題が解決したら再度警告します。
サンプル画像-所有しているいくつかのビューの1つを表示:
Nagiosのインストール方法 に関する良いAskUbuntuの投稿を以下に示します。 Nagios Exchange は、プラグイン、アドオン、ドキュメント、拡張機能などの膨大なコレクションを提供します。
Wikipedia 書き込み
Muninは、無料でオープンソースのコンピューターシステム監視、ネットワーク監視、およびインフラ監視ソフトウェアアプリケーションです。サーバー、スイッチ、アプリケーション、サービスなどの監視および警告サービスを提供します。問題が発生した場合はユーザーに警告し、問題が解決したら再度警告します
サンプル画像
Wikipedia 書き込み
Icingaは、オープンソースのコンピューターシステムおよびネットワーク監視アプリケーションです。元々、2009年にNagiosシステム監視アプリケーションのフォークとして作成されました。
Icingaは、Nagiosの開発プロセスで過去に認識されていた欠点を取得しようとしているだけでなく、最新のWeb 2.0スタイルのユーザーインターフェイス、追加のデータベースコネクター(MySQL、Oracle、PostgreSQL用)、およびREST Icingaコアを複雑に変更することなく、管理者が多数の拡張機能を統合できるAPI。
いくつかのビューの1つを示す画像の例:
Wikipedia 書き込み:
Spiceworksは、テキサス州オースティンに本社を置く情報技術(IT)業界向けのプロフェッショナルネットワークです。同社は、IT管理ソフトウェアを構築するために、2006年1月にScott Abel、Jay Hallberg、Greg Kattawar、およびFrancis Sullivanによって設立されました。
Spiceworksは、ユーザーが共同でアドバイスを求めたり、市場に参加してIT関連のサービスや製品を購入したりできるオンラインコミュニティです。このネットワークは、600万人以上のIT専門家と3,000の技術ベンダーによって使用されると推定されています。
Wikipedia 書き込み
Monitは、UnixおよびLinux用の無料のオープンソースプロセス監視ツールです。 Monitを使用すると、コマンドラインから直接、またはネイティブHTTP(S)Webサーバー経由でシステムステータスを表示できます。 MonitはRuby上のRailsとMongrel Webサーバーで人気を博しました。サポートが必要な多くの同一のMongrelプロセスを管理できるツールが必要だったためです。 RubyサイトのスケーラブルなRailsと、MonitはRubyコミュニティのRailsのニーズに非常に適しています。 Twitterやscribdなど、多くの人気のRailsサイトでMonitが使用されています。
Wikipedia 書き込み:
Cactiは、オープンソースの業界標準のデータロギングツールRRDtoolのフロントエンドアプリケーションとして設計された、オープンソースのWebベースのネットワーク監視およびグラフ作成ツールです。 Cactiを使用すると、ユーザーは所定の間隔でサービスをポーリングし、結果のデータをグラフ化できます。通常、CPU負荷やネットワーク帯域幅の使用率などのメトリックの時系列データをグラフ化するために使用されます。一般的な使用法は、簡易ネットワーク管理プロトコル(SNMP)を介してネットワークスイッチまたはルーターインターフェイスをポーリングすることにより、ネットワークトラフィックを監視することです。
フロントエンドは、それぞれ独自のグラフセットを持つ複数のユーザーを処理できるため、Webホスティングプロバイダー(特に専用サーバー、仮想プライベートサーバー、コロケーションプロバイダー)が顧客の帯域幅統計を表示するために使用することがあります。データ収集自体の構成に使用でき、RRDtoolを手動で構成しなくても特定のセットアップを監視できます。 Cactiは、シェルスクリプトおよび実行可能ファイルを介して任意のソースを監視するように拡張できます。
Wikpedia 書き込み:
Zabbixは、ネットワークおよびアプリケーション向けのエンタープライズオープンソース監視ソフトウェアで、Alexei Vladishevによって作成されました。さまざまなネットワークサービス、サーバー、およびその他のネットワークハードウェアの状態を監視および追跡するように設計されています。
Zabbixは、MySQL、PostgreSQL、SQLite、OracleまたはIBM DB2を使用してデータを保存します。そのバックエンドはCで記述され、WebフロントエンドはPHPで記述されています。 Zabbixにはいくつかの監視オプションがあります
複数のソリューションを使用できます。それらの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 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サーバーを監視する
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サーバーの監視を停止します。
...
SeaLionを確認することもできますそれらの通知も。また、コマンドをスケジュールして特定の間隔で実行し、タイムライン表示で出力を確認できます。詳細については、こちらを参照してください こちら 。
上記のツールはすべて、電子メールの生成に最適です。私は一日中ダッシュボードを座って見たくないので、毎日の監視のために電子メールを受け取ることを好みます。問題は、あなたが電子メールであふれ、あなたが何かがうまくいかないときだけに興味があるということです。また、何らかの理由で電子メールが配信されず、すべてが正常に機能していると思うかどうかをどのように確認しますか。
私は長い間検索しましたが、レポートの電子メールを読み、行動を起こす必要があるときに警告することができる2つの製品に出会いました。
私が理解していることから、あなたの必要は非常に基本的です。特定のキーワードの電子メールコンテンツをテキスト検索し、そのことが発生したときに通知を受け取りたいと考えています。したがって、たとえば、メールにWordの失敗が含まれている場合にのみ、通知が必要であり、成功が含まれている場合には通知されません。また、John Grobbelaarが言及したwww.smtpviewer.comを使用して通知を受け取ります。オンラインツールを使用する利点は、予想される電子メールが届かない場合にいつでも通知できることです。私がこれで遊んだすべてのメール監視ツールから、これは最も単純で、この1つのことだけを行います。
私の学校では、教師がサーバーの監視、アプリケーション、さらにはネットワークまでをカバーする監視ソリューションであるPandora FMSのトレーニングを行いました!
当時はZabbixとNagiosしか知らなかったので、このソリューションについて聞いたことがありませんでしたが、追加機能が提供されているため、今ではプロジェクトをベースにしています。サーバー監視部分は本当に成熟しており、私の意見では、できるだけ簡単に構成してパフォーマンス統計を取得することができます: http://pandorafms.com/monitoring-solutions/server-monitoring/
箱から出してすぐに望むことを正確に行うわけではありませんが、logwatch
は非常に便利でありながらシンプルなツールであることがわかりました。
/var/log
ディレクトリで発生したすべてのイベントの毎日の要約と、現在のディスク容量などのその他の重要なシステム情報を提供します。足りないものは簡単に追加できます(たとえば、特定のデーモンがまだ実行されていることを確認するスクリプトを追加しました)。