GNU/Linux >> Linux の 問題 >  >> Debian

Debian 9 /Ubuntu16.04にMonitをインストールして使用する方法

監視 Linuxオペレーティングシステム用のオープンソースのプロアクティブな監視ツールであり、Webブラウザを使用してシステムプロセスを監視し、必要に応じて特定のプロセスのメンテナンスまたは修復(つまり、サービスの再起動)を自動的に実行するのに役立ちます。オンラインに戻すことができます。

Monitは、アクセス許可の変更、タイムスタンプの変更、サイズの変更、およびチェックサムの変更について、プログラム、ファイル、ディレクトリ、およびデバイスをプロアクティブに管理および監視するためにも使用できます。さまざまなプロトコルチェック、TCP / IPネットワークチェックを実行することに限定されず、そのようなチェックにSSLを利用できます。

ログファイルに記録し、カスタマイズ可能なメッセージを介してユーザーに通知します。このガイドは、 Debian 9でMonitを設定するのに役立ちます。 / Ubuntu 16.04

このガイドは、以前のバージョンの Debianでも機能するはずです。 およびUbuntu Debian 8など 、 Ubuntu 14.04 、および現在のバージョンのUbuntu、つまりUbuntu 17.04

Monitのインストール:

MonitはDebianで利用できます およびUbuntu リポジトリなので、「 apt-get」を使用するだけです。 」をインストールします。

$ sudo apt-get -y install monit

出力:

Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
  sysvinit-core
The following NEW packages will be installed:
  monit
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 309 kB of archives.
After this operation, 915 kB of additional disk space will be used.
Get:1 http://deb.debian.org/debian stretch/main amd64 monit amd64 1:5.20.0-6 [30                                                                                                             9 kB]
Fetched 309 kB in 2s (150 kB/s)
Selecting previously unselected package monit.
(Reading database ... 124586 files and directories currently installed.)
Preparing to unpack .../monit_1%3a5.20.0-6_amd64.deb ...
Unpacking monit (1:5.20.0-6) ...
Setting up monit (1:5.20.0-6) ...
Processing triggers for systemd (232-25) ...
Processing triggers for man-db (2.7.6.1-2) ...

Control Monitサービス:

Monitサービスを開始するには、次を実行します:

$ sudo systemctl start monit

Monitを停止するには、次を実行します:

$ sudo systemctl stop monit

Monitを再起動するには、次のコマンドを実行します:

$ sudo systemctl restart monit

Monitのステータスを確認するには、次のコマンドを実行します。

$ sudo systemctl status monit

出力:

 monit.service - LSB: service and resource monitoring daemon
   Loaded: loaded (/etc/init.d/monit; generated; vendor preset: enabled)
   Active: active (running) since Tue 2017-06-27 22:36:53 EDT; 9min ago
     Docs: man:systemd-sysv-generator(8)
   CGroup: /system.slice/monit.service
           └─1094 /usr/bin/monit -c /etc/monit/monitrc

Jun 27 22:36:53 server systemd[1]: Starting LSB: service and resource monitoring daemon...
Jun 27 22:36:53 server monit[1087]: Starting daemon monitor: monit.
Jun 27 22:36:53 server systemd[1]: Started LSB: service and resource monitoring daemon.

起動時にMonitサービスを有効にするには、次のコマンドを実行します:

$ sudo systemctl enable monit

Monitの構成:

/etc / monit / monitrc 」はMonitのメイン構成ファイルであり、プロセス/サービスの追加の構成ファイルは通常「 / etc / monit / conf-available」に配置されます。 」および「/etc / monit / conf-enabled

メインの構成ファイルを編集して、要件を満たすようにMonitの重要なパラメーターを構成します。

$ sudo nano /etc/monit/monitrc

サービスチェックの時間間隔を変更する場合は、以下の値を編集してください。

set daemon 120

Monitによって生成されたアラートを中継するためのメールサーバー情報を設定します。

set mailserver mx.itzgeek.local port 25

