This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
сервис_grafana [2024/06/20 15:50] val [Настройка модуля smtp] |
сервис_grafana [2025/04/05 17:26] (current) val [Kubernetes] |
||
---|---|---|---|
Line 3: | Line 3: | ||
* [[https://geekflare.com/prometheus-grafana-setup-for-linux/|A Guide to Monitor Linux Server using Prometheus and Grafana]] | * [[https://geekflare.com/prometheus-grafana-setup-for-linux/|A Guide to Monitor Linux Server using Prometheus and Grafana]] | ||
* [[https://techexpert.tips/ru/grafana-ru/%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0-%D1%83%D0%B2%D0%B5%D0%B4%D0%BE%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9-%D0%BF%D0%BE-%D1%8D%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D0%BE-2/|Настройка уведомлений по электронной почте Grafana]] | * [[https://techexpert.tips/ru/grafana-ru/%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0-%D1%83%D0%B2%D0%B5%D0%B4%D0%BE%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9-%D0%BF%D0%BE-%D1%8D%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D0%BE-2/|Настройка уведомлений по электронной почте Grafana]] | ||
+ | * [[https://grafana.com/docs/grafana/next/administration/organization-preferences/?cta=...#change-grafana-ui-theme|Смена "темы"]] | ||
===== Установка ===== | ===== Установка ===== | ||
Line 9: | Line 10: | ||
* [[https://grafana.com/docs/grafana/latest/installation/debian/|Install on Debian or Ubuntu]] | * [[https://grafana.com/docs/grafana/latest/installation/debian/|Install on Debian or Ubuntu]] | ||
- | ==== Debian 10/Ubuntu 20 ==== | ||
- | <code> | ||
- | # apt install -y apt-transport-https software-properties-common wget | ||
- | |||
- | # wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add - | ||
- | |||
- | # echo "deb https://packages.grafana.com/oss/deb stable main" | tee -a /etc/apt/sources.list.d/grafana.list | ||
- | |||
- | # apt update | ||
- | |||
- | # apt install grafana | ||
- | |||
- | # systemctl enable grafana-server.service | ||
- | |||
- | # systemctl start grafana-server | ||
- | </code> | ||
==== Docker ==== | ==== Docker ==== | ||
Line 44: | Line 29: | ||
или | или | ||
# docker run -d -p 3000:3000 -v /etc/grafana:/etc/grafana --name grafana grafana/grafana-oss | # docker run -d -p 3000:3000 -v /etc/grafana:/etc/grafana --name grafana grafana/grafana-oss | ||
+ | или | ||
+ | # docker run -d -p 3000:3000 --name grafana grafana/grafana-oss | ||
# docker update --restart=always grafana | # docker update --restart=always grafana | ||
Line 50: | Line 37: | ||
* l:admin p:admin | * l:admin p:admin | ||
* [[http://server.corpX.un:3000]] | * [[http://server.corpX.un:3000]] | ||
- | * [[http://192.168.X.10:3000]] | + | * [[http://192.168.X.10:3000]] |
- | * [[http://10.5.N.100+X:3000]] | + | |
+ | ==== Kubernetes ==== | ||
+ | |||
+ | * [[Сервис VictoriaMetrics]] | ||
+ | |||
+ | <code> | ||
+ | kube1# helm repo add grafana https://grafana.github.io/helm-charts | ||
+ | kube1# helm repo update | ||
+ | |||
+ | kube1:~/vm# cat my-grafana-values.yaml | ||
+ | </code><code> | ||
+ | datasources: | ||
+ | datasources.yaml: | ||
+ | apiVersion: 1 | ||
+ | datasources: | ||
+ | - name: victoriametrics | ||
+ | type: prometheus | ||
+ | orgId: 1 | ||
+ | url: http://vmsingle-victoria-metrics-single-server:8428 | ||
+ | access: proxy | ||
+ | isDefault: true | ||
+ | updateIntervalSeconds: 10 | ||
+ | editable: true | ||
+ | |||
+ | dashboardProviders: | ||
+ | dashboardproviders.yaml: | ||
+ | apiVersion: 1 | ||
+ | providers: | ||
+ | - name: 'default' | ||
+ | orgId: 1 | ||
+ | folder: '' | ||
+ | type: file | ||
+ | disableDeletion: true | ||
+ | editable: true | ||
+ | options: | ||
+ | path: /var/lib/grafana/dashboards/default | ||
+ | |||
+ | dashboards: | ||
+ | default: | ||
+ | victoriametrics: | ||
+ | gnetId: 10229 | ||
+ | revision: 22 | ||
+ | datasource: victoriametrics | ||
+ | kubernetes: | ||
+ | gnetId: 14205 | ||
+ | revision: 1 | ||
+ | datasource: victoriametrics | ||
+ | node-exporter: | ||
+ | gnetId: 1860 | ||
+ | revision: 37 | ||
+ | datasource: victoriametrics | ||
+ | </code><code> | ||
+ | kube1:~/vm# helm upgrade -i my-grafana grafana/grafana -f my-grafana-values.yaml -n vm --create-namespace | ||
+ | |||
+ | kube1# kubectl get secret -n vm my-grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo | ||
+ | |||
+ | cmder> kubectl -n vm port-forward svc/my-grafana 3000:80 | ||
+ | </code> | ||
===== Интеграция с Prometheus ===== | ===== Интеграция с Prometheus ===== | ||
Line 64: | Line 108: | ||
* [[https://grafana.com/grafana/dashboards|Official & community built dashboards]] | * [[https://grafana.com/grafana/dashboards|Official & community built dashboards]] | ||
+ | * [[https://grafana.com/grafana/dashboards/1860-node-exporter-full/|Node Exporter Full]] | ||
==== Import dashboard ==== | ==== Import dashboard ==== | ||
Line 76: | Line 121: | ||
* !!! Не забыть сохранить !!! | * !!! Не забыть сохранить !!! | ||
+ | * Лучше в folder1 (понадобится для alert) | ||
<code> | <code> | ||
- | + Create | + | + New dasboard->Add visualization |
Name: router | Name: router | ||
Add New Panel | Add New Panel | ||
Line 87: | Line 133: | ||
| | ||
Query: A | Query: A | ||
- | | + | Code |
- | Metrics: 8*rate(ifInOctets{ifDescr="FastEthernet0/0",instance="router"}[1m])/1000000 | + | Metrics: 8*rate(ifInOctets{ifDescr="FastEthernet0/0",instance="router"}[1m])/1000000 |
- | или | + | или |
- | Metrics: rate(ifInOctets{ifDescr="Port-channel1",instance="router"}[1m])/125000 | + | Metrics: rate(ifOutOctets{ifDescr="Port-channel1",instance="router"}[1m])/125000 |
- | | + | Options->Legend->Custom: in Mbps |
- | Legend: in Mbps | + | |
Query: B | Query: B | ||
- | | + | Code |
- | Metrics: 8*irate(ifOutOctets{ifDescr="FastEthernet0/0",instance="router"}[1m])/1000000 | + | Metrics: 8*irate(ifOutOctets{ifDescr="FastEthernet0/0",instance="router"}[1m])/1000000 |
- | или | + | или |
- | Metrics: irate(ifOutOctets{ifDescr="Port-channel1",instance="router"}[1m])/125000 | + | Metrics: irate(ifInOctets{ifDescr="Port-channel1",instance="router"}[1m])/125000 |
- | + | Options->Legend->Custom: out Mbps | |
- | Legend: out Mbps | + | |
</code> | </code> | ||
===== Настройка уведомлений ===== | ===== Настройка уведомлений ===== | ||
Line 110: | Line 155: | ||
[smtp] | [smtp] | ||
enabled = true | enabled = true | ||
- | host = mail.isp.un:25 | + | host = server.corpX.un:25 #if docker, and may be, better use ip |
- | ;host = localhost:25 | + | from_address = grafana@corpX.un |
- | ;host = server.corpX.un:25 #if docker, and may be better use ip | + | |
- | from_address = grafana@server.corpX.un | + | |
ehlo_identity = server.corpX.un | ehlo_identity = server.corpX.un | ||
startTLS_policy = NoStartTLS | startTLS_policy = NoStartTLS | ||
Line 123: | Line 166: | ||
</code> | </code> | ||
- | ==== grafana 7.X.X ==== | + | ==== Настройка получателей ==== |
- | + | ||
- | * Можно было задавать порог срабатывания прямо на графике! | + | |
<code> | <code> | ||
- | Alerting->Notification Channels ... | + | Alerting->Notification Channels/Contact points ... |
userX/Email/userX@isp.un | userX/Email/userX@isp.un | ||
- | student/Email/student@corp13.un | + | student/Email/student@corpX.un |
+ | </code> | ||
+ | ==== Настройка уведомлений ==== | ||
+ | |||
+ | === Версия 11 === | ||
+ | |||
+ | <code> | ||
+ | A: | ||
+ | Define query and alert condition -> | ||
+ | Options -> Time Range: Last 15 minutes | ||
+ | | ||
+ | B: Delete | ||
+ | |||
+ | C (можно дать другое имя, оно будет в сообщении): Set as Alert Conditions | ||
+ | Input: A | ||
+ | Function: Last | ||
+ | |||
+ | D: Threshold | ||
+ | Input: C | ||
+ | IS Above: 1 | ||
+ | </code> | ||
+ | |||
+ | === Версия 7 === | ||
+ | <code> | ||
Dashboard->Panel (name)->Edit->Alert->...-> | Dashboard->Panel (name)->Edit->Alert->...-> | ||
Evaluate every: 15s For 1m | Evaluate every: 15s For 1m |