コントローラのためのLinuxの準備

このページでは、Linux システムをコントローラのホストマシンとして使用するための構成の要件と考慮事項について説明します。

ユーザーアカウントの要件

インストールを実行するのに使用するユーザーアカウントには、以下の権限が必要です。

  • コントローラをインストールするディレクトリに対する読み取り、書き込み、および実行の権限
  • / etc/.java/.systemprefs ディレクトリに対する書き込み権限

同じマシンに、EUM サーバーやアプリケーション分析プロセッサなど、他の Splunk AppDynamics オンプレミス プラットフォームのサーバーコンポーネントをインストールする場合は、同じユーザーか、対象マシンで同等の権限を持つユーザーでインストールを実行することをおすすめします。

ウイルススキャナー

対象マシンでウイルススキャナーを構成し、Splunk AppDynamics Enterprise Console ディレクトリとデータベースディレクトリ(あるいは単にコントローラディレクトリ全体)が無視されるようにします。データディレクトリからコードが実行されることはないので、このディレクトリをウィルススキャンから除外しても問題ありません。データディレクトリは、デフォルトで <controller_home>/db/data にあります。

また、コントローラランチャー、データベース実行ファイル、レポートサービスランチャー、イベントサービス(分析プロセッサ)ランチャーを信頼するよう、ウイルススキャナーを構成します。ランチャーの名前は以下を参照してください。

  • コントローラランチャー:AppDynamicsDomain1Service.sh
  • MySQL 実行可能ファイル:mysqld.sh
  • イベントサービスランチャー:analytics-processor.sh
  • レポートサービスランチャー:appdynamicsreportingservice.sh

ウイルス対策の除外対象

ご使用のLinuxシステムでウイルス対策プログラムを実行している場合は、以下のいずれかの条件を満たしている必要があります。

  • ウイルス対策プログラムが読み取り専用である。問題の検出とレポートのみを行い、ファイルを変更しません。
  • ウイルス対策プログラムで MySQL データディレクトリ(datadir)が除外されている。このディレクトリは多くの場合、db/data パスに設定されています。

プログラムがこれらの条件をどちらも満たさない場合、MySQLデータベースが無作為に破損され、それによりコントローラも破損される可能性があります。

netstatネットワークユーティリティ

Linux のディストリビューションに netstat ネットワークユーティリティが含まれていることを確認します。含まれていなければ、そのユーティリティをインストールします。コントローラのインストールでは、netstat を使用して、MySQL プロセスが実行されているかどうかを判断します。

たとえば、次のコマンドで CentOS に netstat を含むパッケージをインストールできます。

yum install net-tools

libaioの要件

コントローラが動作するには、システムに libaio ライブラリが必要です。このライブラリは、システムでの非同期I/Oオペレーションを容易にします。NUMA ベースのアーキテクチャの場合は、numactl パッケージをインストールする必要があるので注意してください。

ホストマシンに libaio がまだインストールされていない場合は、それをインストールします。以下の表は、Linux オペレーティングシステム(OS)のいくつかの一般的なフレーバにおける libaio のインストール方法を示しています。

Linuxフレーバーコマンド
  • Red Hat
  • CentOS
  • Amazon

yum を使用します。

  • yum install libaio
  • yum install numactl
  • yum install tzdata
  • yum install ncurses-libs-5.x

RHEL8、CentOS8、および Amazon2 の場合は、信頼できるソースからダウンロードした rpm ファイルを使用して ncurses-libs-5.x ライブラリをインストールします。

sudo rpm -ivh --force ncurses-base-5.x.rpmsudo rpm -ivh --force ncurses-libs-5.x.rpm

注:ncurses-libsncurses-base に依存するため、最初に ncurses-base をインストールしておく必要があります。

rpm ダウンロード用の信頼できるソースの例

http://vault.centos.org/centos/7/os/x86_64/Packages/ncurses-base-5.9-14.20130511.el7_4.noarch.rpm

