- Spring PetClinic Demo Applicationを使って、Opentelemetry Collectorで様々なバックエンド(New Relic, Jaeger/VictoriaMetrics/Lokiなど)にtelemetry data(metrics,logs,traces)を送信するデモ
- New Relicのアカウント/ライセンスキー(100GBまで無料)
- AWSアカウントとAmazon Linux2インスタンス3台
- javaアプリサーバ
- Otel-Collectorサーバ
- バックエンドサーバ(Jaeger、Prometheus、Loki、Grafana、・・・)
- Javaをインストールする
- https://docs.aws.amazon.com/corretto/latest/corretto-17-ug/amazon-linux-install.html
sudo yum install java-17-amazon-corretto-devel
- https://docs.aws.amazon.com/corretto/latest/corretto-17-ug/amazon-linux-install.html
- OpenTelemetry Java auto-intrumention agentをダウンロードする
- Fluent Bit(ログ連携用)をインストールする
- Node Exporterをインストールする
wget https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz tar xzvf node_exporter-1.6.1.linux-amd64.tar.gz mv node_exporter-1.6.1.linux-amd64/node_exporter /usr/local/bin/
- systemdに登録する
vi /etc/systemd/system/node_exporter.service
[Unit] Description=Node Exporter [Service] ExecStart=/usr/local/bin/node_exporter [Install] WantedBy=multi-user.target
- node_exporterを有効化/実行する
sudo systemctl daemon-reload sudo systemctl enable node_exporter sudo systemctl start node_exporter
- systemdに登録する
- サンプルJavaアプリを実行する
- javaagentを先に指定すること!
java -javaagent:<opentelemetry-javaagent.jarのフルパス> -Dotel.exporter.otlp.endpoint=http://<OpenTelemetry-CollectorのIP>:4318 -Dotel.exporter.otlp.protocol=http/protobuf -Dotel.service.name=petclinic -jar target/*.jar
- Opentelemetry Collectorをインストールする
sudo yum update sudo yum -y install wget systemctl wget https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v0.88.0/otelcol_0.88.0_linux_amd64.rpm sudo rpm -ivh otelcol_0.88.0_linux_amd64.rpm
systemctl status otelcol
でOtel-Collectorが動いていることを確認
Note
New Relicを使う場合は以下のようにライセンスキーを環境変数として設定する ~~~ export NEW_RELIC_LICENSE_KEY=<YOUR_KEY_HERE> ~~~
-
yum install git
でgitをインストールする -
sudo amazon-linux-extras install docker
でDockerをインストールする -
systemctl enable docker && systemctl start docker
でDocker実行する -
Docker Composeをインストールする
sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose docker-compose version
-
Docker ComposeでOpentelemetry Collector、Jaager、Prometheus、Loki、Grafanaを起動する
docker-compose up -d