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

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

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

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

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

ウィルススキャナー 

対象マシンでウィルススキャナーを構成し、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 ネットワークユーティリティが含まれていることを確認します。含まれていなければ、そのユーティリティをインストールします。コントローラのインストールでは、MySQL プロセスが実行されているかどうかを netstat を使用して判断します。

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

yum install net-tools

libaioの要件

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

インストールされていない場合、ホストマシンに libaio をインストールします。次の表は、Linux オペレーティングシステムのいくつかの一般的なフレーバーにおける 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.rpm
sudo rpm -ivh --force ncurses-libs-5.x.rpm

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

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

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

http://mirror.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

RHEL8 compat-libs:
sudo yum install -y ncurses-compat-libs
CentOS8 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 を選択する場合は、次を参照してください。

    sudo apt-get install libncurses5

  • libncurses6 を選択する場合は、次を参照してください。

    sudo apt-get install libncurses6

    Note: 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 パッケージが必要となります。

tzdata パッケージは MySQL コネクタでも必要となります。

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

  • sudo apt-get install tzdata

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

レポートサービスは NodeJS ベースのサービスです。ヘッドレスレンダラを使用して、カスタムダッシュボードや監査ログを含む 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
CODE

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 \
  ca-certificates \
  fonts-liberation \
  libappindicator1 \
  libnss3 \
  lsb-release \
  xdg-utils \
  wget
CODE

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

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> は、コントローラを実行するオペレーティングシステムのユーザ名に置き換えます。

        <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> はコントローラが実行されるオペレーティングシステムのユーザ名に置き換えます。

        <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/ [英語] を参照してください。