Skip to content

Bigdata

ビッグデータ・分析


📚 情報ソース

このドキュメントは以下の情報源を基に作成されています:

主要ソース

補足ソース

  • ビッグデータシステムのベストプラクティス: クラスター監視とパフォーマンスチューニング
  • 実運用環境の設定例: 大規模分散システムの監視戦略

Elasticsearch

📚 公式ドキュメント: Elasticsearch

Elasticsearchは分散検索・分析エンジンです。ログ分析、全文検索、リアルタイム分析に広く使用されています。

基本設定

com.instana.plugin.elasticsearch:
  poll_rate: 10  # 秒単位

設定項目の詳細

項目 説明 デフォルト値 推奨値 取得方法
poll_rate メトリクス収集間隔 10 10-30 秒単位
url ElasticsearchのURL http://localhost:9200 環境に応じて Elasticsearch設定から
username 認証ユーザー名 - 監視用ユーザー Elasticsearch設定から
password 認証パスワード - Vault推奨 Elasticsearch設定から

実践的な使用例

1. 基本的なElasticsearch監視

1
2
3
com.instana.plugin.elasticsearch:
  poll_rate: 10
  url: 'http://localhost:9200'

2. 認証付きElasticsearch

1
2
3
4
5
com.instana.plugin.elasticsearch:
  poll_rate: 10
  url: 'http://elasticsearch.example.com:9200'
  username: 'monitoring_user'
  password: 'es_password'

3. Vault統合

com.instana.plugin.elasticsearch:
  poll_rate: 10
  url: 'http://elasticsearch.example.com:9200'
  username: 'monitoring_user'
  password:
    configuration_from:
      type: vault
      secret_key:
        path: secret/elasticsearch
        key: password

4. SSL/TLS接続

com.instana.plugin.elasticsearch:
  poll_rate: 10
  url: 'https://elasticsearch.example.com:9200'
  username: 'monitoring_user'
  password:
    configuration_from:
      type: vault
      secret_key:
        path: secret/elasticsearch
        key: password
  ssl:
    verify: true
    ca_cert: '/etc/ssl/certs/ca-bundle.crt'

5. Elasticsearchクラスター

com.instana.plugin.elasticsearch:
  poll_rate: 10
  cluster:
    name: 'production-cluster'
    nodes:
      - 'http://es-node1.example.com:9200'
      - 'http://es-node2.example.com:9200'
      - 'http://es-node3.example.com:9200'
  username: 'monitoring_user'
  password:
    configuration_from:
      type: vault
      secret_key:
        path: secret/elasticsearch
        key: password

Hadoop YARN

📚 公式ドキュメント: Hadoop YARN

Hadoop YARNはリソース管理・ジョブスケジューリングフレームワークです。

基本設定

com.instana.plugin.hadoopyarn:
  poll_rate: 1  # 秒単位(デフォルト1秒)

設定項目の詳細

項目 説明 デフォルト値 推奨値 取得方法
poll_rate メトリクス収集間隔 1 1-10 秒単位
resource_manager_url ResourceManager URL http://localhost:8088 環境に応じて YARN設定から

実践的な使用例

1. 基本的なYARN監視

1
2
3
com.instana.plugin.hadoopyarn:
  poll_rate: 1
  resource_manager_url: 'http://localhost:8088'

2. HAモードのYARN

1
2
3
4
5
com.instana.plugin.hadoopyarn:
  poll_rate: 1
  resource_managers:
    - 'http://rm1.example.com:8088'
    - 'http://rm2.example.com:8088'

Hadoop YARN Node

📚 公式ドキュメント: Hadoop YARN Node

YARN NodeManagerの監視を行います。

基本設定

com.instana.plugin.hadoopyarnnode:
  poll_rate: 1  # 秒単位(デフォルト1秒)

Apache Spark Standalone

📚 公式ドキュメント: Apache Spark Standalone

Apache Sparkのスタンドアロンクラスターモードを監視します。

基本設定

1
2
3
com.instana.plugin.sparkstandalone:
  enabled: true
  poll_rate: 1  # 秒単位(デフォルト1秒)

設定項目の詳細

項目 説明 デフォルト値 推奨値 取得方法
enabled センサーの有効化 false true -
poll_rate メトリクス収集間隔 1 1-10 秒単位
master_url Spark Master URL http://localhost:8080 環境に応じて Spark設定から

実践的な使用例

1. 基本的なSpark監視

