第2章 集中型ロギングスイートのインストール


2.1. 集中型ログリレー/トランスフォーマーのインストール

  1. 以下の最小仕様を満たすベアメタルシステムを見つけます。

    • 8 GB のメモリー
    • シングルソケット Xeon クラス CPU
    • 500 GB のディスク容量
  2. Red Hat Enterprise Linux 7 をインストールします。
  3. システムが Operational Tools パッケージにアクセスできるようにします。

    1. システムを登録してサブスクライブします。

      # subscription-manager register
      # subscription-manager list --consumed

      OpenStack サブスクリプションが自動的にアタッチされない場合は、手動でサブスクリプションをアタッチ する ためのドキュメントを参照してください。

    2. 最初に有効なリポジトリーを無効にし、操作ツールに適したリポジトリーのみを有効にします。

      # subscription-manager repos --disable=*
      # subscription-manager repos --enable=rhel-7-server-rpms --enable=rhel-7-server-optional-rpms --enable=rhel-7-server-openstack-8-optools-rpms
      注記

      ベース OpenStack リポジトリー(rhel-7-server-openstack-8-rpms)をこのノードで有効にしないでください。このリポジトリーには、特定の Operational Tools 依存関係の新しいバージョンが含まれている可能性があり、Operational Tools パッケージと互換性がない場合があります。

  4. 以下のコマンドを実行して ElasticsearchFluentdKibana ソフトウェアをインストールします。

    # yum install elasticsearch fluentd rubygem-fluent-plugin-elasticsearch kibana httpd
  5. Elasticsearch で Cross-origin resource sharing (CORS)を有効にします。これを行うには、/etc/elasticsearch/elasticsearch.yml を編集し、以下の行をファイルの最後に追加します。

    http.cors.enabled: true
    http.cors.allow-origin: "/.*/"
    注記

    これにより、Elasticsearch JavaScript アプリケーションを Web サーバーの任意の Web ページから呼び出すことができます。Kibana サーバーからの CORS のみを許可するには、以下を使用します。

    http.cors.allow-origin: "http://LOGGING_SERVER"

    IP アドレスまたはホスト名を使用して Kibana にアクセスするかどうかに応じて、LOGGING_SERVERKibana サーバーの IP アドレスまたはホスト名に置き換えます。ただし、Elasticsearch サービスが信頼されるホストからのみアクセス可能である場合、/ .*/ を使用しても安全です

  6. Elasticsearch インスタンスを起動し、起動時に有効にします。

    # systemctl start elasticsearch
    # systemctl enable elasticsearch

    Elasticsearch インスタンスが機能していることを確認するには、以下のコマンドを実行します。

    # curl http://localhost:9200/

    これにより、以下のような応答が返されるはずです。

    {
      "status" : 200,
      "name" : "elasticsearch.example.com",
      "cluster_name" : "elasticsearch",
      "version" : {
        "number" : "1.5.2",
        "build_hash" : "c88f77ffc81301dfa9dfd81ca2232f09588bd512",
        "build_timestamp" : "2015-02-19T13:05:36Z",
        "build_snapshot" : false,
        "lucene_version" : "4.10.3"
      },
      "tagline" : "You Know, for Search"
    }
  7. Fluentd をログデータを受け入れ、これを Elasticsearch に書き込むように設定します。/etc/fluentd/fluent.conf を編集し、そのコンテンツを以下に置き換えます。

    # In v1 configuration, type and id are @ prefix parameters.
    # @type and @id are recommended. type and id are still available for backward compatibility
    
    <source>
      @type forward
      port 4000
      bind 0.0.0.0
    </source>
    
    <match **>
      @type elasticsearch
      host localhost
      port 9200
      logstash_format true
      flush_interval 5
    </match>
  8. Fluentd を起動し、起動時に有効にします。

    # systemctl start fluentd
    # systemctl enable fluentd
    ヒント

    Fluentd のジャーナルをチェックし、起動時にエラーがないことを確認します。

    # journalctl -u fluentd -l -f
  9. KibanaElasticsearch インスタンスを参照するように設定します。/etc/httpd/conf.d/kibana3.conf を作成し、以下の内容を内部に配置します。

    <VirtualHost *:80>
    
      DocumentRoot /usr/share/kibana
      <Directory /usr/share/kibana>
        Require all granted
        Options -Multiviews
      </Directory>
    
    </VirtualHost>
  10. たとえば、Kibana および Elasticsearch へのアクセスを許可されたユーザーのみに制限する必要がある場合(たとえば、これらのサービスはオープンネットワーク内のシステム上で実行されているため)、HTTP Basic 認証を使用して仮想ホストのセキュリティーを保護し、Elasticseach をプロキシーの背後に移動します。これを行うには、次の手順を実行します。

    1. 以下の内容で /etc/httpd/conf.d/kibana3.conf ファイルを作成します。

      <VirtualHost *:80>
      
        DocumentRoot /usr/share/kibana
        <Directory /usr/share/kibana>
          Options -Multiviews
          AuthUserFile /etc/httpd/conf/htpasswd-kibana
          AuthName "Restricted Kibana Server"
          AuthType Basic
          Require valid-user
        </Directory>
      
        # Proxy for Elasticsearch
        <LocationMatch "^/(_nodes|_aliases|.*/_aliases|_search|.*/_search|_mapping|.*/_mapping)$">
          ProxyPassMatch http://127.0.0.1:9200/$1
          ProxyPassReverse http://127.0.0.1:9200/$1
        </LocationMatch>
      
        # Proxy for kibana-int/{dashboard,temp}
        <LocationMatch "^/(kibana-int/dashboard/|kibana-int/temp)(.*)$">
          ProxyPassMatch http://127.0.0.1:9200/$1$2
          ProxyPassReverse http://127.0.0.1:9200/$1$2
        </LocationMatch>
      
      </Virtualhost>
      注記

      AuthUserFile オプションに別のパスを使用し、AuthName オプションのその他の説明を使用できます。

    2. Kibana へのアクセスが許可されるユーザー名とパスワードのペアを作成します。これには以下のコマンドを実行します。

      # htpasswd -c /etc/httpd/conf/htpasswd-kibana user_name
      注記

      AuthUserFile オプションに別のパスを使用している場合は、それに応じてコマンドを変更します。

      user_name を任意のユーザー名に置き換えます。プロンプトが表示されたら、このユーザー名で使用するパスワードを入力します。パスワードを再入力するよう求められます。

    3. 必要に応じて、以下のコマンドを実行して、独自のパスワードを持つユーザーをさらに作成します。

      # htpasswd /etc/httpd/conf/htpasswd-kibana another_user_name
    4. localhost インターフェイスのみをリッスンするように Elasticsearch を設定します。これを行うには、エディターで /etc/elasticsearch/elasticsearch.yml ファイルを開き、以下のオプションを追加します。

      network.host: 127.0.0.1
    5. また、以下のオプションを /etc/elasticsearch/elasticsearch.yml に追加して、CORS で HTTP の Basic 認証データを使用できるように Elasticsearch を設定する必要もあります。

      http.cors.allow-credentials: true
    6. Elasticsearch を再起動して、これらの変更を有効にします。

      # systemctl restart elasticsearch
    7. 最後に、Elasticsearch ファイルがプロキシーを使用してダウンロードされ、HTTP Basic 認証データがブラウザーによって送信されていることを確認します。これを行うには、/usr/share/kibana/config.js ファイルを編集します。このファイルで以下の行を見つけます。

      elasticsearch: "http://"+window.location.hostname+":9200",

      そして、以下のように変更します。

      elasticsearch: {server: "http://"+window.location.hostname, withCredentials: true},
  11. Kibana (Apache 内)を有効にして Elasticsearch に接続し、Apache を起動して起動時に有効にします。

    # setsebool -P httpd_can_network_connect 1
    # systemctl start httpd
    # systemctl enable httpd
  12. システムでファイアウォールを開き、Fluentd および httpd への接続を許可します。

    # firewall-cmd --zone=public --add-port=4000/tcp --permanent
    # firewall-cmd --zone=public --add-service=http --permanent
    # firewall-cmd --reload
  13. さらに、HTTP 認証および Elasticsearch プロキシーを設定していない場合は、ファイアウォールを開いて Elasticsearch への直接接続を許可します。

    # firewall-cmd --zone=public --add-port=9200/tcp --permanent
    # firewall-cmd --reload
    重要

    HTTP 認証を使用した Kibana および Elasticseach へのアクセスを制限しない場合、Kibana および Elasticsearch によって提供される情報は、認証なしですべてのユーザーが利用できます。データを保護するには、システムまたは開いている TCP ポート(80、4000、および 9200)が信頼できるホストからのみアクセスできることを確認してください。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る