GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu16.04でのShinkenによるサーバー監視

真剣 は、Pythonで記述され、Nagiosと互換性のあるオープンソースのコンピューターおよびネットワーク監視フレームワークです。 Shinkenは、Linux、Unix、WindowsなどのPythonアプリケーションを実行できるすべてのオペレーティングシステムで使用できます。真剣はJeanGabesによって書かれました 新しいNagiosアーキテクチャの概念実証として使用されましたが、Nagiosの作成者によって却下され、Nagiosとの互換性を維持する独立したネットワークおよびシステム監視ツールになりました。

このチュートリアルでは、Shinkenをソースからインストールし、Linuxホストを監視システムに追加する方法を説明します。真剣サーバーと監視対象ホストのオペレーティングシステムとしてUbuntu16.04XenialXerusを使用します。

ステップ1-Shinkenサーバーをインストールする

真剣はPythonフレームワークであり、pipを使用してインストールすることも、ソースからインストールすることもできます。このステップでは、Shinkenをソースからインストールします。

真剣のインストールを開始する前に完了する必要のあるタスクがいくつかあります。

新しいPythonパッケージをいくつかインストールし、「shinken」という名前のLinuxユーザーを作成します。

sudo apt-get install python-setuptools python-pip python-pycurl
useradd -m -s /bin/bash shinken

GitHubリポジトリからShinkenソースをダウンロードします:

git clone https://github.com/naparuba/shinken.git
cd shinken/

次に、以下のコマンドを使用してShinkenをインストールします。

git checkout 2.4.3
python setup.py install

次に、より良い結果を得るには、ubuntuリポジトリから「python-cherrypy3」をインストールする必要があります:

sudo apt-get install python-cherrypy3

これでShinkenがインストールされました。次に、Shinkenを追加して、起動時に開始し、開始します。

update-rc.d shinken defaults
systemctl start shinken

ステップ2-ShinkenWebui2をインストールする

Webui2は、shinken.ioから入手できるShinkenWebインターフェイスです。 Sshinken webui2をインストールする最も簡単な方法は、 shinkenを使用することです。 CLIコマンド(真剣ユーザーとして実行する必要があります)。

真剣ユーザーにログインします:

su - shinken

真剣構成ファイルを初期化する-このコマンドは、新しい構成.shinken.iniを作成します:

shinken --init

そして、次の真剣CLIコマンドを使用してwebui2をインストールします。

shinken install webui2

Webui2がインストールされていますが、MongoDBとpipを含む別のpythonパッケージをインストールする必要があります。ルートとして以下のコマンドを実行します:

sudo apt-get install mongodb
pip install pymongo>=3.0.3 requests arrow bottle==0.12.8

次に、shinkenディレクトリに移動し、「broker-master.cfg」ファイルを編集して新しいwebui2モジュールを追加します。

cd /etc/shinken/brokers/
vim broker-master.cfg

40行目のモジュール内に新しいオプションを追加します:

modules     webui2

ファイルを保存してエディタを終了します。

次に、contactsディレクトリに移動し、管理者設定のファイル「admin.cfg」を編集します。

cd /etc/shinken/contacts/
vim admin.cfg

以下に示す値を変更します:

contact_name    admin       # Username 'admin'
password        yourpass    # Pass 'mypass'

保存して終了します。

ステップ3-Nagios-pluginsとShinkenパッケージをインストールする

このステップでは、NagiosプラグインといくつかのPerlモジュールをインストールします。次に、shinken.ioから追加のshinkenパッケージをインストールして、監視を実行します。

Perlモジュールのビルドとインストールに必要なNagios-pluginsとcpanminusをインストールします:

sudo apt-get install nagios-plugins* cpanminus

cpanmコマンドを使用してこれらのPerlモジュールをインストールします:

cpanm Net::SNMP
cpanm Time::HiRes
cpanm DBI

次に、utils.pmファイルの新しいリンクを作成してディレクトリを変更し、Log_File_Healthの新しいディレクトリを作成します。

chmod u+s /usr/lib/nagios/plugins/check_icmp
ln -s /usr/lib/nagios/plugins/utils.pm /var/lib/shinken/libexec/
mkdir -p /var/log/rhosts/
touch /var/log/rhosts/remote-hosts.log

次に、真剣パッケージをインストールします ssh およびlinux-snmp shinken.ioからSSHおよびSNMPソースを監視する場合:

su - shinken
shinken install ssh
shinken install linux-snmp

ステップ4-新しいLinuxホスト/host-oneを追加する

IPアドレス192.168.1.121とホスト名「host-one」のUbuntu16.04サーバーを使用して監視される新しいLinuxホストを追加します。

Linuxホストに接続します-1つ:

ssh [email protected]

Ubuntuリポジトリからsnmpおよびsnmpdパッケージをインストールします:

sudo apt-get install snmp snmpd

次に、設定ファイル「snmpd.conf」をvimで編集します:

vim /etc/snmp/snmpd.conf

15行目のコメントと17行目のコメント解除:

#agentAddress  udp:127.0.0.1:161
agentAddress udp:161,udp6:[::1]:161

