반응형
728x170
정의
미리 정의된 작업을 하는 소프트웨어나 서비스를 지칭하는 것으로
여기서는 프로메테우스에게 Metric을 노출하는 작업을 함(다른 곳으로도 Exporting 가능함)
Exporter의 Endpoint를 이용하여 Prometheus가 Scaraping을 할 수 있음
특징
가볍고 효율적으로 작동함 => 기존에 있는 애플리케이션을 방해하지 않을 정도로 가벼움
일반적으로 text-based 형식으로 Metric을 노출시킴(ex. Prometheus Format)
종류
- Node Exporter: Exports machine-level metrics such as CPU, memory, and disk usage from a Linux machine.
- Blackbox Exporter: Allows Prometheus to probe HTTP, HTTPS, DNS, TCP and ICMP endpoints, as well as SNMP and JMX.
- JMX Exporter: Exports metrics from Java applications that expose JMX metrics.
- MySQL Exporter: Exports metrics from a MySQL database, such as query and performance statistics.
- PostgreSQL Exporter: Exports metrics from a PostgreSQL database, such as query and performance statistics.
- HAProxy Exporter: Exports metrics from a HAProxy load balancer, such as request and connection counts, response times, and errors.
- Redis Exporter: Exports metrics from a Redis key-value store, such as memory usage, command statistics, and connected clients.
- Kafka Exporter: Exports metrics from Apache Kafka, such as message rates, byte rates, and broker lag.
- MongoDB Exporter: Exports metrics from MongoDB, such as global lock statistics, connection statistics, and storage statistics
- Kubernetes Exporter : Exports metrics from Kubernetes clusters, such as pod, nodes and controller details.
제일 일반적인 Exporter인 Node Exporter 연동
Node Exporter가 노출하는 메트릭
Category | Metrics |
CPU | percent_usage, cores, context_switches |
Memory | total, used, available, cache, swap_total, swap_used, swap_free |
Disk | total, free, available, read_count, write_count, read_time, write_time, io_time, io_time_weighted, io_time_weighted_recursive, io_time_weighted_recursive_total |
Network | packets_received, packets_sent, bytes_received, bytes_sent, receive_errs, send_errs, dropped_in, dropped_out |
Load | load1, load5, load15 |
Uptime | uptime_seconds |
File system | inodes_total, inodes_used, inodes_free, space_total, space_used, spac |
설치
#Node Exporter의 디렉토리 생성
sudo mkdir /opt/node_exporter
#해당 version에 맞는 exporter를 해당 디렉토리에 설치
sudo wget https://github.com/prometheus/node_exporter/releases/download/{version}/node_exporter-{version}.linux-amd64.tar.gz -P /opt/node_exporter
#tar 묶음을 해제
cd /opt/node_exporter
sudo tar -xzf node_exporter-*.linux-amd64.tar.gz
실행
#Exporter를 service 파일로 만듦
sudo nano /etc/systemd/system/node_exporter.service
#node_exporter.service
#=======================
[Unit]
Description=Node Exporter
After=network.target
[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/opt/node_exporter/node_exporter --web.listen-address=":9100" --web.telemetry-path="/metrics" --collector.cpu --collector.meminfo --collector.filesystem --collector.loadavg --collector.netdev
Restart=always
[Install]
WantedBy=multi-user.target
#=======================
#서비스 시작
sudo systemctl daemon-reload
sudo systemctl start node_exporter
#확인
sudo systemctl status node_exporter
#스타트업 서비스로 등록
sudo systemctl enable node_exporter
#프로메테우스에 target 추가
# node exporter는 기본적으로 9100 포트를 사용함
#======================= other machine has benn installed prometheus
scrape_configs:
- job_name: 'node'
scrape_interval: 15s
static_configs:
- targets: ['localhost:9100']
#프로메테우스 재시작 후 메트릭 수집 확인
#메트릭 확인 방법
curl http://localhost:9100/metrics
참고링크
https://prometheus.io/docs/guides/node-exporter/
728x90
반응형
그리드형
'DevOps > Prometheus' 카테고리의 다른 글
Prometheus - Practice (0) | 2023.07.09 |
---|---|
Prometheus_ (0) | 2023.01.13 |
프로메테우스, Prometheus Up & Running - ch.1 (0) | 2022.11.07 |
Prometheus, 프로메테우스 기본 개념 (0) | 2022.10.02 |