ビルドSkyWalkingサービス(ElasticSearch 7の場合)

[TOC]

ビルドSkyWalkingサービス(ElasticSearch 7の場合)

リファレンスの使用に基づいてSkyWalking:

公式文書:


ダウンロードアーカイブ

まず、以下のアドレスでダウンロードアドレス、公式のダウンロードをSkyWalkingを取得する必要があります。

http://skywalking.apache.org/downloads/

ドッキングESサービスのバージョン7.xの必要性は、そうここElasticSearch 7のために選択されたので、ここで私は、6.6.0のバイナリパッケージの最新バージョンを選択しました:
ビルドSkyWalkingサービス(ElasticSearch 7の場合)

ダウンロードおよび抽出は、次のステップのためにサーバーにコピーをダウンロード:

[root@localhost ~]# cd /usr/local/src
[root@localhost /usr/local/src]# wget http://mirror.bit.edu.cn/apache/skywalking/6.6.0/apache-skywalking-apm-es7-6.6.0.tar.gz
[root@localhost /usr/local/src]# mkdir ../skywalking && tar -zxvf apache-skywalking-apm-es7-6.6.0.tar.gz -C ../skywalking --strip-components 1
[root@localhost /usr/local/src]# cd ../skywalking/
[root@localhost /usr/local/skywalking]# ll -rh  # 解压后的目录文件如下
total 88K
drwxr-xr-x 2 root root   53 Dec 28 18:22 webapp
-rw-rw-r-- 1 1001 1002 2.0K Dec 24 14:10 README.txt
drwxrwxr-x 2 1001 1002  12K Dec 24 14:28 oap-libs
-rwxrwxr-x 1 1001 1002  32K Dec 24 14:10 NOTICE
drwxrwxr-x 3 1001 1002 4.0K Dec 28 18:22 licenses
-rwxrwxr-x 1 1001 1002  29K Dec 24 14:10 LICENSE
drwxr-xr-x 2 root root  221 Dec 28 18:22 config
drwxr-xr-x 2 root root  241 Dec 28 18:22 bin
drwxrwxr-x 8 1001 1002  143 Dec 24 14:21 agent
[root@localhost /usr/local/skywalking]# 

コンフィギュレーション

プローブ、後端プラットフォーム、ストレージ、およびユーザインタフェース:論理的に4つの分割構成をSkyWalking。データのアップロードエージェントの監視を収集するために使用されるバックエンドサービスプラットフォームは、コア・コンフィギュレーション・ファイルが配置されていますconfig/application.yml

要件がない場合は、基本的に構成を変更することなく、直接サービスをSkyWalking開始することができます。しかし、通常のオンラインそこにデータの永続性のニーズを監視し、H2、このメモリデータベースを使用して、デフォルトをSkyWalkingされ、永続ストレージの特性を持っていません。我々は、ストレージコンポーネントとしてのストレージ構成、アクセスelasticsearchサービスを変更する必要がありますので。

まず、コメントアウトするデフォルトH2のデータベース構成:

[root@ip-236-048 skywalking]# vim config/application.yml
#  h2:
#    driver: ${SW_STORAGE_H2_DRIVER:org.h2.jdbcx.JdbcDataSource}
#    url: ${SW_STORAGE_H2_URL:jdbc:h2:mem:skywalking-oap-db}
#    user: ${SW_STORAGE_H2_USER:sa}
#    metadataQueryMaxSize: ${SW_STORAGE_H2_QUERY_MAX_SIZE:5000}

注アンロックの設定をelasticsearch7し、次のように改正します:

