pythontr.com
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.
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
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
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/
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']
./prometheus --config.file=prometheus.yml
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
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
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
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
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
./promtail-linux-amd64 -config.file=promtail-config.yml
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
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
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
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
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
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
systemctl start node-cert-exporter systemctl enable node-cert-exporter
Yorumlar