http://vault.centos.org/centos/7/os/x86_64/Packages/ncurses-libs-5.9-14.20130511.el7_4.x86_64.rpm

  • バージョン 6 をインストールするには、次の手順に従います。

ABI バージョン 5 の互換性を提供するには、ncurses-libs-6 を指す ncurses-libs-5 のシンボリックリンクを作成するか、ncurses-compat-libs パッケージをインストールする必要があります。

シンボリックリンクの作成方法

RHEL8 シンボリックリンク:sudo ln /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5 sudo ln /usr/lib64/libncurses.so.6.1 /usr/lib64/libncurses.so.5

CentOS8 シンボリックリンク:sudo ln /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5 sudo ln /usr/lib64/libncurses.so.6.1 /usr/lib64/libncurses.so.5

Amazon2 シンボリックリンク:sudo ln -s /usr/lib64/libncurses.so.6.0 /usr/lib64/libncurses.so.5 sudo ln -s /usr/lib64/libtinfo.so.6.0 /usr/lib64/libtinfo.so.5

ncurses-compat-libs のインストール方法

RHEL8 compat-libs:sudo yum install -y ncurses-compat-libs

sudo yum install -y ncurses-compat-libs

Amazon2 compat-libs:sudo yum install -y ncurses-compat-libs

Fedora

Fedora Web サイトから、ライブラリ RPM をインストールします。

  • yum install libaio
  • yum install numactl
  • yum install tzdata
Ubuntu

以下のように、apt-get を使用します。

  • sudo apt-get install libaio1
  • sudo apt-get install numactl
  • sudo apt-get install tzdata
  • sudo apt-get install libncurses5
注: Ubuntu20 の場合、libncurses5 または libncurses6 をインストールできます。libncurses5 を選択した場合:libncurses5 のインストール方法 sudo apt-get install libncurses5 libncurses6 を選択した場合:libncurses6 のインストール方法 sudo apt-get install libncurses6 注:libncurses6 の場合、libncurses6 を指す libncurses5 のシンボリックリンクを作成する必要があります。シンボリックリンクの作成方法 sudo ln -s /usr/lib/x86_64-linux-gnu/libncurses.so.6.2 /usr/lib/x86_64-linux-gnu/libncurses.so.5 sudo ln -s /usr/lib/x86_64-linux-gnu/libtinfo.so.6.2 /usr/lib/x86_64-linux-gnu/libtinfo.so.5
DebianAPTなどのパッケージマネージャを使用し、(上記のUbuntuの説明に従って)ライブラリをインストールします。
SLES12 および SLES15

以下のように zypper を使用して、ライブラリをインストールします。

sudo zypper install libxml2-2

sudo zypper install libxml2-tools

sudo zypper install libaio1

sudo zypper install numactl

sudo zypper install libcurses5

sudo zypper install tzdata

tzdataの要件

Ubuntu バージョン 16 以上では、Enterprise Console とコントローラをインストールするために tzdata パッケージが必要となります。

注: また、MySQL コネクタでも tzdata パッケージが必要です。

tzdata をインストールするには、以下のように、apt-get を使用します。

  • sudo apt-get install tzdata

レポートサービスのヘッドレス Chrome 要件

レポートサービスは NodeJS ベースのサービスです。ヘッドレスレンダラを使用して、カスタムダッシュボードや監査ログを含む Splunk AppDynamics UI のページおよびデータの PDF を開き、スナップショットを作成し、電子メールで送信することができます。コントローラは、スケジュールされた時間に、またはユーザーがリクエストしたときにジョブをレポートサービスに送信します。レポートサービスは、Enterprise Console のインストールの一部としてコントローラにバンドルされています。Enterprise Console のインストール ユーザー インターフェイスでは、セットアップ中にポートなどのレポートサービスの値を設定できます。オンプレミスのコントローラのインストールの最後に、コントローラと同じマシンにレポートサービスがインストールされ、開始されます。

