PromDash로 서버 메트릭 대시보드 만들기
소개
Prometheus와 PromDash를 사용하여 이러한 느낌의 서버 모니터링을위한 대시 보드를 표시합니다.
192.168.x.12: Prometheus와 PromDash
192.168.x.31-33: 모니터링 대상 서버
Prometheus 설치 및 시작
$ wget https://github.com/prometheus/prometheus/releases/download/v1.5.2/prometheus-1.5.2.linux-amd64.tar.gz
$ tar xzvf prometheus-1.5.2.linux-amd64.tar.gz
$ mv prometheus-1.5.2.linux-amd64 prometheus
$ vi prometheus.yml
$ nohup ./prometheus > prometheus.log 2>&1 &
prometheus.yml의 내용
# global config
global:
scrape_interval: 30s #node_exporterなどに問い合わせる頻度
evaluation_interval: 30s
external_labels:
monitor: 'codelab-monitor'
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
# - "first.rules"
# - "second.rules"
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: 'server'
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ['192.168.x.31:9100','192.168.x.32:9100','192.168.x.33:9100']
node_exporter 설치
모니터링할 서버에 node_exporter를 설치합니다.
$ wget https://github.com/prometheus/node_exporter/releases/download/v0.14.0/node_exporter-0.14.0.linux-amd64.tar.gz
$ tar -xzvf node_exporter-0.14.0.linux-amd64.tar.gz
$ sudo ln -s ~/node_exporter/node_exporter-0.14.0.linux-amd64/node_exporter /usr/bin/
service node_exporter start
로 기동할 수 있도록(듯이), /etc/systemd/system/node_exporter.service
에 이하를 기술.여기 Gist 를 참고했습니다.
[Unit]
Description=Prometheus node exporter
After=local-fs.target network-online.target network.target
Wants=local-fs.target network-online.target network.target
[Service]
ExecStart=/usr/bin/node_exporter
Type=simple
[Install]
WantedBy=multi-user.target
$sudo systemctl list-unit-files
$sudo systemctl enable node_exporter.service
$sudo service node_exporter start
PromDash 설치
Prometheus용 대시보드인 PromDash을 설치합니다.
$sudo apt-get install sqlite3 libsqlite3-dev
$sudo apt-get install apt-transport-https ca-certificates
$sudo docker run -p 3000:3000 -v /tmp/prom:/tmp/prom -e DATABASE_URL=sqlite3:/tmp/prom/file.sqlite3 -d prom/promdash
기본 인증 적용
전체에 기본 인증을 합니다.
nginx를 설치.
$sudo apt-get install nginx
.htpasswd 파일을 만듭니다.
$htpasswd -c .htpasswd user
/etc/nginx/site-available/prometheus
에 다음의 nginx용의 설정을 기술. example.com
는 서버의 DNS를 설정합니다. Prometheu 용은 /api/
를 라우팅하고 PromDash는 루트에서 나눕니다.server {
server_name example.com
listen 0.0.0.0:80;
location / {
proxy_pass http://localhost:3000/;
auth_basic "Prometheus";
auth_basic_user_file ".htpasswd";
proxy_set_header X-Host $host;
}
location /api/ {
proxy_pass http://localhost:9090/api/;
auth_basic "Prometheus";
auth_basic_user_file ".htpasswd";
proxy_set_header X-Host $host;
}
}
$sudo ln -s /etc/nginx/sites-available/prometheus /etc/nginx/sites-enabled/prometheus
$sudo service nginx restart
VPC 등에서 192.168.x.12에 액세스하면 대시보드가 표시됩니다.
PromDash에서 설정
추가 서버
Graph 추가
Prometheus 쿼리
node_load1{job=~"server"}
rate(node_network_receive_bytes{job=~"server"}[5m])
rate(node_network_transmit_bytes{job=~"server"}[5m])
node_filefd_allocated{job=~"server"}
node_memory_MemFree{job=~"server"}
rate(node_disk_reads_completed{job=~"server"}[5m])
rate(node_disk_write_completed{job=~"server"}[5m])
마지막으로
이제 서버를 손쉽게 모니터링할 수 있습니다. node_exporter 이외에, 예를 들면 jmx_exporter 라고 하는 것도 있어, cassandra등의 Java로 움직이는 미들웨어의 메트릭스도 표시할 수 있습니다.
참고
node_exporter : htps : // 기주 b. 이 m / p 뻗어 s / 그래서 _ x r r
서비스 설정 : htps : // 기 st. 기주 b. m / da an / ny / 2 a 2141 32c1f601467 39d3 093d6 ec
PromDash : htps : // 기주 b. 코 m / p 로메 ㅇ s- Junka rd / p rom sh
Prometheus 쿼리 : htps : // p 뻗어 s. 이오 / 드 cs / 쿠에리 엔 g / 바시 cs /
기본 인증을 Prometheus 및 PromDash에 적용: htps : // 기주 b. 코 m / p 로메 ㅇ s- 준 캬 rd / p 로 m다 sh / 이스에 s / 341
Reference
이 문제에 관하여(PromDash로 서버 메트릭 대시보드 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/syuhei/items/b4e21a26a6417401288a
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(PromDash로 서버 메트릭 대시보드 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/syuhei/items/b4e21a26a6417401288a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)