Presentamos Grafana
Grafana es un sistema de instrumentos de monitoreo. Es una herramienta de monitoreo del sistema de código abierto de Grafana Labs. Puede ayudarnos enormemente a simplificar la complejidad del monitoreo. Solo necesitamos proporcionar los datos que deben monitorearse, y puede ayudar a generar varios instrumentos. , y también tiene una función de alarma que puede avisarle cuando hay un problema con el sistema.
Grafana admite muchas fuentes de datos diferentes, cada fuente de datos tiene un editor de consultas específico, cada fuente de datos tiene un lenguaje de consulta y capacidades diferentes, podemos combinar datos de múltiples fuentes de datos en un solo tablero, pero cada panel está vinculado a una fuente de datos específica. Actualmente se admiten oficialmente las siguientes fuentes de datos:
- administrador de alertas
- AWS Cloud Watch
- monitor azul
- Elasticsearch
- Supervisión de la nube de Google
- Grafito
- Influjo DB
- Loki
- Servidor Microsoft SQL (MSSQL)
- mysql
- OpenTSDB
- postgresql
- Prometeo
- Jaeger
- Zipkin
- Hora
Por supuesto, lo que debemos presentar aquí es la fuente de datos de Prometheus.
A continuación, instalaremos Grafana. Grafana en sí es muy liviano y no consume muchos recursos . Además, Grafana necesita una base de datos para almacenar sus datos de configuración, como usuarios, fuentes de datos y paneles . Actualmente, Grafana es compatible con SQLite y MySQL. , PostgreSQL 3 tipos de bases de datos, el valor predeterminado es SQLite, el archivo de la base de datos se almacenará en la ubicación de instalación de Grafana, por lo que el directorio de instalación de Grafana debe ser persistente.
[root@master ~]# cd /ifs/kubernetes
[root@master kubernetes]# ls
monitor-grafana-pvc-5cb6e522-e8a2-40aa-9fbf-652e47d5520e
[root@node1 ~]# docker ps | grep gra
456e4caf85c6 b43aa01dd9f7 "/run.sh" About a minute ago Up About a minute k8s_grafana_grafana-5d794f46d5-5nk4t_monitor_3709e4a0-9b61-4afa-a103-2d20073dfed2_23
8e5ff320e015 kubesphere/pause:3.2 "/pause" About a minute ago Up About a minute k8s_POD_grafana-5d794f46d5-5nk4t_monitor_3709e4a0-9b61-4afa-a103-2d20073dfed2_24
3709e4a0-9b61-4afa-a103-2d20073dfed2_24
[root@node1 grafana]# pwd
/var/lib/kubelet/pods/3709e4a0-9b61-4afa-a103-2d20073dfed2/volumes/kubernetes.io~nfs/pvc-5cb6e522-e8a2-40aa-9fbf-652e47d5520e/grafana
[root@node1 grafana]# ls
grafana.db plugins png
Hay muchas maneras de instalar Grafana. Estamos usando el sistema CentOS aquí. Puede filtrar la versión adecuada en la página de descarga oficial de Grafana. Descargue Grafana | Grafana Labs para instalarlo de acuerdo con sus propias necesidades. Por ejemplo, usamos directamente el rpm paquete a instalar:
☸ ➜ wget https://dl.grafana.com/oss/release/grafana-8.2.1-1.x86_64.rpm
☸ ➜ sudo yum install grafana-8.2.1-1.x86_64.rpm
Una vez completada la instalación, podemos usar systemd para administrar Grafana:
☸ ➜ sudo systemctl daemon-reload
☸ ➜ sudo systemctl enable grafana-server
☸ ➜ sudo systemctl start grafana-server
☸ ➜ sudo systemctl status grafana-server
Las variables de entorno de configuración de inicio predeterminadas se encuentran en el /etc/sysconfig/grafana-server
archivo:
☸ ➜ cat /etc/sysconfig/grafana-server
GRAFANA_USER=grafana
GRAFANA_GROUP=grafana
GRAFANA_HOME=/usr/share/grafana
LOG_DIR=/var/log/grafana
DATA_DIR=/var/lib/grafana
MAX_OPEN_FILES=10000
CONF_DIR=/etc/grafana
CONF_FILE=/etc/grafana/grafana.ini
RESTART_ON_UPGRADE=true
PLUGINS_DIR=/var/lib/grafana/plugins
PROVISIONING_CFG_DIR=/etc/grafana/provisioning
# Only used on systemd systems
PID_FILE_DIR=/var/run/grafana
Desde el archivo anterior, puede encontrar varias rutas de configuración de datos de Grafana, como el directorio de datos, el directorio de registro, el directorio de complementos, etc. Después del inicio normal, Grafana escuchará en el puerto 3000, por lo que podemos abrir WebUI de Grafana en el navegador.
El nombre de usuario y la contraseña predeterminados son , que también se pueden anular mediante la configuración y dos parámetros admin
en el archivo de configuración ./etc/grafana/grafana.ini
admin_user
admin_password
Por supuesto, si queremos implementar una versión de Grafana de alta disponibilidad, el uso de la base de datos SQLite no funcionará, debemos cambiar a MySQL o PostgreSQL, podemos [database]
encontrar la configuración relevante de la base de datos en la sección de configuración de Grafana, Grafana lo hará. guarde todos los datos a largo plazo en la base de datos y luego implemente varias instancias de Grafana para usar la misma base de datos para lograr una alta disponibilidad.