レポートサービスのデフォルトのレンダラは、ヘッドレス環境で Google Chrome ブラウザを実行するヘッドレス Chrome です。Linux レポートサーバーマシンでレポートサービスレンダラとしてヘッドレス Chrome を実行する前に、ルートユーザーとして 1 回限りのセットアップを実行する必要があります。前提条件ライブラリをイメージの一部として含めるように構成されていないマシンでは、セットアップが必要です。

Linux オペレーティングシステムでのヘッドレス Chrome の前提条件

前提条件ライブラリがまだインストールされていない場合は、次のセクションに示す yum または apt-get コマンドを実行します。前提条件ライブラリがインストールされているかどうかを確認するには、yum または apt-get コマンドを実行します。出力に前提条件ライブラリがインストールされているかどうかが示されます。

注: すでにルートユーザーとしてヘッドレス Chrome を実行しているか、Docker でヘッドレス Chrome を実行している場合は、sudo プレフィックスを付けずに次のコマンドを実行してください。

CentOS 7 およびその他の YUM システム

sudo yum update -y && \
sudo yum install -y \
pango.x86_64 \
libXcomposite.x86_64 \
libXcursor.x86_64 \
libXdamage.x86_64 \
libXext.x86_64 \
libXi.x86_64 \
libXtst.x86_64 \
cups-libs.x86_64 \
libXScrnSaver.x86_64 \
libXrandr.x86_64 \
GConf2.x86_64 \
alsa-lib.x86_64 \
atk.x86_64 \
gtk3.x86_64 \
ipa-gothic-fonts \
xorg-x11-fonts-100dpi \
xorg-x11-fonts-75dpi \
xorg-x11-utils \
xorg-x11-fonts-cyrillic \
xorg-x11-fonts-Type1 \
xorg-x11-fonts-misc\
mesa-libgbm\
libatk

Ubuntu およびその他の APT-GET システム

sudo apt-get update -y && \
sudo apt-get install -y \
gconf-service \
libasound2 \
libatk1.0-0 \
libatk-bridge2.0-0 \
libc6 \
libcairo2 \
libcups2 \
libdbus-1-3 \
libexpat1 \
libfontconfig1 \
libgcc1 \
libgconf-2-4 \
libgdk-pixbuf2.0-0 \
libglib2.0-0 \
libgtk-3-0 \
libnspr4 \
libpango-1.0-0 \
libpangocairo-1.0-0 \
libstdc++6 \
libx11-6 \
libx11-xcb1 \
libxcb1 \
libxcomposite1 \
libxcursor1 \
libxdamage1 \
libxext6 \
libxfixes3 \
libxi6 \
libxrandr2 \
libxrender1 \
libxss1 \
libxtst6 \
libgm \
ca-certificates \
fonts-liberation \
libappindicator1 \
libnss3 \
lsb-release \
xdg-utils \
wget\
libgbm

Linuxにおけるユーザー制限の構成

Splunk AppDynamics では、Linux におけるユーザーあたりのハード制限とソフト制限が次のとおり必要とされます。

  • オープンファイル記述子の制限(nofile):65535
  • プロセス制限(nproc):8192

以下のログでの警告は、制限が不十分であることを示している可能性があります。

  • データベースログでの警告: 「max_open_filesの数をxxxx以上に増やせませんでした。」
  • サーバーログでの警告: 「これ以上の接続を割り当てられません。」

既存の設定を確認するには、ルートユーザーで以下のコマンドを入力します。

ulimit -S -n
ulimit -S -u

出力には、オープンファイル記述子のソフト制限と、プロセス数のソフト制限がそれぞれ示されます。これらの値が推奨値より低い場合は、値を変更する必要があります。

設定を構成する場所は、使用する Linux ディストリビューションに応じて異なります。

  • システムに /etc/security/limits.d ディレクトリがある場合は、このディレクトリに新しいファイルを適切な名前で作成し、そこに設定を追加します。
  • /etc/security/limits.d ディレクトリがない場合は、/etc/security/limits.conf に設定を追加します。
  • システムに /etc/security/limits.conf ファイルがない場合は、ulimit コマンドを /etc/profile に配置することができます。ただし、ご使用の Linux ディストリビューションのドキュメントでシステムに固有の推奨事項を確認してください。

