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
- L'agent Zabbix no té la possibilitat de determinar el nom adequat del node. Sempre té un nom d'equip dinàmic.