이번에는 NGINX 의 stub_status 를 Grafana 에서 모니터링하는걸 해보겠습니다.

 

sudo apt install -y prometheus-nginx-exporter

sudo systemctl daemon-reload
sudo systemctl enable prometheus-nginx-exporter.service
sudo service prometheus-nginx-exporter restart
sudo service prometheus-nginx-exporter status

 

prometheus-nginx-exporter 를 설치합니다.

 

sudo vi /etc/nginx/conf.d/stub_status.conf

 

NGINX 의 stub_status 를 가져오기 위해서, NGINX 설정 파일을 하나 생성합니다.

 

server {
    listen 8080;

    location /stub_status {
        stub_status on;
        access_log off;
        allow 127.0.0.1;
        deny all;
    }
}

 

그리고 위의 내용을 입력합니다.

 

sudo service nginx restart
sudo service prometheus-nginx-exporter restart

 

입력이 완료돼면, NGINX 와 exporter 를 재시작해줍니다.

 

http://{Your NGINX Exporter IP}:9113/metrics

 

위의 주소로 접속해서 아래와 같은 화면이 나오면 성공입니다.

 

 

그러면 이제 Grafana 가 설치됀 Prometheus 설정 파일을 수정합니다.

 

sudo vi /etc/prometheus/prometheus.yml

 

맨 아래쪽에 prometheus-nginx-exporter 용 9113 포트 정보를 추가합니다.

 

  - job_name: node
    # If prometheus-node-exporter is installed, grab stats about the local
    # machine by default.
    static_configs:
      - targets:
          - 'localhost:9100'

          # test server
          - '{Your Node Exporter IP}:9100'
          - '{Your NGINX Exporter IP}:9113'
    relabel_configs:
      - source_labels: ['__address__']
        regex: 'localhost:91[0-9]+'
        target_label: instance
        replacement: 'Grafana'

      - source_labels: ['__address__']
        regex: '{Your}\.{NGINX}\.{Exporter}\.{IP}:91[0-9]+'
        target_label: instance
        replacement: 'Test'

 

여기서 Node Exporter IP와 NGINX Exporter IP 는 동일합니다.

 

만약에 다른 경우는 아래쪽에 source_labels 를 적절하게 추가하셔야합니다.

 

sudo service prometheus restart

 

Prometheus 서버 설정이 바뀌었으니, 서비스 재시작을 해줍니다.

 

http://{Your Master Prometheus IP}:9090/targets

 

타겟에서 정상적으로 데이터를 불러오는지 확인해봅니다.

 

 

정상적으로 추가돼었습니다.

 

Grafana 대시보드에 prometheus-nginx-exporter 용 대시보드를 추가합니다.

 

nginx-prometheus-exporter/README.md at master · nginxinc/nginx-prometheus-exporter · GitHub

 

GitHub - nginxinc/nginx-prometheus-exporter: NGINX Prometheus Exporter for NGINX and NGINX Plus

NGINX Prometheus Exporter for NGINX and NGINX Plus - GitHub - nginxinc/nginx-prometheus-exporter: NGINX Prometheus Exporter for NGINX and NGINX Plus

github.com

 

위의 대시보드를 추가합니다.

 

https://raw.githubusercontent.com/nginxinc/nginx-prometheus-exporter/master/grafana/dashboard.json

 

위의 주소로 접속해서, 내용을 전부 복사하신후에, 아래의 이미지처럼 json 파일 내용을 입력 후 Load 합니다.

 

 

로드하시고 데이터 선택하시면, 아래와 같은 대시보드가 나오게 됍니다.

 

 

Instance 에 Grafana..

(Grafana 가 설치됀 prometheus 는 Grafana 로 설정돼어있습니다.)

 

localhost 가 없는 이유는, localhost 에는 9113 포트로 데이터를 입력받지 않기 때문입니다.

(localhost 는 node-exporter 만 입력받기 때문에, Linux 대시보드에서만 보이게 됍니다.)

 

또 다른 외부서버도 이렇게 추가하시면 이번에 추가한 서버와 새롭게 추가됀 서버 2개의 instance 가 선택 가능하게 됍니다.

 

무료버전 NGINX 자체가 모니터링툴이 많은 정보를 보여주지 않기 때문에, 위의 이미지에서 보이는 대시보드가 모든 정보입니다.

 

그래서 NGINX 의 경우는 access.log 파일을 가지고 대시보드를 만들게 됍니다.

 

이거는 다음글에서 확인하도록 하겠습니다.

Posted by Pure Ani

RE:D Cherish! -Eternity Blood- CRYSTALiA

放課後シンデレラ2 HOOKSOFT

花鐘カナデ*グラム NanaWind

フタマタ恋愛 ASa Project

スタディ§ステディ2 ま~まれぇど

リンパにATATA! ~メス牡蠣ミルクどぴゅらっしゅ~ Hending

創作彼女の恋愛公式 Aino+Links

流星ワールドアクター Heliodor

Secret Agent~騎士学園の忍びなるもの~ ensemble

天冥のコンキスタ エウシュリー

HaremKingdom -ハーレムキングダム- SMEE

ラズベリーキューブ まどそふと

ノラと皇女と野良猫ハート2 -Nora, Princess, and Crying Cat.- HARUKAZE

『ノラと皇女と野良猫ハート2』応援中♪

ピュアソングガーデン PULLTOP

はにデビ! Honey&Devil eufonie

姫繰三六五 HIMEKURI365

姫繰三六五 公式ウェブサイト

はるるみなもに! クロシェット

死に逝く君、館に芽吹く憎悪 バグシステム

Sanguinea-サングイネア- すにぃる

麗華の館 しすたーそふと

カスタムメイドオンライン KISS