Instal·lació amb OpenShift

Vista general

Zabbix us ajuda a fer un seguiment en temps real de milions de mètriques recollides de desenes de milers de servidors, màquines virtuals i dispositius de xarxa. L'operador Zabbix permet als usuaris desplegar fàcilment, gestionar i mantindre els desplegaments de Zabbix a OpenShift. Instal·lant aquesta integració, podreu desplegar servidor/proxys Zabbix i altres components amb una sola comanda.

Funcions suportades

Zabbix Operator inclou algunes opcions d'instal·lació possibles:

  • Servidor Zabbix - una instal·lació senzilla de Zabbix que inclou Servidor Zabbix, interfície web Zabbix i passarel·la Java Zabbix amb Suport a la base de dades MySQL. La funció no proporciona servei MySQL i requereix una base de dades MySQL externa.
  • Servidor Zabbix (complet) - una instal·lació de Zabbix que inclou Servidor Zabbix, interfície web Zabbix, passarel·la Java Zabbix i instància del servidor MySQL.
  • Proxy Zabbix (SQLite3) - una manera molt senzilla de muntar el Proxy Zabbix. La funció té suport SQLite3 per als proxys Zabbix i permet especificar la quantitat de proxys.
  • Proxy Zabbix (MySQL) - una altra tipus de proxy Zabbix. Aquesta opció admet i ofereix una base de dades MySQL. És possible utilitzar una instància de base de dades MySQL integrada o una externa.
  • Agent Zabbix - es pot desplegar un agent Zabbix a cada node disponible per al control de l'estabilitat i el rendiment de nodes remots. Això permet recollir mètriques amb una automatització completa!
  • Appliance Zabbix - una appliance Zabbix és una manera molt senzilla de provar i comprovar les funcions de Zabbix. Aquesta opció proporciona tot el nucli i components en una solució. Inclou el servidor Zabbix, passarel·la Zabbix Java, interfície web Zabbix i servidor MySQL. És molt útil per provar la funcionalitat de Zabbix!

Actualment Zabbix Operator es basa en la versió de Zabbix 6.0 LTS i suporta OpenShift 4.1, 4.2, 4.3, 4.4, 4.5 i 4.6.

Instal·lació de l'operador Zabbix

Ús de RedHat Marketplace

La instal·lació de Zabbix Operator amb Red Hat Marketplace requereix que el clúster OpenShift sigui registrat al Marketplace Portal, inclòs el desplegament de PullSecret al vostre clúster. Si no ho feu, es produirà una autenticació errònia d'extracció d'imatge amb el registre de Red Hat.

1. Seleccioneu l'OperatorHub al submenú Operadors i cerqueu el Zabbix.

Trieu l'opció de RedHat Marketplace.

2. Trieu "Operador Zabbix" i feu clic a Comprar.

Openshift s'ha de registrar al Red Hat Marketplace portal.

3. Trieu l'opció d'instal·lació més adequada.

4. Especifiqueu la configuració del producte segons les vostres necessitats.

5. Navegueu pel vostre programari a Red Hat Marketplace i instal·leu el programari Zabbix Operator tal com s'especifica a la imatge.

6. Instal·leu l'operador. Establiu l'estratègia d'aprovació de l'actualització a Automàtica per assegurar-vos que sempre teniu la darrera versió dels components de Zabbix instal·lats.

7. Ara l'operador Zabbix és instal·lat al vostre clúster especificat.

8. Aneu a Operadors → Operadors instal·lats.

9. Obriu la pàgina de configuració "Operador Zabbix".

Ús d'OperatorHub

Si heu instal·lat OpenShift a AWS, assegureu-vos que s'obren els ports necessaris per a la seguretat dels nodes de treball grup.

1. Trieu OperatorHub al submenú Operadors i cerqueu Zabbix.

2. Trieu l'operador Zabbix i feu clic a Instal·lar.

3. Trieu les opcions d'instal·lació.

4. Aneu a Operadors → Operadors instal·lats.

5. Obriu la pàgina de configuració "Operador Zabbix".

Configuració