storage:
  elasticsearch7:
    # nameSpace: ${SW_NAMESPACE:""}
    clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:192.168.3.10:9200}
    protocol: ${SW_STORAGE_ES_HTTP_PROTOCOL:"http"}
    # trustStorePath: ${SW_SW_STORAGE_ES_SSL_JKS_PATH:"../es_keystore.jks"}
    # trustStorePass: ${SW_SW_STORAGE_ES_SSL_JKS_PASS:""}
    # user: ${SW_ES_USER:""}
    # password: ${SW_ES_PASSWORD:""}
    indexShardsNumber: ${SW_STORAGE_ES_INDEX_SHARDS_NUMBER:2}
    indexReplicasNumber: ${SW_STORAGE_ES_INDEX_REPLICAS_NUMBER:0}
    # Those data TTL settings will override the same settings in core module.
    recordDataTTL: ${SW_STORAGE_ES_RECORD_DATA_TTL:7} # Unit is day
    otherMetricsDataTTL: ${SW_STORAGE_ES_OTHER_METRIC_DATA_TTL:45} # Unit is day
    monthMetricsDataTTL: ${SW_STORAGE_ES_MONTH_METRIC_DATA_TTL:18} # Unit is month
    # Batch process setting, refer to https://www.elastic.co/guide/en/elasticsearch/client/java-api/5.5/java-docs-bulk-processor.html
    bulkActions: ${SW_STORAGE_ES_BULK_ACTIONS:1000} # Execute the bulk every 1000 requests
    flushInterval: ${SW_STORAGE_ES_FLUSH_INTERVAL:10} # flush the bulk every 10 seconds whatever the number of requests
    concurrentRequests: ${SW_STORAGE_ES_CONCURRENT_REQUESTS:2} # the number of concurrent requests
    resultWindowMaxSize: ${SW_STORAGE_ES_QUERY_MAX_WINDOW_SIZE:10000}
    metadataQueryMaxSize: ${SW_STORAGE_ES_QUERY_MAX_SIZE:5000}
    segmentQueryMaxSize: ${SW_STORAGE_ES_QUERY_SEGMENT_SIZE:200}
    advanced: ${SW_STORAGE_ES_ADVANCED:""}

他の一般的な必要性はgRPC APIのREST APIのためのデフォルトの通信ポート12800、デフォルトの通信ポート11800をskywalking、リスニングIPとポート番号を変更することです。これらは、設定ファイルで変更することができ、私はデフォルトのままにするためにここにいます:

core:
  default:
    # Mixed: Receive agent data, Level 1 aggregate, Level 2 aggregate
    # Receiver: Receive agent data, Level 1 aggregate
    # Aggregator: Level 2 aggregate
    role: ${SW_CORE_ROLE:Mixed} # Mixed/Receiver/Aggregator
    restHost: ${SW_CORE_REST_HOST:0.0.0.0}
    restPort: ${SW_CORE_REST_PORT:12800}
    restContextPath: ${SW_CORE_REST_CONTEXT_PATH:/}
    gRPCHost: ${SW_CORE_GRPC_HOST:0.0.0.0}
    gRPCPort: ${SW_CORE_GRPC_PORT:11800}

ラン

設定を完了した後、実行binディレクトリのstartup.shスクリプトは、サービスをskywalking開始します。

[root@localhost /usr/local/skywalking]# bin/startup.sh
SkyWalking OAP started successfully!
SkyWalking Web Application started successfully!
[root@localhost /usr/local/skywalking]#

ファイアウォールのニーズがポートを開く場合は、デフォルトでポート8080をリッスンするためにコンソールサービスをSkyWalking:

[root@localhost /usr/local/skywalking]# firewall-cmd --zone=public --add-port=8080/tcp --permanent
success
[root@localhost /usr/local/skywalking]# firewall-cmd --reload
success
[root@localhost /usr/local/skywalking]#

あなたは、リモートの送信を許可する場合は、開く必要11800(gRPC)とデータ128​​00(残り)ポート、トランスポート・ポートが収集したリモートエージェント:

[root@localhost /usr/local/skywalking]# firewall-cmd --zone=public --add-port=11800/tcp --permanent
success
[root@localhost /usr/local/skywalking]# firewall-cmd --zone=public --add-port=12800/tcp --permanent
success
[root@localhost /usr/local/skywalking]# firewall-cmd --reload
success
[root@localhost /usr/local/skywalking]#

適切に正常に起動した後、次のようにホーム・ページにアクセスするには、ブラウザを使用します。
ビルドSkyWalkingサービス(ElasticSearch 7の場合)

  • ヒント: skywalkingはあなたがelasticsearchサービスを初めて接続する場合には、サービスへのインデックスESの多くを作成する必要がskywalkingので、もっとゆっくり開始します。だから、完了が作成されていない前に、このページをご覧空白になります。この時点で、ログの開始時に見ていることによって決定することができるパスを記録し、完了です。logs/skywalking-oap-server.log

