# Netdata

#### REVISAR!!!

#### 🚀 **1. Instalación de Netdata**

**1.1. Actualizar el sistema:**

Es recomendable asegurarte de que tu sistema esté completamente actualizado antes de instalar cualquier paquete. Ejecuta:

```bash
sudo apt update && sudo apt upgrade -y
```

**1.2. Instalar Netdata usando el script de instalación oficial:**

Netdata proporciona un script fácil de usar para instalarlo rápidamente en sistemas basados en **Debian/Ubuntu**.

Ejecuta el siguiente comando para descargar e instalar Netdata:

```bash
bash <(curl -Ss https://my-netdata.io/kickstart.sh)
```

Este script instalará **Netdata** y sus dependencias automáticamente.

* Durante la instalación, Netdata configurará un **servicio** para ejecutarse en **background** y estará disponible en el puerto `19999` por defecto.

**1.3. Verifica que Netdata está corriendo:**

Una vez finalizada la instalación, Netdata debería estar corriendo automáticamente. Puedes verificarlo con:

```bash
sudo systemctl status netdata
```

Deberías ver algo como:

```
● netdata.service - NetData
   Loaded: loaded (/etc/systemd/system/netdata.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2025-03-26 10:30:42 UTC; 3min ago
   ...
```

Si no está corriendo, puedes iniciarlo con el siguiente comando:

```bash
sudo systemctl start netdata
```

***

#### 🌐 **2. Acceso a la interfaz web de Netdata**

Una vez instalado y en ejecución, puedes acceder a la interfaz web de Netdata desde tu navegador:

```bash
http://<tu_ip>:19999
```

Reemplaza `<tu_ip>` con la IP de tu servidor. Deberías ver un **dashboard interactivo** con métricas en tiempo real del sistema.

***

#### 🔐 **3. Configuración de acceso con LDAP**

Si deseas configurar Netdata para usar **LDAP** para la autenticación de usuarios (por ejemplo, para controlar el acceso a la interfaz web de Netdata), sigue estos pasos:

**3.1. Instalar y configurar PAM (Pluggable Authentication Modules):**

Netdata soporta la integración con PAM para autenticar usuarios a través de **LDAP**. Asegúrate de que PAM y LDAP estén correctamente configurados en tu servidor.

Para instalar los módulos PAM necesarios, usa el siguiente comando:

```bash
sudo apt install libpam-ldap
```

Luego, sigue las instrucciones para configurar LDAP en tu servidor, según tus necesidades.

**3.2. Configurar PAM en Netdata:**

Una vez que hayas configurado LDAP, necesitas configurar Netdata para que use PAM para autenticar usuarios.

1. Abre el archivo de configuración de Netdata:

```bash
sudo nano /etc/netdata/netdata.conf
```

2. Encuentra la sección `[web]` y agrega o edita las siguientes líneas para habilitar la autenticación con PAM:

```ini
[web]
    enable = yes
    bind to = 0.0.0.0
    mode = ssl
    authentication = yes
    username = <usuario_ldap>
    password = <contraseña_ldap>
```

3. Guarda los cambios y sal del archivo.

**3.3. Reinicia el servicio de Netdata:**

Después de modificar la configuración, reinicia Netdata para que los cambios tomen efecto:

```bash
sudo systemctl restart netdata
```

***

#### 🛠️ **4. Configuración avanzada (opcional)**

**4.1. Habilitar alertas:**

Netdata viene con un sistema de alertas que te puede notificar cuando los valores superen un umbral determinado. Puedes configurar las alertas editando el archivo de configuración:

```bash
sudo nano /etc/netdata/netdata.conf
```

Busca la sección `[alerts]` y habilita o configura las alertas según tu preferencia.

**4.2. Configurar puertos y direcciones:**

Si deseas restringir el acceso a la interfaz web de Netdata, puedes hacerlo configurando las opciones de **bind address** y **puertos**. Por ejemplo, para limitar el acceso solo a ciertas IPs o cambiar el puerto de escucha.

Modifica la línea en la sección `[web]`:

```ini
bind to = <tu_ip>:<puerto>
```

**4.3. Configurar las métricas a monitorear:**

Netdata tiene miles de métricas listas para ser monitoreadas. Puedes personalizar las métricas que deseas monitorizar editando los archivos de configuración en la carpeta `/etc/netdata/` o utilizando los plugins adicionales.

***

#### 🔍 **5. Monitorización de recursos en tiempo real**

Netdata mostrará métricas sobre:

* Uso de **CPU**, **RAM**, **disco**, **red**.
* **Apache** y **MySQL** (si están instalados).
* **NFS**, **SSH**, **LDAP**, entre otros servicios.

Desde la interfaz web, puedes navegar por diferentes secciones para visualizar gráficos en tiempo real, como:

* **CPU Usage**
* **Network Traffic**
* **Disk Usage**
* **Memory Usage**
* **Apache Requests**
* **MySQL Queries**

***

#### 🧑‍💻 **6. Acceso a la interfaz web de Netdata** (Seguridad)

Si deseas **asegurar** aún más el acceso a la interfaz de Netdata, puedes hacerlo habilitando HTTPS o usando un **proxy reverso** con **Nginx** o **Apache**.

**Habilitar HTTPS (con Let's Encrypt):**

Puedes proteger el acceso a la interfaz con un certificado SSL gratuito de **Let's Encrypt**. Primero instala `certbot`:

```bash
sudo apt install certbot
sudo apt install python3-certbot-nginx
```

Luego, genera el certificado SSL:

```bash
sudo certbot --nginx -d <tu_dominio>
```

Esto configurará automáticamente Nginx para usar HTTPS y redirigir todo el tráfico HTTP a HTTPS.

***

**Próximos pasos**:

* Explora los gráficos en la interfaz web.
* Configura alertas para recibir notificaciones de eventos importantes.
* Asegura el acceso con HTTPS o un proxy reverso si es necesario.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://apuntes-alex.gitbook.io/apuntes-sistemas-y-redes/sistemas-y-servidores/monitorizacion-de-servicios-y-redes/netdata.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