Alguns dels operands (opcions d'instal·lació) requereixen recursos addicionals per ser creat abans. La secció següent descriu els requisits previs. Totes les opcions de configuració possibles són disponibles durant el desplegament d'operands. Per exemple, proxy Zabbix (MySQL):

La secció YAML ofereix totes les opcions disponibles amb valors predeterminats:

Servidor Zabbix

Aquest operand té uns quants requisits previs:

1. Un punt d'entrada de base de dades MySQL existent: s'ha de crear una base de dades/clúster MySQL abans d'executar l'operand "Servidor Zabbix". Per exemple, un servidor MySQL autònom amb volum persistent:

apiVersion: v1
       kind: PersistentVolumeClaim
       metadata:
         name: mysql-pv-claim
       spec:
         accessModes:
           - ReadWriteOnce
         resources:
           requests:
             storage: 20Gi
       ---
       apiVersion: apps/v1
       kind: Deployment
       metadata:
         name: mysql
       spec:
         selector:
           matchLabels:
             app: mysql
         strategy:
           type: Recreate
         template:
           metadata:
             labels:
               app: mysql
           spec:
             containers:
             - image: mysql:8.0
               name: mysql
               args:
                 - mysqld
                 - '--character-set-server=utf8'
                 - '--collation-server=utf8_bin'
                 - '--default-authentication-plugin=mysql_native_password'
               env:
                 # Use secret in real usage
               - name: MYSQL_ROOT_PASSWORD
                 value: Welcome1!
               ports:
               - containerPort: 3306
                 name: mysql
               volumeMounts:
               - name: mysql-persistent-storage
                 mountPath: /var/lib/mysql
             volumes:
             - name: mysql-persistent-storage
               persistentVolumeClaim:
                 claimName: mysql-pv-claim
       ---
       apiVersion: v1
       kind: Service
       metadata:
         name: mysql
       spec:
         ports:
         - port: 3306
         selector:
           app: mysql
         clusterIP: None

Tingueu en compte que Zabbix no admet un conjunt de caràcters utf8_mb4 i connector d'autenticació de la memòria cau per defecte_sha2_password.

2. Les credencials de MySQL utilitzen secret - han de ser secrets amb mysql_root_password, mysql_zabbix_username i dades de mysql_zabbix_password. Per exemple:

kind: Secret
       apiVersion: v1
       metadata:
         name: zabbix-server-secrets
       data:
         mysql_root_password: V2VsY29tZTEh
         mysql_zabbix_password: emFiYml4X3N1cGVyIQ==
         mysql_zabbix_username: emFiYml4
       type: Opaque

on tots els camps són codificats en base64. Per exemple:

# echo -n "zabbix" | base 64
       emFiYml4Cg

Un exemple de configuració d'operands "Servidor Zabbix":

Totes les opcions de configuració són disponibles mitjançant la vista de formulari, però també és possible emprar la vista YAML. Per exemple:

Finalment, l'operand crearà diversos pods. És possible examinar-los a la secció Càrregues de treball → Pods:

La ruta per a la interfície web de Zabbix es troba a Xarxa → Rutes. L'URL proporciona accés a la interfície web de Zabbix. Al següent exemple, és http://zabbix-server-zabbix.apps-crc.testing/:

Zabbix complet

Aquest operand té uns quants requisits previs:

1. Reclamació de volum MySQL: ha de ser una reclamació de volum persistent. Per exemple:

apiVersion: v1
       kind: PersistentVolumeClaim
       metadata:
         name: zabbix-database
         namespace: zabbix
       spec:
         accessModes:
           - ReadWriteOnce
         volumeMode: Filesystem
         resources:
           requests:
             storage: 50Gi

2. Les credencials de MySQL utilitzen secret - han de ser secrets amb mysql_root_password, mysql_zabbix_username i dades de mysql_zabbix_password. Per exemple:

kind: Secret
       apiVersion: v1
       metadata:
         name: zabbix-full-secrets
       data:
         mysql_root_password: V2VsY29tZTEh
         mysql_zabbix_password: emFiYml4X3N1cGVyIQ==
         mysql_zabbix_username: emFiYml4
       type: Opaque

on tots els camps són codificats en base64. Per exemple:

# echo -n "zabbix" | base 64
       emFiYml4Cg

Un exemple de configuració d'operands "Zabbix Full":

Totes les opcions de configuració són disponibles mitjançant la vista de formulari, però també és possible utilitzar la vista YAML. Per exemple:

Finalment, l'operand crearà diversos pods. És possible examinar-los a la secció Càrregues de treball → Pods:

La ruta per a la interfície web de Zabbix es troba a Xarxa → Rutes. L'URL proporciona accés a la interfície web de Zabbix. Al següent exemple, és http://zabbix-full-zabbix.apps-crc.testing/:

Proxy Zabbix (SQLite3)

Un exemple de configuració d'operands "Proxy Zabbix (SQLite3)":

Finalment, l'operand crearà diversos pods. És possible examinar-los a la secció Càrregues de treball → Pods:

Informació addicional

Crear un nou secret

El procediment següent descriu com crear un secret nou utilitzant Consola Openshift.

1. Obriu la secció Càrregues de treball → Secrets i canvieu el projecte a Projecte de l'operador Zabbix (per defecte, "zabbix").

2. Creeu un secret nou amb l'opció Des de YAML.

Certificats SSL per HTTPS

És possible habilitar HTTPS directament a la interfície web de Zabbix pods. En aquest cas, creeu el següent secret mitjançant l'opció YAML:

kind: Secret
       apiVersion: v1
       metadata:
         name: zabbix-web-sslsecret
       data:
         ssl.crt: >-
          < ssl.crt data>
         ssl.key: >-
            < ssl.key data >
         dhparam.pem: >-
          <  dhparam.pem data >

Els noms dels certificats i el fitxer de paràmetres DH són estàtics. Si us plau, empreu només les que es veuen a l'exemple anterior!

Xifratge base del certificat de base de dades MySQL

banda de la base de dades MySQL:

apiVersion: v1
       data:
        root-ca.pem: >-
         < root-ca.pem data>
        server-cert.pem: >-
         < server-cert.pem data>
        server-key.pem: >-
         < server-key.pem data>
       kind: Secret
       metadata:
        name: zabbix-db-server-tls-secret
       type: Opaque

banda dels components de Zabbix:

apiVersion: v1
       data:
        client-cert.pem: >-
         < client-cert.pem data>
        client-key.pem: >-
         < client-key.pem data>
        root-ca.pem: >-
         < root-ca.pem data>
       kind: Secret
       metadata:
        name: zabbix-db-client-tls-secret
       type: Opaque

Els certificats han d'incloure "-----BEGIN RSA PRIVATE KEY-----"" i "-----END RSA PRIVATE KEY-----". Per exemple:

Tot seguit, durant el desplegament, a la secció de components Zabbix i servidor MySQL (si utilitzeu un servidor integrat) trieu la "connexió TLS a la base de dades" i el valor secret "Certificats de base de dades MySQL (client)".

Problemes coneguts

  1. L'agent Zabbix no té la possibilitat de determinar el nom adequat del node. Sempre té un nom d'equip dinàmic.