使用

skywalkingは、通常、データを監視対象かどうかを確認するためにプローブを引き継ぐためのプロジェクトのための統合されたJavaエージェント。まず、2つの単純な春のクラウドプロジェクト、すなわち消費者と生産者を作成します。
ビルドSkyWalkingサービス(ElasticSearch 7の場合)

ナコス発見、openfeignとウェブ:プロジェクトの両方のコンポーネントは、依存性に基づいて含まれています。SkyWalkingはJavaエージェントの道を介してプローブの言語をデータを収集し、アップロードすることがあるので、そうzipkinのような追加の依存関係および設定を追加する必要はありません。

シンプルなコールのフォローを達成するために提供生産者、消費者のコール・インタフェースは、リンクSkyWalkingに効果を発揮します。次のようにそのため、生産者コードインタフェースライトです。

@Slf4j
@RestController
@RequestMapping("/producer")
public class ProducerController {

    @GetMapping
    public String producer() {
        log.info("received a request");
        return "this message from producer";
    }
}

消費者はまた、このインターフェイスへのインターフェイスは、プロデューサー・インターフェースと呼ばれています。コードは以下の通りであります:

@Slf4j
@RestController
@RequiredArgsConstructor
@RequestMapping("/consumer")
public class ConsumerController {

    private final ProducerClient producerClient;

    @GetMapping
    public String consumer() {
        log.info("consumer something");
        // 通过feign调用
        String result = producerClient.producer();
        return "consumer: " + result;
    }
}

ProducerClientコードは以下の通りであります:

@FeignClient("producer")
public interface ProducerClient {

    @GetMapping("/producer")
    String producer();
}

対応するアーカイブプラットフォームをダウンロードするには、ダウンロードページの前に取得するので、プランをSkyWalkingローカルデバッグのJavaエージェントのjarパッケージを使用する必要性のために:
ビルドSkyWalkingサービス(ElasticSearch 7の場合)

次のようにファイルディレクトリの内容を抽出した後:
ビルドSkyWalkingサービス(ElasticSearch 7の場合)

私たちは、主に、エージェントのディレクトリの下のjarパッケージを使用します。
ビルドSkyWalkingサービス(ElasticSearch 7の場合)

便宜上、各サービス・エージェントのためのディレクトリの単一のコピーがありません。方法のJVM起動パラメータを追加することによって、構成アイテムをオーバーライドします。

# 指定java agent的jar包路径
-javaagent:E:\skywalking\apache-skywalking-apm-bin\agent\skywalking-agent.jar
# 指定skywalking agent的服务名称,通常对应项目的服务名称
-Dskywalking.agent.service_name=consumer
# 指定skywalking后端平台收集服务的连接ip及端口号
-Dskywalking.collector.backend_service=192.168.10.6:11800

上記の手順を完了した後、コンフィギュレーション・インタフェースは、IDEAのガイドクラスJVM起動パラメータに設けられています。次のとおりです。
ビルドSkyWalkingサービス(ElasticSearch 7の場合)

  • プロデューサーのサービスは同図に設定されている、サービス名は、それを変更するには

二つのプロジェクトを開始し、その後、アクセスされた/consumerインターフェースを:
ビルドSkyWalkingサービス(ElasticSearch 7の場合)

このとき、SkyWalkingページを監視するために、ページを「追跡」と入力し、正しい時間枠を選択すると、インターフェイスのリンクトラッキング情報を見ることができます:
ビルドSkyWalkingサービス(ElasticSearch 7の場合)


その他の機能

サービストポロジー:
ビルドSkyWalkingサービス(ElasticSearch 7の場合)

サービス監視:
ビルドSkyWalkingサービス(ElasticSearch 7の場合)

サービスインスタンスを監視します:
ビルドSkyWalkingサービス(ElasticSearch 7の場合)

エンドポイントのモニタリング:
ビルドSkyWalkingサービス(ElasticSearch 7の場合)

何の監視ページ上のデータ、ログやエラーメッセージなしが見つからないプロジェクトが適切にエージェントの成功を統合した場合、それでも、それは最も可能性の高い適切な時期を選択しませんでした。
ビルドSkyWalkingサービス(ElasticSearch 7の場合)

おすすめ

転載: blog.51cto.com/zero01/2463437