makaleler / Debian / Ubuntu / Pardus / Grafana Kurulumu ve Sunucuların Monitör Edilmesi

Grafana Kurulumu ve Sunucuların Monitör Edilmesi

29.01.2023 21:02:11

Grafana ile sunucularınızı ve Nginx Loglarınızı çok rahat bir şekilde takip edebilirsiniz.

Grafana'nın yetenekleri oldukça fazla ve görselliği ile yeterince beyenilen ve bir çok veriyi tek bir noktadan takip etmemizi sağlayan açık kaynak kodlu bir uygulamadır. Kurulum için debian işletim sistemi tercih edeceğim.



Grafana Kurulumu

Arayüz ve pluginlerin yönetim için gerekli olan Grafana.


su -
mkdir grafana
cd grafana
wget [url]https://dl.grafana.com/oss/release/grafana_9.3.6_amd64.deb[/url]
dpkg -i grafana_9.3.6_amd64.deb
systemctl status grafana-server.service


Grafana Konfig Dosyası
vim /etc/grafana/grafana.ini
[server]
protocol = http
http_addr = 127.0.0.1
http_port = 3000
domain = 127.0.0.1
root_url = [url]http://127.0.0.1:3000[/url]

[security]
admin_user = admin
admin_password = admin
secret_key = xxxxx


Prometheus Kurulumu

Anlık akışları grafana için köprü kurmasına yardımcı olacak.


su -
mkdir grafana/prometheus
cd grafana/prometheus
wget [url]https://github.com/prometheus/prometheus/releases/download/v2.42.0-rc.0/prometheus-2.42.0-rc.0.linux-amd64.tar.gz[/url]
tar xzvf prometheus-2.42.0-rc.0.linux-amd64.tar.gz
cd prometheus-2.42.0-rc.0.linux-amd64/


Prometheus Konfig Dosyası
vim prometheus.yml
global:
  scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.

alerting:
  alertmanagers:
    - static_configs:
        - targets:
          # - alertmanager:9093

rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

scrape_configs:
  - job_name: "prometheus"
    static_configs:
      - targets: ["localhost:9090"]

  - job_name: node
    static_configs:
      - targets: ['localhost:9100']


Çalıştırmak İçin
./prometheus --config.file=prometheus.yml


Servis dosyasını oluşturlalım.
vim /etc/systemd/system/prometheus.service
[Unit]
Description=Prometheus Service
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=root
Group=root
ExecStart=/root/Download/grafana/prometheus/prometheus-2.42.0-rc.0.linux-amd64/prometheus --config.file=/root/Download/grafana/prometheus/prometheus-2.42.0-rc.0.linux-amd64/prometheus.yml

Restart=always

[Install]
WantedBy=multi-user.target

systemctl status prometheus.service


Node Exporter Kurulumu

Sunucumuzun bilgilerini izlememizi sağlayacak CPU, MEM vb...


su -
mkdir grafana/node_exporter
cd grafana/node_exporter
wget [url]https://github.com/prometheus/node_exporter/releases/download/v1.5.0/node_exporter-1.5.0.linux-amd64.tar.gz[/url]
tar xvfz node_exporter-1.5.0.linux-amd64.tar.gz
cd node_exporter-1.5.0.linux-amd64/
./node_exporter


Servisimiz kuralım
vim /etc/systemd/system/node-exporter.service
[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=root
Group=root
ExecStart=/root/Download/grafana/node_exporter/node_exporter-1.5.0.linux-amd64/node_exporter

Restart=always

[Install]
WantedBy=multi-user.target

Nginx ve benzeri logların monitöring edilmesi gerekli olan servisler LOKI, PROMTAIL


Promtail Kurulumu
su -
mkdir grafana/promtail
cd grafana/promtail
wget [url]https://github.com/grafana/loki/releases/download/v2.7.2/promtail-linux-amd64.zip[/url]
unzip promtail-linux-amd64.zip


Promtail Config Dosyası
vim promtail-config.yml
server:
  http_listen_port: 9080
  grpc_listen_port: 0

positions:
  filename: /tmp/positions.yaml

clients:
  - url: [url]http://127.0.0.1:3100/loki/api/v1/push[/url]

scrape_configs:

- job_name: local
  static_configs:
  - targets:
      - 127.0.0.1
    labels:
      job: varlogs
      __path__: /var/log/nginx/*log


Çalıştırmak İçin
./promtail-linux-amd64 -config.file=promtail-config.yml


Servis dosyası
vim /etc/systemd/system/promtail.service
[Unit]
Description=Promtail Service
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=root
Group=root
ExecStart=/root/Download/grafana/promtail/promtail-linux-amd64 --config.file=/root/Download/grafana/promtail/promtail-config.yml

Restart=always

[Install]
WantedBy=multi-user.target

systemctl start promtail
systemctl enable promtail


Loki Kurulumu
su -
mkdir grafana/loki
cd grafana/loki
curl -O -L "[url]https://github.com/grafana/loki/releases/download/v2.7.2/loki-linux-amd64.zip[/url]"
unzip "loki-linux-amd64.zip"
chmod a+x "loki-linux-amd64"
cd loki-linux-amd64


Loki Config Doyası
vim loki-config.yml
auth_enabled: false

server:
  http_listen_port: 3100
  grpc_listen_port: 9096

common:
  path_prefix: /tmp/loki
  storage:
    filesystem:
      chunks_directory: /tmp/loki/chunks
      rules_directory: /tmp/loki/rules
  replication_factor: 1
  ring:
    instance_addr: 127.0.0.1
    kvstore:
      store: inmemory

schema_config:
  configs:
    - from: 2020-10-24
      store: boltdb-shipper
      object_store: filesystem
      schema: v11
      index:
        prefix: index_
        period: 24h

ruler:
  alertmanager_url: [url]http://localhost:9093[/url]

Şimdi çalıştırabiliriz.


./loki-linux-amd64 -config.file=loki-config.yml


Loki Servis dosyası
vim /etc/systemd/system/loki.service
[Unit]
Description=Loki Service
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=root
Group=root
ExecStart=/root/Download/grafana/loki-linux-amd64 --config.file=/root/Download/grafana/loki-config.yml

Restart=always

[Install]
WantedBy=multi-user.target


systemctl start loki

Sertifika sürelerini takip etmek isteyebiliriz.
su -
mkdir grafana/node-cert-exporter
cd grafana/node-cert-exporter
wget [url]https://github.com/amimof/node-cert-exporter/releases/latest/download/node-cert-exporter-linux-amd64[/url]
chmod u+x node-cert-exporter-linux-amd64
./node-cert-exporter-linux-amd64 --include-glob /etc/letsencrypt/live/*/*.pem


Servise çevirelim.
vim /etc/systemd/system/node-cert-exporter.service
[Unit]
Description=Node-Cert Exporter
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=root
Group=root
ExecStart=/root/Download/grafana/node-cert-exporter/node-cert-exporter-linux-amd64 --include-glob /etc/letsencrypt/live/*/*.pem

Restart=always

[Install]
WantedBy=multi-user.target


Servisimizi aktif edelim.
systemctl start node-cert-exporter
systemctl enable node-cert-exporter
yazar husonet

Yorumlar

Bu içerik için sizde yorum yapabilirsiniz!
anasayfa | makaleler | haberler | dosyalar | linkler | hakkımızda