障害/イベントが発生した場合にアラートを受け取るメールアドレスを指定します。

set alert [email protected]

特定のイベントのアラートメールのみが必要な場合は、次のようにします。

例:「タイムアウト」でのみアラートを送信 」と「pingに失敗しました 」イベント。

set alert [email protected] only on { timeout, icmp }

イベントをフィルタリングする方法を確認してください 。

デフォルトでは、Monitは、サービスが失敗した場合は1つの通知のみを送信し、サービスが回復した場合は別の通知を送信します。 「N」ごとにアラートを受け取りたい場合 」サービスが失敗状態のままである場合はサイクルします。例、4番目のサイクル。

alert [email protected] with reminder on 4 cycles

Monit Webインターフェイスを有効にする:

Monitには、ステータスサービスを表示し、Webブラウザを介してそれらを管理するための組み込みのWebインターフェイスも付属しています。デフォルトでは、MonitWebインターフェイスは無効になっています。有効にするには、Monit構成ファイル「 / etc / monit / monitrc」を編集します 「。

$ sudo nano /etc/monit/monitrc

sethttpd port 2812」を探します 」行を入力し、次のエントリを変更します。

FROM

# set httpd port 2812 and
# use address localhost # only accept connection from localhost
# allow localhost # allow localhost to connect to the server and
# allow admin:monit # require user 'admin' with password 'monit'
>

TO

set httpd port 2812 and
allow admin:monit # require user 'admin' with password 'monit'

Monitサービスを再起動します。

$ sudo systemctl restart monit

Monitサービスがすべてのインターフェースで正しくリッスンしているかどうかを確認してください。

$ sudo netstat -antup | grep -i monit

出力:

tcp 0 0 0.0.0.0:2812 0.0.0.0:* LISTEN 1615/monit
tcp6 0 0 :::2812 :::* LISTEN 1615/monit

上記により、Monitは「ポート2812」でリッスンするように設定されます 」すべてのインターフェースで。

Access Monit Webインターフェイス:

以下のURLを使用してWebインターフェースにアクセスし、ユーザー名を「 admin」として使用する必要があります。 」と「monit」としてのパスワード 」をクリックして、Monitのウェブインターフェースにアクセスします。 Monitのホームページは次のようになります。

http:// your-ip-address:2812

サーバー」をクリックします 」を参照して、Monitの詳細情報を確認してください。

Monitのコマンドラインを使用して、Monitのステータスを確認することもできます。

$ sudo monit status

出力:

Monit 5.20.0 uptime: 6m

System 'server'
 status Running
 monitoring status Monitored
 monitoring mode active
 on reboot start
 load average [0.16] [0.12] [0.17]
 cpu 1.4%us 0.1%sy 0.1%wa
 memory usage 509.4 MB [25.4%]
 swap usage 0 B [0.0%]
 uptime 15m
 boot time Wed, 28 Jun 2017 07:46:33
 data collected Wed, 28 Jun 2017 08:00:45

監視用のサービスを構成します:

これで、監視する他のサービスを監視するようにMonitを構成する準備が整いました。構成ファイルは「/etc / monit / conf-enabled /」の下に配置できます。 」ディレクトリ。

FTPサービス用にMonitを構成する:

何らかの理由でFTPが停止したときに起動するようにMonitを構成します。 「proftpd」という設定ファイルを作成します 「。

$ sudo nano /etc/monit/conf-available/proftpd

上記のファイルに次の設定を追加します。

check process proftpd with pidfile /var/run/proftpd.pid
   start program = "/etc/init.d/proftpd start"
   stop  program = "/etc/init.d/proftpd stop"
if failed port 21 protocol ftp then restart

/etc / monit / conf-enabled /」にシンボリックリンクする構成ファイルを有効にします 」ディレクトリ。

$ sudo ln -s /etc/monit/conf-available/proftpd /etc/monit/conf-enabled/

Monit構文を確認します。

$ sudo monit -t

出力:

Control file syntax OK

Monitサービスをリロードして、変更を有効にします。

