বহুকাল আগে, পর্যবেক্ষণযোগ্যতা যেমন আমরা জানি এর অস্তিত্ব ছিল না; আমরা পরিবর্তে কি ছিল নিরীক্ষণ ছিল. তখন, মনিটরিং ছিল ড্যাশবোর্ড প্রদর্শনকারী স্ক্রিনের দিকে একগুচ্ছ মানুষ। ড্যাশবোর্ডগুলি নিজেই মেট্রিক্স এবং শুধুমাত্র সিস্টেম মেট্রিক্স নিয়ে গঠিত: প্রধানত CPU, মেমরি এবং ডিস্ক ব্যবহার। এই কারণে, আমরা মেট্রিক্স দিয়ে শুরু করব।
version: "3" services: fake-metrics: build: ./fake-metrics-generator #1 collector: image: otel/opentelemetry-collector:0.87.0 #2 environment: #3 - METRICS_HOST=fake-metrics - METRICS_PORT=5000 volumes: - ./config/collector/config.yml:/etc/otelcol/config.yaml:ro #4
receivers: #1 prometheus: #2 config: scrape_configs: #3 - job_name: fake-metrics #4 scrape_interval: 3s static_configs: - targets: [ "${env:METRICS_HOST}:${env:METRICS_PORT}" ] exporters: #5 logging: #6 loglevel: debug service: pipelines: #7 metrics: #8 receivers: [ "prometheus" ] #9 exporters: [ "logging" ] #9
prometheus
প্রাক-সংজ্ঞায়িত রিসিভার ব্যবহার করিprometheus
রিসিভার থেকে ডেটা পায় এবং logging
রপ্তানিকারকের কাছে পাঠায়, অর্থাৎ , সেগুলি প্রিন্ট করে
2024-11-11 08:28:54 otel-collector-collector-1 | StartTimestamp: 1971-01-01 00:00:00 +0000 UTC 2024-11-11 08:28:54 otel-collector-collector-1 | Timestamp: 2024-11-11 07:28:54.14 +0000 UTC 2024-11-11 08:28:54 otel-collector-collector-1 | Value: 83.090000 2024-11-11 08:28:54 otel-collector-collector-1 | NumberDataPoints #1 2024-11-11 08:28:54 otel-collector-collector-1 | Data point attributes: 2024-11-11 08:28:54 otel-collector-collector-1 | -> fake__embrace_world_class_systems: Str(concept) 2024-11-11 08:28:54 otel-collector-collector-1 | -> fake__exploit_magnetic_applications: Str(concept) 2024-11-11 08:28:54 otel-collector-collector-1 | -> fake__facilitate_wireless_architectures: Str(extranet) 2024-11-11 08:28:54 otel-collector-collector-1 | -> fake__grow_magnetic_communities: Str(challenge) 2024-11-11 08:28:54 otel-collector-collector-1 | -> fake__reinvent_revolutionary_applications: Str(support) 2024-11-11 08:28:54 otel-collector-collector-1 | -> fake__strategize_strategic_initiatives: Str(internet_solution) 2024-11-11 08:28:54 otel-collector-collector-1 | -> fake__target_customized_eyeballs: Str(concept) 2024-11-11 08:28:54 otel-collector-collector-1 | -> fake__transform_turn_key_technologies: Str(framework) 2024-11-11 08:28:54 otel-collector-collector-1 | -> fake__whiteboard_innovative_partnerships: Str(matrices) 2024-11-11 08:28:54 otel-collector-collector-1 | StartTimestamp: 1971-01-01 00:00:00 +0000 UTC 2024-11-11 08:28:54 otel-collector-collector-1 | Timestamp: 2024-11-11 07:28:54.14 +0000 UTC 2024-11-11 08:28:54 otel-collector-collector-1 | Value: 53.090000 2024-11-11 08:28:54 otel-collector-collector-1 | NumberDataPoints #2 2024-11-11 08:28:54 otel-collector-collector-1 | Data point attributes: 2024-11-11 08:28:54 otel-collector-collector-1 | -> fake__expedite_distributed_partnerships: Str(approach) 2024-11-11 08:28:54 otel-collector-collector-1 | -> fake__facilitate_wireless_architectures: Str(graphical_user_interface) 2024-11-11 08:28:54 otel-collector-collector-1 | -> fake__grow_magnetic_communities: Str(policy) 2024-11-11 08:28:54 otel-collector-collector-1 | -> fake__reinvent_revolutionary_applications: Str(algorithm) 2024-11-11 08:28:54 otel-collector-collector-1 | -> fake__transform_turn_key_technologies: Str(framework) 2024-11-11 08:28:54 otel-collector-collector-1 | StartTimestamp: 1971-01-01 00:00:00 +0000 UTC 2024-11-11 08:28:54 otel-collector-collector-1 | Timestamp: 2024-11-11 07:28:54.14 +0000 UTC 2024-11-11 08:28:54 otel-collector-collector-1 | Value: 16.440000 2024-11-11 08:28:54 otel-collector-collector-1 | NumberDataPoints #3 2024-11-11 08:28:54 otel-collector-collector-1 | Data point attributes: 2024-11-11 08:28:54 otel-collector-collector-1 | -> fake__exploit_magnetic_applications: Str(concept) 2024-11-11 08:28:54 otel-collector-collector-1 | -> fake__grow_magnetic_communities: Str(graphical_user_interface) 2024-11-11 08:28:54 otel-collector-collector-1 | -> fake__target_customized_eyeballs: Str(extranet)
exporters: prometheus: #1 endpoint: ":${env:PROMETHEUS_PORT}" #2 service: pipelines: metrics: receivers: [ "prometheus" ] exporters: [ "prometheus" ] #3
prometheus
রপ্তানিকারক যোগ করুন
exporters: prometheus: #1 endpoint: ":${env:PROMETHEUS_PORT}" logging: #2 loglevel: debug service: pipelines: metrics: receivers: [ "prometheus" ] exporters: [ "prometheus", "logging" ] #3
নোট করুন যে রিসিভার এবং রপ্তানিকারীরা তাদের ধরন নির্দিষ্ট করে এবং তাদের প্রত্যেককে অবশ্যই অনন্য হতে হবে। শেষ প্রয়োজনীয়তা মেনে চলার জন্য, আমরা তাদের মধ্যে পার্থক্য করার জন্য একটি কোয়ালিফায়ার যোগ করতে পারি, যেমন , prometheus/foo
এবং prometheus/bar.
আপনি কনফিগারেশন ফাইলের processors
বিভাগে ডেটা প্রসেসর ঘোষণা করেন। কালেক্টর তাদের ঘোষিত আদেশে তাদের মৃত্যুদন্ড কার্যকর করে। আসুন উপরের রূপান্তরটি বাস্তবায়ন করি।
collector: image: otel/opentelemetry-collector-contrib:0.87.0 #1 environment: - METRICS_HOST=fake-metrics - METRICS_PORT=5000 - PROMETHEUS_PORT=8889 volumes: - ./config/collector/config.yml:/etc/otelcol-contrib/config.yaml:ro #2
contrib
স্বাদ ব্যবহার করুন
processors: metricstransform: #1 transforms: #2 - include: ^fake_(.*)$ #3 match_type: regexp #3 action: update operations: #4 - action: add_label #5 new_label: origin new_value: fake - include: ^fake_(.*)$ match_type: regexp action: update #6 new_name: $${1} #6-7 # Do the same with metrics generated by NodeJS
$${x}
service: pipelines: metrics: receivers: [ "prometheus" ] processors: [ "metricstransform" ] exporters: [ "prometheus" ]
একটি সংযোগকারী একটি রিসিভার এবং একটি রপ্তানিকারক উভয়ই এবং দুটি পাইপলাইনকে সংযুক্ত করে। ডকুমেন্টেশন থেকে উদাহরণটি স্প্যানের সংখ্যা (ট্রেসিং) পায় এবং গণনা রপ্তানি করে, যার একটি মেট্রিক রয়েছে। আমি 500 ত্রুটির সাথে একই অর্জন করার চেষ্টা করেছি - স্পয়লার: এটি উদ্দেশ্য হিসাবে কাজ করে না।
receivers: filelog: include: [ "/var/logs/generated.log" ]
connectors: count: requests.errors: description: Number of 500 errors condition: [ "status == 500 " ]
service: pipelines: logs: receivers: [ "filelog" ] exporters: [ "count" ] metrics: receivers: [ "prometheus", "count" ]
মেট্রিকটির নাম দেওয়া হয়েছে log_record_count_total
, কিন্তু এর মান 1 এ থাকে।
receivers: filelog: include: [ "/var/logs/generated.log" ] operators: - type: json_parser #1 timestamp: #2 parse_from: attributes.datetime #3 layout: "%d/%b/%Y:%H:%M:%S %z" #4 severity: #2 parse_from: attributes.status #3 mapping: #5 error: 5xx #6 warn: 4xx info: 3xx debug: 2xx - id: remove_body #7 type: remove field: body - id: remove_datetime #7 type: remove field: attributes.datetime - id: remove_status #7 type: remove field: attributes.status
501-599
। এইচটিটিপি স্ট্যাটাসের জন্য অপারেটরের একটি বিশেষ ব্যাখ্যা করা মান 5xx
(এবং অনুরূপ) রয়েছে।
exporters: loki: endpoint: "//loki:3100/loki/api/v1/push"
service: telemetry: logs:
service: pipelines: logs: receivers: [ "filelog" ] exporters: [ "loki" ]
আরো যেতে:
মূলত 12ই নভেম্বর, 2023-এ এ