OpenTelemetry Collector + Elastic APM के साथ Kibana में सिस्टम जानकारी प्रदर्शित करें (Elasticsearch के साथ)
नमस्ते, मैं अक्षम हूँ।
मैंने सिस्टम जानकारी प्राप्त करने की कोशिश की।
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 लेखों का एक तूफानी अपडेट!)