프로메테우스는 오픈 소스 기반의 모니터링 및 경고 도구로, 분산된 시스템에서 성능 및 상태를 실시간으로 수집하고 분석합니다. Prometheus는 간편한 설정과 확장성, 강력한 쿼리 언어를 제공하여 클라우드 및 온프레미스 환경에서 활용됩니다. 이를 통해 사용자는 시스템의 건강 상태를 모니터링하고 잠재적인 문제를 신속하게 식별하여 대응할 수 있습니다.
Architecture
프로메테우스는 순수한 숫자 시계열을 기록하는 데 효과적입니다. 기계 중심 모니터링과 높은 동적 서비스 지향 아키텍처의 모니터링에 모두 잘 맞습니다. 마이크로서비스 환경에서 다차원 데이터 수집 및 쿼리 지원은 특히 강점입니다.
프로메테우스는 신뢰성을 갖추고 있어 장애 발생 시 빠르게 문제를 진단할 수 있는 시스템으로 설계되었습니다. 각 프로메테우스 서버는 독립적이며 네트워크 저장소나 기타 원격 서비스에 의존하지 않습니다. 다른 인프라 구성 요소가 고장 났을 때도 프로메테우스에 의지할 수 있으며, 확장된 인프라 설정이 필요하지 않습니다.
1.다운로드
https://prometheus.io/download
가장 최신 버전이 2.48.0입니다. .tar.gz URL을 복사하고 해당 URL을 서버의 어딘가에 wget이나 cURL을 사용하여 다운로드하세요.
wget https://github.com/prometheus/prometheus/releases/download/v2.48.0/prometheus-2.48.0.linux-amd64.tar.gz
Prometheus의 최신 버전을 다운로드한 후에, 다음 명령어를 사용하여 다운로드한 tar 파일의 내용물을 추출하십시오.
tar xvf prometheus-2.48.0.linux-amd64.tar.gz
cd prometheus-2.48.0.linux-amd64
시스템에 prometheus를 위한 사용자를 생성합니다.
sudo useradd --no-create-home --shell /bin/false prometheus
그리고 바이너리 파일인 prometheus의 소유자를 방금 만든 사용자로 설정합니다.
sudo chown prometheus:prometheus /etc/prometheus/prometheus-2.48.0.linux-amd64/prometheus
서버 부팅 시 항상 prometheus 서비스가 시작되어 정보를 수집할 수 있도록 설정해야 합니다. nano를 사용하여 prometheus.service 파일을 생성합니다.
sudo nano /etc/systemd/system/prometheus.service
[Unit]
Description=Prometheus Monitoring System
Wants=network-online.target
After=network-online.target
[Service]
User=prometheus
Group=prometheus
Restart=always
ExecStart=/etc/prometheus/prometheus-2.48.0.linux-amd64/prometheus \
--config.file=/etc/prometheus/prometheus-2.48.0.linux-amd64/prometheus.yml \
--storage.tsdb.path=/etc/prometheus/prometheus-2.48.0.linux-amd64/tsdb/ \
--web.console.templates=/etc/prometheus/prometheus-2.48.0.linux-amd64/consoles \
--web.console.libraries=/etc/prometheus/prometheus-2.48.0.linux-amd64/console_libraries \
--web.listen-address=0.0.0.0:9090
[Install]
WantedBy=default.target
nano를 닫고 파일에 대한 변경 사항을 저장하세요. 그런 다음 다음 명령으로 데몬을 다시 로드하세요
sudo systemctl daemon-reload
다음 명령을 사용하여 node_exporter 서비스를 활성화하세요
sudo systemctl enable prometheus
서비스를 시작하세요
sudo systemctl start prometheus
sudo systemctl status prometheus
● prometheus.service - Prometheus Monitoring System
Loaded: loaded (/etc/systemd/system/prometheus.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2023-11-26 13:58:00 UTC; 3s ago
Main PID: 2648915 (prometheus)
Tasks: 5 (limit: 1033)
Memory: 21.1M
CPU: 103ms
CGroup: /system.slice/prometheus.service
└─2648915 /etc/prometheus/prometheus-2.48.0.linux-amd64/prometheus --config.file=/etc/prometheus/prometheus-2.48.0.linux-amd64/prometheus.yml --storage.tsdb.path=/etc/prometheus>
prometheus에 node_exporter등록
sudo nano prometheus.yml
global:
scrape_interval: 5s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
evaluation_interval: 5s # Evaluate rules every 15 seconds. The default is every 1 minute.
alerting:
alertmanagers:
- static_configs:
- targets:
rule_files:
scrape_configs:
- job_name: "prometheus"
static_configs:
- targets: ["localhost:9090"]
- job_name: "NodeExporter"
static_configs:
- targets: ["localhost:9100"]
웹페이지에서 확인
localhost:9090 설치서버
'Server > Ubuntu' 카테고리의 다른 글
MariaDB 간단한 설치과정 (0) | 2024.01.13 |
---|---|
SSH로 파일 전송방법 (0) | 2024.01.13 |
리눅스 Swap메모리 늘리는 방법 (2) | 2024.01.13 |
[Ubuntu] MariaDB 일일 백업을 수행 셸 스크립트 (0) | 2023.02.09 |
[Ubuntu] Nginx를 사용하여 PHP를 구성하는 방법 (0) | 2023.02.09 |