1
2
3
4
com.instana.plugin.sparkstandalone:
  enabled: true
  poll_rate: 1
  master_url: 'http://localhost:8080'

2. Spark Master/Worker監視

1
2
3
4
5
6
7
8
9
com.instana.plugin.sparkstandalone:
  enabled: true
  poll_rate: 1
  master:
    url: 'http://spark-master.example.com:8080'
  workers:
    - 'http://spark-worker1.example.com:8081'
    - 'http://spark-worker2.example.com:8081'
    - 'http://spark-worker3.example.com:8081'

Apache Spark Application

📚 公式ドキュメント: Apache Spark Application

Sparkアプリケーションの監視を行います。

基本設定

1
2
3
com.instana.plugin.sparkapplication:
  enabled: true
  poll_rate: 1  # 秒単位(デフォルト1秒)

Apache HBase

📚 公式ドキュメント: Apache HBase

HBaseはHadoop上で動作する分散NoSQLデータベースです。

基本設定

com.instana.plugin.hbase:
  poll_rate: 1  # 秒単位(デフォルト1秒)

設定項目の詳細

項目 説明 デフォルト値 推奨値 取得方法
poll_rate メトリクス収集間隔 1 1-10 秒単位
master_url HBase Master URL http://localhost:16010 環境に応じて HBase設定から

実践的な使用例

1. 基本的なHBase監視

1
2
3
com.instana.plugin.hbase:
  poll_rate: 1
  master_url: 'http://localhost:16010'

2. HBaseクラスター

1
2
3
4
5
6
7
com.instana.plugin.hbase:
  poll_rate: 1
  master_url: 'http://hbase-master.example.com:16010'
  region_servers:
    - 'http://hbase-rs1.example.com:16030'
    - 'http://hbase-rs2.example.com:16030'
    - 'http://hbase-rs3.example.com:16030'

Apache Solr

📚 公式ドキュメント: Apache Solr

Solrは高性能な検索プラットフォームです。

基本設定

com.instana.plugin.solr:
  poll_rate: 1  # 秒単位(デフォルト1秒)

設定項目の詳細

項目 説明 デフォルト値 推奨値 取得方法
poll_rate メトリクス収集間隔 1 1-10 秒単位
url Solr URL http://localhost:8983/solr 環境に応じて Solr設定から

実践的な使用例

1. 基本的なSolr監視

1
2
3
com.instana.plugin.solr:
  poll_rate: 1
  url: 'http://localhost:8983/solr'

2. SolrCloud

1
2
3
4
5
com.instana.plugin.solr:
  poll_rate: 1
  cloud:
    zookeeper: 'zk1.example.com:2181,zk2.example.com:2181,zk3.example.com:2181'
    collection: 'my_collection'

3. 認証付きSolr

com.instana.plugin.solr:
  poll_rate: 1
  url: 'http://solr.example.com:8983/solr'
  username: 'monitoring_user'
  password:
    configuration_from:
      type: vault
      secret_key:
        path: secret/solr
        key: password

MapR

📚 公式ドキュメント: MapR

MapRはエンタープライズグレードのデータプラットフォームです。

基本設定

1
2
3
com.instana.plugin.mapr:
  enabled: true
  poll_rate: 20  # 秒単位(デフォルト10秒)

設定項目の詳細

項目 説明 デフォルト値 推奨値 取得方法
enabled センサーの有効化 false true -
poll_rate メトリクス収集間隔 10 20 秒単位

Apache Cassandra

📚 公式ドキュメント: Apache Cassandra

Cassandraは分散NoSQLデータベースです。

基本設定

com.instana.plugin.cassandra:
  poll_rate: 10  # 秒単位

設定項目の詳細

項目 説明 デフォルト値 推奨値 取得方法
poll_rate メトリクス収集間隔 10 10-30 秒単位
jmx_host JMXホスト localhost 環境に応じて Cassandra設定から
jmx_port JMXポート 7199 7199 Cassandra設定から

実践的な使用例

1. 基本的なCassandra監視

1
2
3
4
com.instana.plugin.cassandra:
  poll_rate: 10
  jmx_host: 'localhost'
  jmx_port: 7199

2. 認証付きCassandra

com.instana.plugin.cassandra:
  poll_rate: 10
  jmx_host: 'cassandra.example.com'
  jmx_port: 7199
  jmx_username: 'monitoring_user'
  jmx_password:
    configuration_from:
      type: vault
      secret_key:
        path: secret/cassandra
        key: jmx_password