行51と53にコメントを付けてから、以下に新しい行構成を追加します。

#rocommunity mypass  default    -V systemonly
#rocommunity6 mypass  default   -V systemonly

rocommunity mypass

保存して終了します。

次に、 snmpdを開始します systemctlコマンドを使用したサービス:

systemctl start snmpd

真剣サーバーに移動し、「hosts」ディレクトリに新しいファイルを作成して新しいホストを定義します。

cd /etc/shinken/hosts/
vim host-one.cfg

以下に構成を貼り付けます:

ホスト{
使用する一般的なホスト、LinuxベースのSNMP、SSH
contact_groups管理者
HOST_NAMEホストオン
アドレス192.168.1.121
_SNMPCOMMUNITY MYPASS#SNMPを定義する
define host{
        use                 generic-host,linux-snmp,ssh
        contact_groups      admins
        host_name           host-one
        address             192.168.1.121
        _SNMPCOMMUNITY      mypass        # SNMP Pass Config on snmpd.conf
    }

保存して終了します。

真剣サーバーのSNMP構成を編集します:

vim /etc/shinken/resource.d/snmp.cfg

'public'を'mypass'に変更します-クライアントホストのsnmpd構成ファイルで使用したものと同じパスワードである必要があります-1つ。

$SNMPCOMMUNITYREAD$=mypass

保存して終了します。

次に、両方のサーバーを再起動します-Shinkenサーバーと監視対象のLinuxホスト:

reboot

新しいLinuxホストがShinkenサーバーに正常に追加されました。

ステップ5-ShinkenWebui2にアクセスする

ポート7677でShinkenwebui2にアクセスします(URLのIPをIPに置き換えます):

http://192.168.1.120:7767

ユーザーadminでログインします およびパスワード(admin.cfg構成ファイルで設定したもの)。

Webui2の真剣ダッシュボード。

2台のサーバーはShinkenで監視されています。

linux-snmpで監視されているすべてのサービスを一覧表示します。

すべてのホストとサービスのステータス。

ステップ6-真剣の一般的な問題

-NTPサーバーの問題

NTPでこのエラーが発生した場合。

TimeSync - CRITICAL ( NTP CRITICAL: No response from the NTP server)
TimeSync - CRITICAL ( NTP CRITICAL: Offset unknown )

この問題を解決するには、すべてのLinuxホストにntpをインストールします。

sudo apt-get install ntp ntpdate

NTP構成を編集します:

vim /etc/ntp.conf

すべてのプールにコメントを付けて、次のように置き換えます:

#pool 0.ubuntu.pool.ntp.org iburst
#pool 1.ubuntu.pool.ntp.org iburst
#pool 2.ubuntu.pool.ntp.org iburst
#pool 3.ubuntu.pool.ntp.org iburst

pool 0.id.pool.ntp.org
pool 1.asia.pool.ntp.org
pool 0.asia.pool.ntp.org

次に、restrict内に新しい行を追加します:

# Local users may interrogate the ntp server more closely.
restrict 127.0.0.1
restrict 192.168.1.120 #shinken server IP address
restrict ::1

:192.168.1.120はShinkenサーバーのIPアドレスです。

保存して終了します。

ntpを起動し、Shinkenダッシュボードを確認します:

ntpd

-問題check_netint.plが見つかりません

ソースをgithubリポジトリからshinkenlibディレクトリにダウンロードします:

cd /var/lib/shinken/libexec/
wget https://raw.githubusercontent.com/Sysnove/shinken-plugins/master/check_netint.pl
chmod +x check_netint.pl
chown shinken:shinken check_netint.pl

-NetworkUsageの問題

エラーメッセージがあります:

ERROR : Unknown interface eth\d+

ネットワークインターフェースを確認し、linux-snmpテンプレートを編集します。

私のUbuntuサーバーでは、ネットワークインターフェイスは「enp0s8」であり、eth0ではないため、このエラーが発生しました。

linux-snmpテンプレートパックをvimで編集します:

vim /etc/shinken/packs/linux-snmp/templates.cfg

ネットワークインターフェイスを24行目に追加します:

_NET_IFACES         eth\d+|em\d+|enp0s8

保存して終了します。

参照
  • http://shinken.readthedocs.io/en/latest/
  • http://www.roblayton.com/search/label/monitoring


Ubuntu
  1. Ubuntu16.04にNginxを使用してHTTPGitサーバーをインストールする方法

  2. Ubuntu20.04にNginxを使用してHTTPGitサーバーをインストールする方法

  3. Nginx を使用して Ubuntu 20.04 に phpMyAdmin をインストールする

  1. vsftpdを使用してUbuntuにFTPサーバーをインストールする方法

  2. SSHサーバーUbuntu22.04をインストールします

  3. Ubuntu16.04にApacheを使用してJenkinsAutomationServerをインストールする方法

  1. Ubuntu16.04にPHP-FPMを使用してCaddyWebサーバーをインストールする方法

  2. Ubuntu16.04にNagiosサーバーモニタリングをインストールする方法

  3. Ubuntu16.04でのOpenNMSによるサーバー監視