Creacion carpeta script
parent
3b4fba319e
commit
dae74aa2f6
|
@ -0,0 +1,131 @@
|
|||
# Documentación script OgLog
|
||||
|
||||
Este script automatiza la configuración de un entorno basado en OpenSearch, OpenSearch Dashboards, Prometheus, Grafana, y otras herramientas. Incluye la instalación, configuración de certificados SSL y ajuste de servicios para garantizar seguridad y funcionamiento adecuado.
|
||||
|
||||
---
|
||||
|
||||
## Requisitos Previos
|
||||
|
||||
1. **Variables de Entorno**:
|
||||
- `IP_MAQUINA`: Dirección IP del servidor donde se ejecutará el script.
|
||||
- `OPENSEARCH_INITIAL_ADMIN_PASSWORD`: Contraseña inicial del administrador para OpenSearch.
|
||||
|
||||
La contraseña debe:
|
||||
|
||||
- Tener al menos 12 caracteres.
|
||||
- Incluir una mayúscula, un número y un carácter especial.
|
||||
1. **Script para Generar Certificados**:
|
||||
|
||||
Este script depende de otro llamado `mkcerts.sh` que genera certificados SSL necesarios. Alternativamente, puedes usar certificados propios. Es importante que la carpeta `CA` se encuentre en la misma ruta desde la cual se ejecuta este script. Los certificados deben colocarse en las siguientes subcarpetas dentro de `CA`:
|
||||
|
||||
- **`CA/certs/`**: para los archivos de certificados (`.crt.pem`).
|
||||
- **`CA/private/`**: para los archivos de llaves privadas (`.key.nopass.pem`).
|
||||
|
||||
---
|
||||
|
||||
## Funcionalidad del Script
|
||||
|
||||
### 1. **Validación Inicial**
|
||||
|
||||
- Verifica la presencia de variables de entorno esenciales.
|
||||
- Valida que la contraseña cumple con los requisitos mínimos de seguridad.
|
||||
|
||||
### 2. **Actualización del Archivo `/etc/hosts`**
|
||||
|
||||
El script agrega entradas al archivo `/etc/hosts` para permitir la resolución de los siguientes nombres de dominio en el entorno:
|
||||
|
||||
- **`oglog-os.mytld`**
|
||||
- **`oglog-osdb.mytld`**
|
||||
- **`oglog-jb.mytld`**
|
||||
- **`oglog-jrem.mytld`**
|
||||
- **`oglog-prom.mytld`**
|
||||
- **`oglog-graf.mytld`**
|
||||
|
||||
Cada uno de estos dominios estará asociado a la IP especificada en la variable de entorno `IP_MAQUINA`.
|
||||
|
||||
### 3. **Instalación de Dependencias**
|
||||
|
||||
Instala herramientas esenciales como `ca-certificates`, `gnupg2`, `lsb-release`, y `systemd-journal-remote`.
|
||||
|
||||
### 4. **Ejecución de `mkcerts.sh`**
|
||||
|
||||
Este script genera los certificados SSL requeridos. Si decides usar certificados diferentes, deben colocarse en las ubicaciones mencionadas en la sección de requisitos previos.
|
||||
|
||||
### 5. **Configuración de Certificados**
|
||||
|
||||
- Copia y enlaza los certificados generados en las ubicaciones correspondientes.
|
||||
- Establece los certificados SSL para cada herramienta (OpenSearch, OpenSearch Dashboards, Prometheus, etc.).
|
||||
|
||||
### 6. **Instalación y Configuración de OpenSearch**
|
||||
|
||||
- Agrega repositorios y claves para OpenSearch y OpenSearch Dashboards.
|
||||
- Configura OpenSearch (`/etc/opensearch/opensearch.yml`) con certificados SSL, IP del servidor y otras opciones de seguridad.
|
||||
|
||||
### 7. **Instalación y Configuración de Prometheus**
|
||||
|
||||
- Copia los certificados necesarios a `/etc/prometheus/`.
|
||||
- Configura Prometheus para usar TLS y añade trabajos para monitorización.
|
||||
|
||||
### 8. **Instalación y Configuración de Journalbeat**
|
||||
|
||||
- Descarga e instala Journalbeat.
|
||||
- Configura el acceso a ElasticSearch con certificados y credenciales.
|
||||
|
||||
### 9. **Instalación y Configuración de Grafana**
|
||||
|
||||
- Instala Grafana y configura el acceso HTTPS.
|
||||
- Establece Prometheus como fuente de datos predeterminada.
|
||||
- Descarga y configura un dashboard prediseñado.
|
||||
|
||||
### 10. **Acceso a las Herramientas Configuradas**
|
||||
|
||||
Una vez que el script haya finalizado, podrás acceder a las herramientas configuradas mediante los siguientes enlaces:
|
||||
|
||||
1. **OpenSearch**:
|
||||
- URL: `https://oglog-os.mytld:9200`
|
||||
- Credenciales:
|
||||
- Usuario: `admin`
|
||||
- Contraseña: La definida en la variable `OPENSEARCH_INITIAL_ADMIN_PASSWORD`.
|
||||
2. **OpenSearch Dashboards**:
|
||||
- URL: `https://oglog-osdb.mytld:5601`
|
||||
3. **Prometheus**:
|
||||
- URL: `https://oglog-prom.mytld:9090`
|
||||
4. **Grafana**:
|
||||
- URL: `https://oglog-graf.mytld:3000`
|
||||
- Credenciales iniciales por defecto:
|
||||
- Usuario: `admin`
|
||||
- Contraseña: `admin` (es recomendable cambiarla tras el primer inicio de sesión).
|
||||
|
||||
---
|
||||
|
||||
## Ubicaciones de Certificados por Servicio
|
||||
|
||||
1. **OpenSearch**:
|
||||
- Certificado raíz: `/etc/opensearch/ca.crt.pem`.
|
||||
- Certificado del servicio: `/etc/opensearch/oglog-os.mytld.crt.pem`.
|
||||
- Llave privada: `/etc/opensearch/oglog-os.mytld.key.pem`.
|
||||
2. **OpenSearch Dashboards**:
|
||||
- Certificado del servicio: `/etc/opensearch-dashboards/oglog-osdb.mytld.crt.pem`.
|
||||
- Llave privada: `/etc/opensearch-dashboards/oglog-osdb.mytld.key.pem`.
|
||||
3. **Prometheus**:
|
||||
- Certificado del servicio: `/etc/prometheus/oglog-prom.mytld.crt.pem`.
|
||||
- Llave privada: `/etc/prometheus/oglog-prom.mytld.key.pem`.
|
||||
4. **Journalbeat**:
|
||||
- Certificado del servicio: `/etc/journalbeat/oglog-jb.mytld.crt.pem`.
|
||||
- Llave privada: `/etc/journalbeat/oglog-jb.mytld.key.pem`.
|
||||
5. **Grafana**:
|
||||
- Certificado del servicio: `/etc/grafana/oglog-graf.mytld.crt.pem`.
|
||||
- Llave privada: `/etc/grafana/oglog-graf.mytld.key.pem`.
|
||||
|
||||
---
|
||||
|
||||
## Servicios Configurados
|
||||
|
||||
Los siguientes servicios se habilitan y se inician automáticamente:
|
||||
|
||||
- OpenSearch (`opensearch.service`).
|
||||
- OpenSearch Dashboards (`opensearch-dashboards.service`).
|
||||
- Prometheus.
|
||||
- Journalbeat.
|
||||
- Grafana (`grafana-server`).
|
||||
- Systemd Journal Remote (`systemd-journal-remote.service`).
|
|
@ -0,0 +1,96 @@
|
|||
#!/bin/bash
|
||||
|
||||
rm -rf CA
|
||||
mkdir CA
|
||||
cd CA
|
||||
|
||||
cat >openssl.cnf <<EOF
|
||||
[ca]
|
||||
default_ca = CA_default
|
||||
|
||||
[CA_default]
|
||||
dir = $PWD
|
||||
EOF
|
||||
|
||||
cat >>openssl.cnf <<'EOF'
|
||||
certs = $dir/certs
|
||||
new_certs_dir = $dir/newcerts
|
||||
database = $dir/index.txt
|
||||
serial = $dir/serial
|
||||
default_md = sha256
|
||||
policy = policy_loose
|
||||
copy_extensions = copy
|
||||
|
||||
private_key = $dir/private/ca.key.pem
|
||||
certificate = $dir/certs/ca.crt.pem
|
||||
|
||||
[policy_loose]
|
||||
countryName = optional
|
||||
stateOrProvinceName = optional
|
||||
localityName = optional
|
||||
organizationName = optional
|
||||
organizationalUnitName = optional
|
||||
commonName = supplied
|
||||
emailAddress = optional
|
||||
|
||||
[req]
|
||||
default_bits = 2048
|
||||
distinguished_name = req_distinguished_name
|
||||
default_md = sha256
|
||||
|
||||
[req_distinguished_name]
|
||||
countryName = Country Name (2 letter code)
|
||||
EOF
|
||||
|
||||
mkdir certs csr newcerts private; chmod 0700 private; touch index.txt; echo 1000 >serial
|
||||
|
||||
function gen_cert() {
|
||||
ITEM="$1"
|
||||
PRIVKEY_PASS="$2"
|
||||
CA_PASS_FILE="$3"
|
||||
|
||||
FILE_PRIVKEY_PASS="./$ITEM-pass"
|
||||
KEY_FILE="private/$ITEM.key.pem"
|
||||
KEY_NOPASS_FILE="private/$ITEM.key.nopass.pem"
|
||||
SUBJ="/C=ES/ST=Madrid/L=Madrid/CN=$ITEM"
|
||||
ADDEXT="subjectAltName=DNS:$ITEM"
|
||||
CSR="csr/$ITEM.csr.pem"
|
||||
CERT_FILE="certs/$ITEM.crt.pem"
|
||||
|
||||
touch "$FILE_PRIVKEY_PASS"
|
||||
chmod 0600 "$FILE_PRIVKEY_PASS"
|
||||
echo "$PRIVKEY_PASS" >"$FILE_PRIVKEY_PASS"
|
||||
|
||||
openssl genrsa -aes256 -out "$KEY_FILE" -passout file:"$FILE_PRIVKEY_PASS" 2048
|
||||
openssl rsa -in "$KEY_FILE" -passin file:"$FILE_PRIVKEY_PASS" -out "$KEY_NOPASS_FILE" >/dev/null 2>&1
|
||||
openssl req -config openssl.cnf -key "$KEY_FILE" -passin file:"$FILE_PRIVKEY_PASS" -new -sha256 -subj "$SUBJ" -addext "$ADDEXT" -out "$CSR"
|
||||
openssl ca -config openssl.cnf -batch -passin file:"$CA_PASS_FILE" -days 375 -notext -md sha256 -in "$CSR" -out "$CERT_FILE" >/dev/null 2>&1
|
||||
}
|
||||
|
||||
|
||||
## gen CA
|
||||
CA_PASS=CorrectHorseBatteryStapleCA
|
||||
CA_PASS_FILE=./ca-pass
|
||||
touch "$CA_PASS_FILE"
|
||||
chmod 0600 "$CA_PASS_FILE"
|
||||
echo "$CA_PASS" >"$CA_PASS_FILE"
|
||||
openssl genrsa -aes256 -out private/ca.key.pem -passout file:"$CA_PASS_FILE" 4096
|
||||
#openssl rsa -in private/ca.key.pem -passin file:"$CA_PASS_FILE" -out private/ca.key.nopass.pem >/dev/null 2>&1
|
||||
openssl req -config openssl.cnf -key private/ca.key.pem -passin file:"$CA_PASS_FILE" -new -x509 -days 7300 -sha256 -subj '/C=ES/ST=Madrid/L=Madrid/CN=ca.mytld' -out certs/ca.crt.pem
|
||||
|
||||
|
||||
## todos estos en oglog
|
||||
gen_cert oglog-os.mytld CorrectHorseBatteryStapleOglogOS "$CA_PASS_FILE"
|
||||
gen_cert oglog-osdb.mytld CorrectHorseBatteryStapleOglogOS "$CA_PASS_FILE"
|
||||
gen_cert oglog-jrem.mytld CorrectHorseBatteryStapleOglogJRem "$CA_PASS_FILE"
|
||||
gen_cert oglog-jb.mytld CorrectHorseBatteryStapleOglogJB "$CA_PASS_FILE"
|
||||
gen_cert oglog-prom.mytld CorrectHorseBatteryStapleOglogProm "$CA_PASS_FILE"
|
||||
gen_cert oglog-graf.mytld CorrectHorseBatteryStapleOglogGraf "$CA_PASS_FILE"
|
||||
|
||||
## esto podria ser ogcore, ogboot...
|
||||
gen_cert ogserver.mytld CorrectHorseBatteryStapleOgserver "$CA_PASS_FILE"
|
||||
|
||||
## filebeat del agente
|
||||
gen_cert ogagent-fb.mytld CorrectHorseBatteryStapleOgagentFB "$CA_PASS_FILE"
|
||||
|
||||
cd ..
|
|
@ -0,0 +1,209 @@
|
|||
|
||||
#!/bin/bash
|
||||
|
||||
# Comprobar que las variables de entorno están definidas
|
||||
if [[ -z "$IP_MAQUINA" || -z "$OPENSEARCH_INITIAL_ADMIN_PASSWORD" ]]; then
|
||||
echo "ERROR: Las variables de entorno IP_MAQUINA y OPENSEARCH_INITIAL_ADMIN_PASSWORD deben estar definidas."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Validar la contraseña cumple con los requisitos
|
||||
if [[ ${#OPENSEARCH_INITIAL_ADMIN_PASSWORD} -lt 12 || ! "$OPENSEARCH_INITIAL_ADMIN_PASSWORD" =~ [A-Z] || ! "$OPENSEARCH_INITIAL_ADMIN_PASSWORD" =~ [0-9] || ! "$OPENSEARCH_INITIAL_ADMIN_PASSWORD" =~ [^a-zA-Z0-9] ]]; then
|
||||
echo "ERROR: La contraseña OPENSEARCH_INITIAL_ADMIN_PASSWORD no cumple con los requisitos:"
|
||||
echo "- Mínimo 12 caracteres."
|
||||
echo "- Al menos una mayúscula, un número y un carácter especial."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Actualizar /etc/hosts con los nombres de dominio
|
||||
cat >>/etc/hosts <<EOF
|
||||
$IP_MAQUINA oglog-os.mytld
|
||||
$IP_MAQUINA oglog-osdb.mytld
|
||||
$IP_MAQUINA oglog-jb.mytld
|
||||
$IP_MAQUINA oglog-jrem.mytld
|
||||
$IP_MAQUINA oglog-prom.mytld
|
||||
$IP_MAQUINA oglog-graf.mytld
|
||||
EOF
|
||||
|
||||
# Instalar dependencias iniciales
|
||||
apt-get update
|
||||
apt-get -y install ca-certificates gnupg2 lsb-release systemd-journal-remote
|
||||
|
||||
# Ejecutar el script mkcerts.sh
|
||||
bash ./mkcerts.sh
|
||||
|
||||
# Configuración de certificados SSL en el sistema
|
||||
cp CA/certs/ca.crt.pem /etc/ssl/certs/
|
||||
ln -s /etc/ssl/certs/ca.crt.pem /etc/ssl/certs/"$(openssl x509 -in /etc/ssl/certs/ca.crt.pem -hash -noout).0"
|
||||
|
||||
# Configurar repositorios y llaves para OpenSearch
|
||||
curl -o- https://artifacts.opensearch.org/publickeys/opensearch.pgp | gpg --dearmor --batch --yes -o /usr/share/keyrings/opensearch-keyring
|
||||
echo "deb [signed-by=/usr/share/keyrings/opensearch-keyring] https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable main" > /etc/apt/sources.list.d/opensearch-2.x.list
|
||||
echo "deb [signed-by=/usr/share/keyrings/opensearch-keyring] https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/2.x/apt stable main" > /etc/apt/sources.list.d/opensearch-dashboards-2.x.list
|
||||
apt-get update
|
||||
apt-get install -y opensearch opensearch-dashboards
|
||||
|
||||
# Configurar OpenSearch con los certificados y la IP
|
||||
cp CA/certs/ca.crt.pem /etc/opensearch/
|
||||
cp CA/certs/oglog-os.mytld.crt.pem /etc/opensearch/
|
||||
cp CA/private/oglog-os.mytld.key.nopass.pem /etc/opensearch/oglog-os.mytld.key.pem
|
||||
chown opensearch:opensearch /etc/opensearch/{ca.crt.pem,oglog-os.mytld.crt.pem,oglog-os.mytld.key.pem}
|
||||
|
||||
cp CA/certs/oglog-osdb.mytld.crt.pem /etc/opensearch-dashboards/
|
||||
cp CA/private/oglog-osdb.mytld.key.nopass.pem /etc/opensearch-dashboards/oglog-osdb.mytld.key.pem
|
||||
chown opensearch-dashboards:opensearch-dashboards /etc/opensearch-dashboards/oglog-osdb.mytld.crt.pem /etc/opensearch-dashboards/oglog-osdb.key.pem
|
||||
|
||||
sed -i -e '/^plugins.security.ssl.http.pemcert_filepath:/ s/: .*/: oglog-os.mytld.crt.pem/' /etc/opensearch/opensearch.yml
|
||||
sed -i -e '/^plugins.security.ssl.http.pemkey_filepath:/ s/: .*/: oglog-os.mytld.key.pem/' /etc/opensearch/opensearch.yml
|
||||
sed -i -e '/^plugins.security.ssl.http.pemtrustedcas_filepath:/s/: .*/: ca.crt.pem/' /etc/opensearch/opensearch.yml
|
||||
sed -i -e '/^#network.host/ s/.*/network.host: '"$IP_MAQUINA"'/' /etc/opensearch/opensearch.yml
|
||||
|
||||
cat >>/etc/opensearch/opensearch.yml <<EOF
|
||||
|
||||
discovery.type: single-node
|
||||
compatibility.override_main_response_version: true
|
||||
plugins.security.ssl.http.clientauth_mode: REQUIRE
|
||||
plugins.security.ssl_cert_reload_enabled: true
|
||||
EOF
|
||||
|
||||
# Configurar OpenSearch Dashboards
|
||||
cp -a /etc/opensearch-dashboards/opensearch_dashboards.yml /etc/opensearch-dashboards/opensearch_dashboards.yml.dist
|
||||
cat >/etc/opensearch-dashboards/opensearch_dashboards.yml <<EOF
|
||||
server.host: 0.0.0.0
|
||||
opensearch.hosts: ["https://oglog-os.mytld:9200"]
|
||||
opensearch.username: "admin"
|
||||
opensearch.password: "$OPENSEARCH_INITIAL_ADMIN_PASSWORD"
|
||||
server.ssl.enabled: true
|
||||
server.ssl.certificate: /etc/opensearch-dashboards/oglog-osdb.mytld.crt.pem
|
||||
server.ssl.key: /etc/opensearch-dashboards/oglog-osdb.mytld.key.pem
|
||||
opensearch.ssl.certificate: /etc/opensearch-dashboards/oglog-osdb.mytld.crt.pem
|
||||
opensearch.ssl.key: /etc/opensearch-dashboards/oglog-osdb.mytld.key.pem
|
||||
opensearch.ssl.verificationMode: full
|
||||
opensearch.ssl.certificateAuthorities: [ "/etc/ssl/certs/ca.crt.pem" ]
|
||||
opensearch.ssl.alwaysPresentCertificate: true
|
||||
EOF
|
||||
|
||||
# Habilitar servicios de OpenSearch
|
||||
systemctl enable --now opensearch.service opensearch-dashboards.service
|
||||
|
||||
# Configurar systemd-journal-remote
|
||||
cp CA/certs/oglog-jrem.mytld.crt.pem /etc/systemd/
|
||||
cp CA/private/oglog-jrem.mytld.key.nopass.pem /etc/systemd/oglog-jrem.mytld.key.pem
|
||||
chown systemd-journal-remote:systemd-journal-remote /etc/systemd/oglog-jrem.mytld.crt.pem /etc/systemd/oglog-jrem.mytld.key.pem
|
||||
install --owner systemd-journal-remote --group systemd-journal-remote --mode 0750 --directory /var/log/journal/remote/
|
||||
sed -i -e '/ServerKeyFile/ s%.*%ServerKeyFile=/etc/systemd/oglog-jrem.mytld.key.pem%' /etc/systemd/journal-remote.conf
|
||||
sed -i -e '/ServerCertificateFile/s%.*%ServerCertificateFile=/etc/systemd/oglog-jrem.mytld.crt.pem%' /etc/systemd/journal-remote.conf
|
||||
systemctl enable --now systemd-journal-remote.service
|
||||
|
||||
|
||||
# Configurar Prometheus
|
||||
apt-get install -y prometheus
|
||||
cp CA/certs/oglog-prom.mytld.crt.pem /etc/prometheus/
|
||||
cp CA/private/oglog-prom.mytld.key.nopass.pem /etc/prometheus/oglog-prom.mytld.key.pem
|
||||
chown prometheus:prometheus /etc/prometheus/oglog-prom.mytld.crt.pem /etc/prometheus/oglog-prom.mytld.key.pem
|
||||
cat >>/etc/prometheus/prometheus.yml <<EOF
|
||||
- job_name: ogserver
|
||||
static_configs:
|
||||
- targets: ['ogserver.mytld:9100']
|
||||
|
||||
- job_name: ogagent
|
||||
static_configs:
|
||||
- targets: ['ogagent.mytld:9100']
|
||||
EOF
|
||||
|
||||
cat >/etc/prometheus/web-config.yml <<EOF
|
||||
tls_server_config:
|
||||
cert_file: /etc/prometheus/oglog-prom.mytld.crt.pem
|
||||
key_file: /etc/prometheus/oglog-prom.mytld.key.pem
|
||||
EOF
|
||||
|
||||
sed -i -e '/^ARGS/s%"$%--web.config.file=/etc/prometheus/web-config.yml"%' /etc/default/prometheus
|
||||
systemctl restart prometheus
|
||||
|
||||
# Configurar Journalbeat
|
||||
wget https://artifacts.elastic.co/downloads/beats/journalbeat/journalbeat-oss-7.12.1-amd64.deb -P /tmp/
|
||||
dpkg -i /tmp/journalbeat-oss-7.12.1-amd64.deb
|
||||
cp CA/certs/oglog-jb.mytld.crt.pem /etc/journalbeat/
|
||||
cp CA/private/oglog-jb.mytld.key.nopass.pem /etc/journalbeat/oglog-jb.mytld.key.pem
|
||||
cat >/etc/journalbeat/journalbeat.yml <<EOF
|
||||
journalbeat.inputs:
|
||||
- paths:
|
||||
- "/var/log/journal"
|
||||
- "/var/log/journal/remote"
|
||||
seek: cursor
|
||||
|
||||
setup.template.settings:
|
||||
index.number_of_shards: 1
|
||||
|
||||
output.elasticsearch:
|
||||
hosts: ["oglog-os.mytld:9200"]
|
||||
username: "admin"
|
||||
password: "$OPENSEARCH_INITIAL_ADMIN_PASSWORD"
|
||||
protocol: "https"
|
||||
ssl.enabled: true
|
||||
ssl.verification_mode: full
|
||||
ssl.certificate: "/etc/journalbeat/oglog-jb.mytld.crt.pem"
|
||||
ssl.key: "/etc/journalbeat/oglog-jb.mytld.key.pem"
|
||||
|
||||
processors:
|
||||
- add_docker_metadata: ~
|
||||
|
||||
seccomp.enabled: false
|
||||
EOF
|
||||
|
||||
systemctl enable --now journalbeat
|
||||
|
||||
# Configurar Grafana
|
||||
wget -q -O - https://apt.grafana.com/gpg.key | gpg --dearmor >/etc/apt/keyrings/grafana.gpg
|
||||
echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://apt.grafana.com stable main" >/etc/apt/sources.list.d/grafana.list
|
||||
apt-get update
|
||||
apt-get install --yes grafana
|
||||
|
||||
cp CA/certs/oglog-graf.mytld.crt.pem /etc/grafana/
|
||||
cp CA/private/oglog-graf.mytld.key.nopass.pem /etc/grafana/oglog-graf.mytld.key.pem
|
||||
chown grafana:grafana /etc/grafana/oglog-graf.mytld.crt.pem /etc/grafana/oglog-graf.mytld.key.pem
|
||||
|
||||
cp -a /etc/grafana/grafana.ini /etc/grafana/grafana.ini.dist
|
||||
cat >/etc/grafana/grafana.ini <<EOF
|
||||
[server]
|
||||
protocol = https
|
||||
cert_file = /etc/grafana/oglog-graf.mytld.crt.pem
|
||||
cert_key = /etc/grafana/oglog-graf.mytld.key.pem
|
||||
|
||||
[analytics]
|
||||
reporting_enabled = false
|
||||
check_for_updates = false
|
||||
check_for_plugin_updates = false
|
||||
|
||||
# Añadido para configurar Prometheus como fuente de datos
|
||||
[database]
|
||||
enabled = true
|
||||
type = sqlite3
|
||||
path = /var/lib/grafana/grafana.db
|
||||
|
||||
[auth]
|
||||
disable_login_form = false
|
||||
|
||||
[datasources]
|
||||
[datasources.prometheus]
|
||||
name = Prometheus
|
||||
type = prometheus
|
||||
access = proxy
|
||||
url = https://oglog-prom.mytld:9090
|
||||
isDefault = true
|
||||
|
||||
# Descargar y configurar dashboard
|
||||
[dashboardProviders]
|
||||
[dashboardProviders.default]
|
||||
enabled = true
|
||||
folder = /etc/grafana/dashboards
|
||||
type = file
|
||||
options = {}
|
||||
dashboard = /etc/grafana/dashboards/405.json
|
||||
EOF
|
||||
|
||||
# Crear directorio y descargar el dashboard
|
||||
mkdir -p /etc/grafana/dashboards
|
||||
wget -O /etc/grafana/dashboards/405.json https://grafana.com/api/dashboards/405/revisions/8/download
|
||||
|
||||
systemctl enable --now grafana-server
|
Loading…
Reference in New Issue