Установка Grafana и Loki
Продукты: МоиОтчеты Корпоративный Сервер
Grafana это компонент аналитики и интерактивной визуализации для мониторинга состояния кластера. Это необязательный компонент для разворачивания сервера отчётов, но он может быть полезен для контроля состояния сервера.
Loki это агрегатор логов, который используется совместно с Grafana.
Создание пространства имён для компонентов мониторинга
kubectl create namespace monitoring
Обновление чартов для установки компонентов мониторинга
helm repo add loki https://grafana.github.io/loki/charts
helm repo update
Установка Loki
helm upgrade \
--install loki loki/loki \
--namespace=monitoring \
--set persistence.enabled=true \
--set persistence.storageClassName=hcloud-volumes
helm upgrade \
--install promtail loki/promtail \
--namespace=monitoring \
--set loki.serviceName=loki.monitoring
Установка Grafana
Не забудьте установить переменную SERVER_DOMAIN_NAME.
export SERVER_DOMAIN_NAME="<доменное имя сервера>"
helm upgrade \
--install grafana stable/grafana \
--namespace=monitoring \
--set persistence.enabled=true \
--set persistence.storageClassName=hcloud-volumes \
--set 'grafana\.ini'.server.serve_from_sub_path=true \
--set 'grafana\.ini'.server.root_url=https://$SERVER_DOMAIN_NAME/grafana/ \
--set 'grafana\.ini'.server.domain=$SERVER_DOMAIN_NAME \
--set readinessProbe.httpGet.path=/grafana/api/health \
--set livenessProbe.httpGet.path=/grafana/api/health \
Получение пароля от Grafana
kubectl get secret --namespace monitoring grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo
admin
********
Добавление ingress
Этот блок конфигурации позволяет расположить Grafana на том же самом сетевом интерфейсе, что и сервер отчётов и обращаться к ней по ссылке вида: https://my.server-server.ru/grafana
cat <<EOF | kubectl apply -f -
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: fastreport.cloud-grafana
namespace: monitoring
annotations:
kubernetes.io/ingress.class: "nginx"
ingress.kubernetes.io/ssl-redirect: "true"
spec:
tls:
- hosts:
- $SERVER_DOMAIN_NAME
secretName: fr-corporate-tls
rules:
- host: $SERVER_DOMAIN_NAME
http:
paths:
- path: /grafana
backend:
serviceName: grafana
servicePort: 80
EOF
Для завершения конфигурации Grafana необходимо зайти на её страницу, авторизоваться и добавить ссылку на Loki http://loki.monitoring:3100