OpenTelemetry Collector + Elastic APM দিয়ে Kibana-তে সিস্টেম তথ্য প্রদর্শন করা (Elasticsearch সহ)

7 min

language: ja bn en es hi pt ru zh-cn zh-tw

হ্যালো, আমি অযোগ্য।
সিস্টেম তথ্য পেতে চেষ্টা করেছি।
OpenTelemetry সম্পর্কে শেখার সুযোগের কারণে এবং
❄ NixOS এবং Raspberry Pi দিয়ে হোম সার্ভার | পার্ট 5 CPU তাপমাত্রা মেট্রিক হিসাবে সংগ্রহ করা এটিও দেখেছি, তাই শেষ পর্যন্ত আমি একদিন CPU তাপমাত্রা সংগ্রহ করতে চাই...।
সেই পথের একটি অংশ হিসাবে, আমি এটি চেষ্টা করব।

ইনস্টলেশন

আগের পোস্টেElasticsearch এবং Kibana ইনস্টল করা হয়েছে) তাই এবার OpenTelemetry Collector এবং Elastic APM ইনস্টল করার চেষ্টা করব।
এছাড়াও, এবারও যথারীতি Supervisor দিয়ে ডেমন পরিচালনা করা হচ্ছে, তাই পোস্টের নির্দেশিকা অনুসরণ করলে যে কেউ সফল হবে...।

এবং তার আগে, আমরা ইলাস্টিক ব্যবহারকারীর সেটিংস কনফিগার করব।

cd /usr/share/elasticsearch/
bin/elasticsearch-setup-passwords interactive

এটি কয়েকটি ইলাস্টিক-সম্পর্কিত ব্যবহারকারী তৈরি করবে, তাই নিশ্চিত করুন যে আপনি সঠিকভাবে পাসওয়ার্ড সেট করেছেন।
এবং তারপর vim/elasticsearasticsearch.yml

xpack.security.enabled: true
xpack.security.authc.api_key.enabled: true

যোগ করুন।

এখন অবশেষে opentelemetry-collector ইনস্টল করা যাক। নিচের লিঙ্ক থেকে .deb প্যাকেজটি ডাউনলোড করুন।
httpithub.cen-telemetentelemetry-collector-releasleases

wget https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v0.109.0/otelcol_0.109.0_linux_amd64.deb
sudo dpkg -i  otelcol_0.109.0_linux_amd64.deb 

এরপর Elastic APM Server ইনস্টল করব।
httpww.elastic.i/arvtup-repositories.html

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
sudo apt-get install apt-transport-https
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
sudo update-rc.d apm-server defaults 95 10

apm-server এর সেটিংস কনফিগার করব।vim/apm-servm-server.yml

apm-server:
  host: "0.0.0.0:8200"
  protocol: "http"
  username: "elastic"
  password: "ইলাস্টিক ব্যবহারকারীর পাসওয়ার্ড"
  rum:
    enabled: true
  ilm:
    enabled: "auto"
output.elasticsearch:
  username: "elastic"
  password: "ইলাস্টিক ব্যবহারকারীর পাসওয়ার্ড"
instrumentation:
  enabled: true
setup.kibana:
  host: "kibana:5601"

এখন, আমি ভাবছি এই সেটিংস কি সঠিক...।
এবং তারপর, opentelemetry-collector এর সেটিংস। অনেক কিছু পরিবর্তন করতে হবে, তাই একবার ব্যাকআপ নেওয়ার পর এডিট করুন।

sudo cp -p /etc/otelcol/config.yaml /etc/otelcol/bak.config.yaml
sudo vim /etc/otelcol/config.yaml
receivers:
  hostmetrics:
    collection_interval: 10s
    scrapers:
      cpu:
      memory:
      disk:
      filesystem:
      network:
      load:
      paging:

processors:
  batch:

exporters:
  otlp:
    endpoint: "localhost:8200"
    tls:
      insecure: true

service:
  pipelines:
    metrics:
      receivers: [hostmetrics]
      processors: [batch]
      exporters: [otlp]
  telemetry:
    logs:
      level: "info"
    metrics:
      level: "detailed"
      address: "0.0.0.0:8888"

বিশেষ করে যে জিনিসটি আমাকে আটকে দিয়েছিল তা হল insecure: true এখানে, এটি ছাড়া কিছুতেই কাজ করছিল না...।

যাইহোক, init.d এ ডেমন স্ক্রিপ্ট তৈরি করা হয়েছিল কিন্তু এটি সঠিকভাবে কাজ করছিল না, তাই আমি এটি Supervisor দিয়ে সেট আপ করব।
কমান্ডের ডেমন এক্সিকিউশনের জন্য, নিশ্চিত করুন যে আপনি এটি সঠিকভাবে which দিয়ে পরীক্ষা করেছেন এবং সঠিক পথ ব্যবহার করেছেন।

APM-সার্ভার এটি

sudo cat /etc/supervisor/conf.d/apm-server.conf
[program:apm-server]
command=/usr/bin/apm-server -e -c /etc/apm-server/apm-server.yml
autostart=true
autorestart=true
redirect_stderr=true
stderr_logfile=/var/log/apm-server/apm-server.error.log
stdout_logfile=/var/log/apm-server/apm-server.out.log
user=apm-server

OpenTelemetry Collector এটি

sudo cat/supervisnfelcol.conf 
[program:otelcol]
commanr/belcol --confic/otelcnfig.yaml
autostart=true
autorestart=true
stderr_logfilr/lelcelcol.err.log
stdout_logfilr/lelcelcol.out.log
user=otel 
environment=OTEL_EXPORTER_OTLP_ENDPOINT="httocalhost:4317"

OTEL_EXPORTER_OTLP_ENDPOINT সম্পর্কে

Supervisor দিয়ে প্রয়োগ করুন।

sudo supervisorctl reread 
sudo supervisorctl update
sudo supervisorctl start apm-server
sudo supervisorctl start otelcol

এছাড়াও, নিশ্চিত করার জন্য elasticsearch এবং kibana পুনরায় চালু করুন।

ব্রাউজারের Kibana থেকে যাচাই করুন

ছবি
যদি APM সার্ভারের সাথে সঠিকভাবে সংযোগ স্থাপন করা হয়, Observability -> APM থেকে যাচাই করা যাবে।
এছাড়াও Analytics -> Dashboard থেকে এইভাবে সেট আপ করা যেতে পারে।
ছবি

আমি হোঁচট খেয়েছিলাম, কিন্তু
ছবি
এখানে TSVB
থেকে
ছবি
এটি নির্বাচন করলে প্রদর্শিত হবে। এছাড়াও, যদি ডিসপ্লেটি অদ্ভুত হয়, তাহলে চার্টের অংশে স্পর্শ করলে প্রদর্শিত টাইমস্ট্যাম্প স্বয়ংক্রিয়ভাবে পরিবর্তিত হতে পারে, তাই উপরের ডানদিকে
ছবি
এখান থেকে সময়সীমা পরিবর্তন করে দেখুন।
যাইহোক, আমি এটি নিয়ে খেলতে গিয়ে অর্ধেক দিন চলে গেল।
তাহলে আবার দেখা হবে।
ধন্যবাদ। (পান করতে গিয়ে ফাঁকি দিয়েছিলাম বলে দ্রুত 3টি পোস্ট আপডেট করেছি!)

Related Posts