3. Cassandraクラスター

com.instana.plugin.cassandra:
  poll_rate: 10
  cluster:
    name: 'production-cluster'
    nodes:
      - host: 'cassandra1.example.com'
        jmx_port: 7199
      - host: 'cassandra2.example.com'
        jmx_port: 7199
      - host: 'cassandra3.example.com'
        jmx_port: 7199
  jmx_username: 'monitoring_user'
  jmx_password:
    configuration_from:
      type: vault
      secret_key:
        path: secret/cassandra
        key: jmx_password

ベストプラクティス

セキュリティ

  1. JMX認証の有効化

    1
    2
    3
    4
    # cassandra-env.sh
    JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.authenticate=true"
    JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.password.file=/etc/cassandra/jmxremote.password"
    JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.access.file=/etc/cassandra/jmxremote.access"
    

  2. SSL/TLS接続

    com.instana.plugin.cassandra:
      jmx_host: 'cassandra.example.com'
      jmx_port: 7199
      jmx_ssl: true
      jmx_username: 'monitoring_user'
      jmx_password:
        configuration_from:
          type: vault
          secret_key:
            path: secret/cassandra
            key: jmx_password
    

パフォーマンス

  1. 適切なポーリング間隔

    1
    2
    3
    4
    5
    6
    7
    # 高負荷環境
    com.instana.plugin.cassandra:
      poll_rate: 30  # 30秒
    
    # 通常環境
    com.instana.plugin.cassandra:
      poll_rate: 10  # 10秒
    

  2. メトリクスのフィルタリング

    1
    2
    3
    4
    5
    6
    7
    8
    com.instana.plugin.cassandra:
      poll_rate: 10
      metrics_filter:
        include:
          - 'org.apache.cassandra.metrics:type=ClientRequest,*'
          - 'org.apache.cassandra.metrics:type=Storage,*'
        exclude:
          - 'org.apache.cassandra.metrics:type=ThreadPools,*'
    

トラブルシューティング

問題1: Elasticsearchに接続できない

症状: - Elasticsearch メトリクスが表示されない - 接続エラー

原因と解決策:

  1. Elasticsearch接続の確認

    1
    2
    3
    4
    5
    # Elasticsearchに接続できるか確認
    curl http://localhost:9200
    
    # 認証が必要な場合
    curl -u username:password http://localhost:9200
    

  2. ネットワーク設定の確認

    1
    2
    3
    4
    5
    # Elasticsearchが起動しているか確認
    systemctl status elasticsearch
    
    # ポートが開いているか確認
    netstat -tlnp | grep 9200
    

問題2: Cassandra JMXに接続できない

症状: - Cassandra メトリクスが表示されない - JMX接続エラー

原因と解決策:

  1. JMX設定の確認

    1
    2
    3
    4
    5
    # JMXポートが開いているか確認
    netstat -tlnp | grep 7199
    
    # JMX設定を確認
    grep jmxremote /etc/cassandra/cassandra-env.sh
    

  2. ファイアウォール設定

    1
    2
    3
    # JMXポートを開放
    firewall-cmd --add-port=7199/tcp --permanent
    firewall-cmd --reload
    

FAQ

Q1: Elasticsearchクラスターの全ノードを監視する必要がありますか?

A: いいえ、クラスター内の任意のノードに接続すれば、クラスター全体のメトリクスを取得できます。

1
2
3
com.instana.plugin.elasticsearch:
  url: 'http://any-node.example.com:9200'
  # クラスター全体のメトリクスが取得される

Q2: Sparkのどのコンポーネントを監視すべきですか?

A: 以下のコンポーネントを監視することを推奨します:

  • Spark Master: クラスター全体の状態
  • Spark Workers: リソース使用状況
  • Spark Applications: 個別のジョブパフォーマンス
1
2
3
4
5
6
7
8
# Master
com.instana.plugin.sparkstandalone:
  enabled: true
  master_url: 'http://spark-master:8080'

# Application
com.instana.plugin.sparkapplication:
  enabled: true

Q3: HBaseのパフォーマンスを最適化するには?

A: 以下のポイントに注意してください:

  1. 適切なリージョンサイズ
  2. メモリ設定の最適化
  3. コンパクションの調整
1
2
3
com.instana.plugin.hbase:
  poll_rate: 1
  # パフォーマンスメトリクスを監視して調整

関連ドキュメント: - データベース監視設定 - キャッシュ監視設定 - パフォーマンスチューニング