制限を構成するには

  1. システムに /etc/security/limits.d ディレクトリがあるかどうかを確認し、その結果に応じて以下のいずれかのステップを実施します。
    • /etc/security/limits.d ディレクトリがない場合
      1. ルートユーザーで、limits.conf ファイルを開いて編集します。

        /etc/security/limits.conf
      2. 次の行を追加し、<login_user> をコントローラが実行されるオペレーティングシステム(OS)のユーザー名に置き換えて、オープンファイル記述子の制限を設定します。

        <login_user> hard nofile 65535
        <login_user> soft nofile 65535
        <login_user> hard nproc 8192
        <login_user> soft nproc 8192
    • /etc/security/limits.d ディレクトリがある場合
      1. ルートユーザーで、limits.d ディレクトリに新しいファイルを作成します。ファイルに次のようなわかりやすい名前を付けます。

        /etc/security/limits.d/appdynamics.conf
      2. 作成したファイルに、次のように制限に関する構成設定を追加します。その際、<login_user> はコントローラが実行されるオペレーティングシステム(OS)のユーザー名に置き換えます。

        <login_user> hard nofile 65535
        <login_user> soft nofile 65535
        <login_user> hard nproc 8192
        <login_user> soft nproc 8192
  2. 以下のようにして、ファイル記述子とプロセスの制限を有効にします。
    注: このステップは、RHEL/CentOSバージョン5以降では不要です。以下のファイルは /etc/pam.d/system-auth に統合され、必要な行がすでに含まれています。
    1. 以下のファイルを編集のために開きます。
      /etc/pam.d/common-session
    2. 以下の行を追加します。
      session required pam_limits.so
  3. 変更をファイルに保存します。
login_user で識別されるユーザーでログインしなおすと、制限が有効になります。

レポートサービスに必要なフォント

レポートサービスは、標準の Linux ディストリビューションに基本的に含まれている特定のシステムライブラリとリソースに依存しています。ただし、Linux の特定の軽量フレーバーでは、主にフォントライブラリの要件が不足していることがあります。レポートサービスでは、Fontconfig と FreeType、および 1 つ以上の sans-serif フォントがインストールされている必要があります。レポートサーバーログでのエラーに、libfontconfig.so ファイルの不足など、コンポーネントが不足していることが示されます。

以下の表には、オペレーティングシステムと、必要なライブラリをインストールするためのコマンドが示されています。

オペレーティングシステムコマンド

CentOS 6.1、6.2、CentOS 6.3、6.4、6.5、Fedora 14

$ yum install fontconfig freetype urw-base35-fonts

$ yum groupinstall hebrew-support

$ yum langinstall he_IL

CentOS 8.x、Redhat 8.x、Redhat 9.x

$ yum install fontconfig

$ yum groupinstall Fonts # Only needed for Chinese/Japanese

Ubuntu 8、12、14

$ sudo apt-get update

$ sudo apt-get install libfreetype6 libfreetype6-dev libfontconfig

$ sudo apt-get install language-support-he language-pack-he

$ sudo apt-get install culmus culmus-fancy xfonts-efont-unicode xfonts-efont-unicode-ib xfonts-intl-european msttcorefonts

Ubuntu 13

$ sudo apt-get install libfontconfig

$ sudo apt-get install language-support-he language-pack-he

$ sudo apt-get install culmus culmus-fancy xfonts-efont-unicode xfonts-efont-unicode-ib xfonts-intl-european msttcorefonts

サービスの設定については、「レポートサービスの管理」を参照してください。

GNU C ライブラリ

レポートサービスでは、GLIBCXX_3.4.9 以降と GLIBC_2.7 以降が実行されている必要があります。

詳細情報とダウンロード手順については、https://www.gnu.org/software/libc/ を参照してください。