$ sudo systemctl reload monit

新しいサービスがウェブインターフェースで表示されるかどうかを確認してください。

サービス名「proftpd」をクリックします 」を参照して、サービスの詳細情報を確認してください。

事前定義されたテンプレート:

Monitには、一部のプロセスおよびサービス用の事前定義された構成テンプレートも付属しています。テンプレートは「/etc / monit / conf-available /」にあります。 「」、「 / etc / monit / conf-enabled /」にシンボリックリンクするだけで有効にできます 」ディレクトリ。

$ sudo ls -al /etc/monit/conf-available/

出力:(事前定義されたテンプレートのリスト)

drwxr-xr-x 2 root root 4096 Jun 27 22:36 .
drwxr-xr-x 6 root root 4096 Jun 28 07:54 ..
-rw-r--r-- 1 root root 481 Jan 11 08:48 acpid
-rw-r--r-- 1 root root 640 Jan 11 08:48 apache2
-rw-r--r-- 1 root root 455 Jan 11 08:48 at
-rw-r--r-- 1 root root 691 Jan 11 08:48 cron
-rw-r--r-- 1 root root 602 Jan 11 08:48 mdadm
-rw-r--r-- 1 root root 669 Jan 11 08:48 memcached
-rw-r--r-- 1 root root 703 Jan 11 08:48 mysql
-rw-r--r-- 1 root root 521 Jan 11 08:48 nginx
-rw-r--r-- 1 root root 471 Jan 11 08:48 openntpd
-rw-r--r-- 1 root root 950 Jan 11 08:48 openssh-server
-rw-r--r-- 1 root root 683 Jan 11 08:48 pdns-recursor
-rw-r--r-- 1 root root 1421 Jan 11 08:48 postfix
-rw-r--r-- 1 root root 869 Jan 11 08:48 rsyslog
-rw-r--r-- 1 root root 501 Jan 11 08:48 smartmontools
-rw-r--r-- 1 root root 306 Jan 11 08:48 snmpd
 

テンプレートを使用してrsyslog用にMonitを構成します:

たとえば、Monitが提供する事前定義されたテンプレートを使用してapache2サービスを監視しましょう。テンプレートを「/etc / monit / conf-enabled /」にシンボリックリンクします 」ディレクトリ。

$ sudo ln -s /etc/monit/conf-available/apache2 /etc/monit/conf-enabled/
 

Monitサービスをリロードして、変更を有効にします。

$ sudo systemctl reload monit

Webインターフェイスにアクセスします。テンプレートを使用して構成した新しいサービスが見つかります。

モニタリングのテスト:

サービスまたはプロセスが理由もなく停止した場合のMonitのアクションをテストしてみましょう。例:「 proftpd 」デーモン。

$ sudo systemctl stop proftpd

60秒間待つと、Monitは「 proftpd」を開始します 」サービスを自動的に。同じものをMonitログで見つけることができます。

$ sudo tailf /var/log/monit.log

出力:

[EDT Jun 29 01:35:43] error    : 'proftpd' process is not running
[EDT Jun 29 01:35:43] info     : 'proftpd' trying to restart
[EDT Jun 29 01:35:43] info     : 'proftpd' start: '/etc/init.d/proftpd start'

それで全部です。 Debian 9でMonitを正常に設定しました / Ubuntu 16.04 。フィードバックをお待ちしております。貴重なコメントを以下に投稿してください。


Debian
  1. Debian11にAnsibleをインストールして使用する方法

  2. Debian11にNVMをインストールして使用する方法

  3. Ubuntu / DebianにMonit(プロセスとサービスの監視)をインストールする方法

  1. Debianバックポートをインストールして使用する方法

  2. Debian10にPHPComposerをインストールして使用する方法

  3. Debian9にDockerをインストールして使用する方法

  1. Debian9にDockerComposeをインストールして使用する方法

  2. Debian9にPHPComposerをインストールして使用する方法

  3. Debian9にFFmpegをインストールして使用する方法