prometheus 는 오픈소스 모니터링 솔루션이고 뛰어난 쿼리 및 시각화를 할수 있는 오픈소스이다
프로메테우스의 주요 기능은 다음과 같습니다.
- 측정항목 이름과 키/값 쌍으로 식별되는 시계열 데이터가 포함된 다차원 데이터 모델
- 이러한 차원성을 활용하는 유연한 쿼리 언어인 PromQL
- 분산 스토리지에 의존하지 않습니다. 단일 서버 노드는 자율적입니다.
- 시계열 수집은 HTTP를 통한 풀 모델을 통해 발생합니다.
- 푸시 시계열은 중간 게이트웨이를 통해 지원됩니다.
- 대상은 서비스 검색 또는 정적 구성을 통해 검색됩니다.
- 다양한 그래프 작성 및 대시보드 지원 모드
O/S 버전
1 2 |
[root@localhost ~]# cat /etc/redhat-release Rocky Linux release 8.8 (Green Obsidian) |
1. 유저추가
1 |
[root@www ~]# useradd -m -s /bin/bash prometheus |
2. 파일 다운로드 및 압축해제 경로 이동
1 2 3 4 5 |
[root@www ~]# wget https://github.com/prometheus/prometheus/releases/download/v2.47.2/prometheus-2.47.2.linux-amd64.tar.gz [root@www ~]# tar xvfz prometheus-2.47.2.linux-amd64.tar.gz [root@www ~]# mv prometheus-2.47.2.linux-amd64 /usr/local/prometheus |
3. 서비스 시작파일 생성
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
[root@www ~]# vi /etc/systemd/system/prometheus.service [Unit] Description=Prometheus Server Documentation=https://prometheus.io/docs/introduction/overview/ After=network-online.target [Service] User=prometheus Restart=on-failure ExecStart=/usr/local/prometheus/prometheus \ --config.file=/usr/local/prometheus/prometheus.yml \ --storage.tsdb.path=/usr/local/prometheus/data [Install] WantedBy=multi-user.target |
4. 서비스 권한변경 및 등록 및 시작
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
[root@www ~]# chown -R prometheus:prometheus /usr/local/prometheus/ [root@www ~]# systemctl daemon-reload [root@www ~]# systemctl start prometheus [root@www ~]# systemctl status prometheus.service ● prometheus.service - Prometheus Server Loaded: loaded (/etc/systemd/system/prometheus.service; disabled; vendor preset: disabled) Active: active (running) since Thu 2023-10-19 18:05:30 KST; 3s ago Docs: https://prometheus.io/docs/introduction/overview/ Main PID: 1099227 (prometheus) Tasks: 21 (limit: 100403) Memory: 21.8M CGroup: /system.slice/prometheus.service └─1099227 /usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml --storage.tsdb.path=/usr/local/promethues/data/prometheus_data |
5. 서비스 확인 9090 포트로 접속확인
1 2 |
[root@www ~]# curl localhost:9090 <a href="/graph">Found</a>. |
6. yml 파일을 등록해서 사용
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
scrape_configs: # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. - job_name: "ksms_db_server" static_configs: - targets: ["localhost:9100"] - job_name: "mrtg-server" static_configs: - targets: ["192.168.3.11:9100"] - job_name: "cloud1" scrape_interval: 5s static_configs: - targets: ["192.168.3.12:9182"] |
서비스 재시작
1 |
[root@www ~]# systemctl restart prometheus |