====== Zabbix Deployment ======
===== Criando a database =====
FIXME **Executar no servidor PostgreSQL** [[install_postgres_ol8|Instalação no Oracle Linux 8]]
===== Criando o armazenamento =====
$ sudo fdisk -l /dev/sdb
Disco /dev/sdb: 256 GiB, 274877906944 bytes, 536870912 setores
Unidades: setor de 1 * 512 = 512 bytes
Tamanho de setor (lógico/físico): 512 bytes / 512 bytes
Tamanho E/S (mínimo/ótimo): 512 bytes / 512 bytes
$ sudo pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created.
$ sudo vgcreate vgPGSQL /dev/sdb
Volume group "vgPGSQL" successfully created
$ sudo lvcreate -L 128G -n lvZABBIX vgPGSQL
Logical volume "lvZABBIX" created.
$ sudo pvdisplay /dev/sdb
--- Physical volume ---
PV Name /dev/sdb
VG Name vgPGSQL
PV Size 256,00 GiB / not usable 4,00 MiB
Allocatable yes
PE Size 4,00 MiB
Total PE 65535
Free PE 32767
Allocated PE 32768
PV UUID OB5eaC-Uh8i-D1Bi-8eny-BP0L-D32I-pLyo1e
$ sudo vgdisplay vgPGSQL
--- Volume group ---
VG Name vgPGSQL
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size <256,00 GiB
PE Size 4,00 MiB
Total PE 65535
Alloc PE / Size 32768 / 128,00 GiB
Free PE / Size 32767 / <128,00 GiB
VG UUID uLGkFb-HfjP-2jc5-NAzd-6wkV-jf1p-IMOA5F
$ sudo lvdisplay /dev/vgPGSQL/lvZABBIX
--- Logical volume ---
LV Path /dev/vgPGSQL/lvZABBIX
LV Name lvZABBIX
VG Name vgPGSQL
LV UUID eTY2Ei-WtK3-Z97x-7Hbj-vKPc-ly1U-jWhRZi
LV Write Access read/write
LV Creation host, time pgsql, 2022-06-16 10:24:32 -0300
LV Status available
# open 0
LV Size 128,00 GiB
Current LE 32768
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:5
$ sudo mkfs.xfs /dev/vgPGSQL/lvZABBIX
meta-data=/dev/vgPGSQL/lvZABBIX isize=512 agcount=4, agsize=8388608 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1 bigtime=0 inobtcount=0
data = bsize=4096 blocks=33554432, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=16384, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
$ sudo mkdir -p /pgsql/zabbix
$ sudo mount /dev/vgPGSQL/lvZABBIX /pgsql/zabbix
$ sudo blkid | egrep vg
/dev/mapper/vgPGSQL-lvZABBIX: UUID="f7fd8b97-7914-40c8-862a-79123a67a512" BLOCK_SIZE="512" TYPE="xfs"
$ echo -e "UUID=f7fd8b97-7914-40c8-862a-79123a67a512\t/pgsql/zabbix\txfs\tdefaults\t0 0" | sudo tee -a /etc/fstab
UUID=f7fd8b97-7914-40c8-862a-79123a67a512 /pgsql/zabbix xfs defaults 0 0
$ sudo mount -a
$ mount | grep pgsql
/dev/mapper/vgPGSQL-lvZABBIX on /pgsql/zabbix type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota)
$ df -h | grep pgsql
/dev/mapper/vgPGSQL-lvZABBIX 128G 946M 128G 1% /pgsql/zabbix
===== Criando o banco e o acesso do zabbix =====
$ sudo su - postgres
Último login:qui jun 16 10:47:12 -03 2022em pts/0
[postgres@pgsql ~]$ psql
psql (14.3)
Type "help" for help.
postgres=# create tablespace datasxb location '/pgsql/zabbix';
ERROR: could not set permissions on directory "/pgsql/zabbix": Operation not permitted
$ sudo chown postgres:postgres /pgsql/zabbix/ -R
$ sudo semanage fcontext -a -t postgresql_db_t "/pgsql/zabbix(/.*)?"
$ sudo restorecon -R -v /pgsql/zabbix/
Ou
$ sudo chcon -Rt postgresql_db_t /pgsql/zabbix
$ ls -laZ /pgsql/zabbix/
total 0
drwxr-xr-x. 2 postgres postgres system_u:object_r:postgresql_db_t:s0 6 jun 16 10:32 .
drwxr-xr-x. 3 root root unconfined_u:object_r:default_t:s0 20 jun 16 10:33 ..
postgres=# create tablespace dataszb location '/pgsql/zabbix';
CREATE TABLESPACE
postgres=# create role zabbix login ;
CREATE ROLE
postgres=# \password zabbix
Enter new password for user "zabbix":
Enter it again:
postgres=# create database zabbix owner zabbix tablespace dataszb;
CREATE DATABASE
postgres=# \c zabbix
You are now connected to database "zabbix" as user "postgres".
^
zabbix=# create extension if not exists timescaledb cascade;
WARNING:
WELCOME TO
_____ _ _ ____________
|_ _(_) | | | _ \ ___ \
| | _ _ __ ___ ___ ___ ___ __ _| | ___| | | | |_/ /
| | | | _ ` _ \ / _ \/ __|/ __/ _` | |/ _ \ | | | ___ \
| | | | | | | | | __/\__ \ (_| (_| | | __/ |/ /| |_/ /
|_| |_|_| |_| |_|\___||___/\___\__,_|_|\___|___/ \____/
Running version 2.7.0
For more information on TimescaleDB, please visit the following links:
1. Getting started: https://docs.timescale.com/timescaledb/latest/getting-started
2. API reference documentation: https://docs.timescale.com/api/latest
3. How TimescaleDB is designed: https://docs.timescale.com/timescaledb/latest/overview/core-concepts
Note: TimescaleDB collects anonymous reports to better understand and assist our users.
For more information and how to disable, please see our docs https://docs.timescale.com/timescaledb/latest/how-to-guides/configuration/telemetry.
CREATE EXTENSION
zabbix=# \dx
List of installed extensions
Name | Version | Schema | Description
-------------+---------+------------+-------------------------------------------------------------------
plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
timescaledb | 2.7.0 | public | Enables scalable inserts and complex queries for time-series data
(2 rows)
$ sudo rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-1.el8.noarch.rpm
[sudo] senha para suporte:
Obtendo https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-1.el8.noarch.rpm
aviso: /var/tmp/rpm-tmp.CnkNDh: Cabeçalho V4 RSA/SHA512 Signature, ID da chave a14fe591: NOKEY
Verifying... ################################# [100%]
Preparando... ################################# [100%]
Updating / installing...
1:zabbix-release-6.0-1.el8 ################################# [100%]
$ sudo dnf install zabbix-agent2 zabbix-sql-scripts
$ rpm -qil zabbix-sql-scripts-6.0.5-1.el8.noarch
Name : zabbix-sql-scripts
Version : 6.0.5
Release : 1.el8
Architecture: noarch
Install Date: qui 16 jun 2022 11:12:58 -03
Group : Applications/Internet
Size : 8717520
License : GPLv2+
Signature : RSA/SHA512, seg 30 mai 2022 08:39:56 -03, Key ID 082ab56ba14fe591
Source RPM : zabbix-6.0.5-1.el8.src.rpm
Build Date : seg 30 mai 2022 07:45:34 -03
Build Host : e598b51f5fb3
Relocations : (not relocatable)
URL : http://www.zabbix.com/
Summary : Zabbix database sql scripts
Description :
SQL files needed to setup Zabbix server or proxy databases
/usr/share/doc/zabbix-sql-scripts
/usr/share/doc/zabbix-sql-scripts/AUTHORS
/usr/share/doc/zabbix-sql-scripts/COPYING
/usr/share/doc/zabbix-sql-scripts/ChangeLog
/usr/share/doc/zabbix-sql-scripts/NEWS
/usr/share/doc/zabbix-sql-scripts/README
/usr/share/doc/zabbix-sql-scripts/mysql/double.sql
/usr/share/doc/zabbix-sql-scripts/mysql/history_pk_prepare.sql
/usr/share/doc/zabbix-sql-scripts/mysql/proxy.sql
/usr/share/doc/zabbix-sql-scripts/mysql/server.sql.gz
/usr/share/doc/zabbix-sql-scripts/postgresql/double.sql
/usr/share/doc/zabbix-sql-scripts/postgresql/history_pk_prepare.sql
/usr/share/doc/zabbix-sql-scripts/postgresql/proxy.sql
/usr/share/doc/zabbix-sql-scripts/postgresql/server.sql.gz
/usr/share/doc/zabbix-sql-scripts/postgresql/timescaledb.sql
/usr/share/doc/zabbix-sql-scripts/sqlite3/proxy.sql
$ sudo su - postgres
Último login:qui jun 16 10:59:31 -03 2022em pts/0
$ sudo vim /var/lib/pgsql/14/data/pg_hba.conf
[...]
# Acesso Zabbix
host zabbix zabbix ::1/128 scram-sha-256
host zabbix zabbix 2804:694:4c00:4007::/64 scram-sha-256
$ sudo vim /var/lib/pgsql/14/data/postgresql.conf
[...]
#listen_addresses = 'localhost' # what IP address(es) to listen on;
listen_addresses = '*' # what IP address(es) to listen on;
[...]
$ sudo systemctl restart postgresql-14
$ zcat /usr/share/doc/zabbix-sql-scripts/postgresql/server.sql.gz | psql -h ::1 -U zabbix zabbix
$ psql -h ::1 -U zabbix zabbix < /usr/share/doc/zabbix-sql-scripts/postgresql/timescaledb.sql
$ sudo firewall-cmd --permanent --add-service postgresql
$ sudo firewall-cmd --reload
===== Testando a conexão =====
==== Executar no Kubernetes control plane ====
$ sudo apt install postgresql-client
$ psql -h pgsql.juntotelecom.com.br -U zabbix zabbix
Password for user zabbix:
psql (13.5 (Debian 13.5-0+deb11u1), server 14.3)
WARNING: psql major version 13, server major version 14.
Some psql features might not work.
Type "help" for help.
zabbix=>
===== Zabbix =====
kubectl create namespace monitoring-system -o yaml \
--dry-run=client > namespace-monitoring.yaml
$ kubectl apply -f namespace-monitoring.yaml
namespace/monitoring-system created
$ cat pgsql-secret
db-zbx-pass=Z9Ty7kjnE_lY?z
$ kubectl create secret generic pgsql-secret -n monitoring-system \
--from-env-file=pgsql-secret -o yaml \
--dry-run=client > pgsql-secret.yaml
$ kubectl apply -f pgsql-secret.yaml
secret/pgsql-secret created
==== Zabbix Server ====
$ cat zabbix-server.yaml
apiVersion: apps/v1
kind: StatefulSet
metadata:
labels:
app: zabbix-server
name: zabbix-server
namespace: monitoring-system
spec:
selector:
matchLabels:
app: zabbix-server
serviceName: zabbix-server
template:
metadata:
labels:
app: zabbix-server
spec:
containers:
- env:
- name: DB_SERVER_HOST
value: pgsql.juntotelecom.com.br
- name: POSTGRES_USER
value: zabbix
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
key: db-zbx-pass
name: pgsql-secret
- name: POSTGRES_DB
value: zabbix
- name: ZBX_CACHESIZE
- name: ZBX_STARTPOLLERS
- name: ZBX_STARTTRAPPERS
- name: ZBX_STARTPINGERS
image: zabbix/zabbix-server-pgsql:ol-6.0-latest
imagePullPolicy: IfNotPresent
name: zabbix-server
ports:
- containerPort: 10051
name: zabbix-trapper
protocol: TCP
- containerPort: 10052
name: zabbix-jmx
protocol: TCP
resources: {}
securityContext:
capabilities: {}
privileged: false
- env:
- name: ZBX_HOSTNAME
value: zabbix-agent
- name: ZBX_SERVER_HOST
value: 127.0.0.1
- name: ZBX_SERVER_PORT
value: "10051"
- name: ZBX_PASSIVE_ALLOW
value: "true"
- name: ZBX_PASSIVESERVERS
value: 127.0.0.1
- name: ZBX_ACTIVE_ALLOW
value: "true"
- name: ZBX_ACTIVESERVERS
- name: ZBX_DEBUGLEVEL
- name: ZBX_TIMEOUT
- name: ZBX_LOADMODULE
image: zabbix/zabbix-agent2:ol-6.0-latest
imagePullPolicy: IfNotPresent
name: zabbix-agent
ports:
- containerPort: 10050
name: zabbix-agent
protocol: TCP
resources:
limits:
cpu: 200m
memory: 128Mi
requests:
cpu: 100m
memory: 64Mi
securityContext:
capabilities: {}
privileged: true
restartPolicy: Always
securityContext: {}
$ cat svc-zabbix-server.yaml
apiVersion: v1
kind: Service
metadata:
labels:
app: zabbix-server
name: zabbix-server
namespace: monitoring-system
spec:
ipFamilies:
- IPv4
- IPv6
ipFamilyPolicy: PreferDualStack
ports:
- name: zabbix-server
port: 10051
protocol: TCP
targetPort: 10051
- name: zabbix-jmx
port: 10052
protocol: TCP
targetPort: 10052
selector:
app: zabbix-server
type: ClusterIP
==== Zabbix proxy ====
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: zabbix-proxy
name: zabbix-proxy
namespace: monitoring-system
spec:
selector:
matchLabels:
app: zabbix-proxy
name: zabbix-proxy
template:
metadata:
labels:
app: zabbix-proxy
name: zabbix-proxy
spec:
containers:
- env:
- name: ZBX_PROXYMODE
value: "0"
- name: ZBX_HOSTNAME
value: zabbix-proxy
- name: ZBX_SERVER_HOST
value: zabbix-server
- name: ZBX_SERVER_PORT
value: "10051"
- name: ZBX_ENABLE_SNMP_TRAPS
value: "true"
image: zabbix/zabbix-proxy-sqlite3:ol-6.0-latest
imagePullPolicy: IfNotPresent
name: zabbix-proxy
ports:
- containerPort: 10051
name: zabbix-trapper
protocol: TCP
resources: {}
securityContext:
capabilities: {}
privileged: false
volumeMounts:
- mountPath: /var/lib/zabbix/snmptraps
name: zabbix-snmptraps
readOnly: true
- image: zabbix/zabbix-snmptraps:ol-6.0-latest
imagePullPolicy: IfNotPresent
name: zabbix-snmptraps
ports:
- containerPort: 1162
name: snmp-trap
protocol: UDP
resources:
limits:
cpu: 250m
memory: 256M
requests:
cpu: 150m
memory: 128M
securityContext:
capabilities: {}
privileged: false
volumeMounts:
- mountPath: /var/lib/zabbix/snmptraps/
name: zabbix-snmptraps
- env:
- name: ZBX_HOSTNAME
value: zabbix-agent
- name: ZBX_SERVER_HOST
value: zabbix-proxy
- name: ZBX_SERVER_PORT
value: "10051"
image: zabbix/zabbix-agent2:ol-6.0-latest
imagePullPolicy: IfNotPresent
name: zabbix-agent
ports:
- containerPort: 10050
name: zabbix-agent
protocol: TCP
resources:
limits:
cpu: 200m
memory: 128Mi
requests:
cpu: 100m
memory: 64Mi
securityContext:
capabilities: {}
privileged: true
restartPolicy: Always
securityContext: {}
volumes:
- emptyDir: {}
name: zabbix-snmptraps
apiVersion: v1
kind: Service
metadata:
labels:
app: zabbix-proxy
name: zabbix-proxy
namespace: monitoring-system
spec:
ipFamilies:
- IPv4
- IPv6
ipFamilyPolicy: PreferDualStack
ports:
- name: zabbix-trapper
port: 10051
protocol: TCP
targetPort: 10051
- name: snmp-trap
port: 162
protocol: UDP
targetPort: 1162
selector:
name: zabbix-proxy
type: ClusterIP
==== Zabbix Web ====
$ cat zabbix-we.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: zabbix-web
name: zabbix-web
namespace: monitoring-system
spec:
selector:
matchLabels:
app: zabbix-web
template:
metadata:
labels:
app: zabbix-web
spec:
containers:
- env:
- name: ZBX_SERVER_HOST
value: zabbix-server
- name: ZBX_SERVER_PORT
value: "10051"
- name: DB_SERVER_HOST
value: pgsql.juntotelecom.com.br
- name: DB_SERVER_PORT
value: "5432"
- name: POSTGRES_USER
value: zabbix
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
key: db-zbx-pass
name: pgsql-secret
- name: POSTGRES_DB
value: zabbix
image: zabbix/zabbix-web-nginx-pgsql:ol-6.0-latest
imagePullPolicy: IfNotPresent
name: zabbix-web
ports:
- containerPort: 8080
name: zabbix-web
protocol: TCP
resources: {}
restartPolicy: Always
securityContext: {}
$ cat svc-zabbix-web.yaml
apiVersion: v1
kind: Service
metadata:
labels:
app: zabbix-web
name: zabbix-web
namespace: monitoring-system
spec:
ipFamilies:
- IPv4
- IPv6
ipFamilyPolicy: PreferDualStack
ports:
- name: zabbix-web
nodePort: 30162
port: 80
protocol: TCP
targetPort: 8080
selector:
app: zabbix-web
type: NodePort
===== Zabbix deploy all =====
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: zabbix
name: zabbix
spec:
replicas: 1
selector:
matchLabels:
app: zabbix
template:
metadata:
labels:
app: zabbix
spec:
containers:
- name: postgres
image: postgres:14
imagePullPolicy: IfNotPresent
ports:
- containerPort: 5432
name: postgres
protocol: TCP
env:
- name: POSTGRES_USER
value: zabbix
- name: POSTGRES_PASSWORD
value: zabbix
- name: ENABLE_TIMESCALEDB
value: "true"
volumeMounts:
- name: data
mountPath: /var/lib/postgresql/data
- name: zabbix-server
image: zabbix/zabbix-server-pgsql:alpine-6.0-latest
imagePullPolicy: IfNotPresent
ports:
- containerPort: 10051
name: zabbix-trapper
protocol: TCP
env:
- name: DB_SERVER_HOST
value: localhost
- name: POSTGRES_USER
value: zabbix
- name: POSTGRES_PASSWORD
value: zabbix
- name: POSTGRES_DB
value: zabbix
- name: zabbix-web
image: zabbix/zabbix-web-nginx-pgsql:alpine-6.0-latest
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8080
name: zabbix-web
protocol: TCP
env:
- name: DB_SERVER_HOST
value: localhost
- name: POSTGRES_USER
value: zabbix
- name: POSTGRES_PASSWORD
value: zabbix
- name: POSTGRES_DB
value: zabbix
- name: ZBX_SERVER_HOST
value: localhost
- name: ZBX_SERVER_NAME
value: Zabbix Kubernetes
- name: PHP_TZ
value: America/Sao_Paulo
- name: zabbix-proxy
image: zabbix/zabbix-proxy-sqlite3:alpine-6.0-latest
imagePullPolicy: IfNotPresent
ports:
- containerPort: 10051
name: zabbix-trapper
protocol: TCP
env:
- name: ZBX_HOSTNAME
value: zabbix-proxy
- name: ZBX_SERVER_HOST
value: localhost
- name: ZBX_ENABLE_SNMP_TRAPS
value: "true"
- name: ZBX_VMWARETIMEOUT
value: "120"
- name: ZBX_STARTVMWARECOLLECTORS
value: "3"
- name: ZBX_VMWARECACHESIZE
value: 128M
- name: ZBX_VMWAREFREQUENCY
value: "60"
- name: ZBX_VMWAREPERFFREQUENCY
value: "60"
volumeMounts:
- name: snmptraps
mountPath: /var/lib/zabbix/snmptraps
readOnly: true
- name: externalscripts
mountPath: /usr/lib/zabbix/externalscripts
readOnly: true
- name: mibs
mountPath: /var/lib/zabbix/mibs
readOnly: true
- name: zabbix-agent
image: zabbix/zabbix-agent:alpine-6.0-latest
imagePullPolicy: IfNotPresent
ports:
- containerPort: 10050
name: zabbix-agent
protocol: TCP
env:
- name: ZBX_SERVER_HOST
value: localhost
securityContext:
privileged: true
- name: zabbix-snmptraps
image: zabbix/zabbix-snmptraps:alpine-6.0-latest
imagePullPolicy: IfNotPresent
ports:
- containerPort: 1162
name: snmp-trap
protocol: UDP
volumeMounts:
- name: snmptraps
mountPath: /var/lib/zabbix/snmptraps
- name: mibs
mountPath: /var/lib/zabbix/mibs
volumes:
- name: data
persistentVolumeClaim:
claimName: data
- name: mibs
persistentVolumeClaim:
claimName: mibs
- name: externalscripts
persistentVolumeClaim:
claimName: externalscripts
- name: snmptraps
persistentVolumeClaim:
claimName: snmptraps
==== Export ====
apiVersion: v1
items:
- apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: zabbix
name: zabbix
namespace: default
spec:
selector:
matchLabels:
app: zabbix
template:
metadata:
labels:
app: zabbix
spec:
containers:
- env:
- name: POSTGRES_USER
value: zabbix
- name: POSTGRES_PASSWORD
value: zabbix
- name: ENABLE_TIMESCALEDB
value: "true"
image: postgres:14
imagePullPolicy: IfNotPresent
name: postgres
ports:
- containerPort: 5432
name: postgres
protocol: TCP
resources: {}
volumeMounts:
- mountPath: /var/lib/postgresql/data
name: data
- env:
- name: DB_SERVER_HOST
value: localhost
- name: POSTGRES_USER
value: zabbix
- name: POSTGRES_PASSWORD
value: zabbix
- name: POSTGRES_DB
value: zabbix
image: zabbix/zabbix-server-pgsql:alpine-6.0-latest
imagePullPolicy: IfNotPresent
name: zabbix-server
ports:
- containerPort: 10051
name: zabbix-trapper
protocol: TCP
resources: {}
- env:
- name: DB_SERVER_HOST
value: localhost
- name: POSTGRES_USER
value: zabbix
- name: POSTGRES_PASSWORD
value: zabbix
- name: POSTGRES_DB
value: zabbix
- name: ZBX_SERVER_HOST
value: localhost
- name: ZBX_SERVER_NAME
value: Zabbix Kubernetes
- name: PHP_TZ
value: America/Sao_Paulo
image: zabbix/zabbix-web-nginx-pgsql:alpine-6.0-latest
imagePullPolicy: IfNotPresent
name: zabbix-web
ports:
- containerPort: 8080
name: zabbix-web
protocol: TCP
resources: {}
- env:
- name: ZBX_HOSTNAME
value: zabbix-proxy
- name: ZBX_SERVER_HOST
value: localhost
- name: ZBX_ENABLE_SNMP_TRAPS
value: "true"
- name: ZBX_VMWARETIMEOUT
value: "120"
- name: ZBX_STARTVMWARECOLLECTORS
value: "3"
- name: ZBX_VMWARECACHESIZE
value: 128M
- name: ZBX_VMWAREFREQUENCY
value: "60"
- name: ZBX_VMWAREPERFFREQUENCY
value: "60"
image: zabbix/zabbix-proxy-sqlite3:alpine-6.0-latest
imagePullPolicy: IfNotPresent
name: zabbix-proxy
ports:
- containerPort: 10051
name: zabbix-trapper
protocol: TCP
resources: {}
volumeMounts:
- mountPath: /var/lib/zabbix/snmptraps
name: snmptraps
readOnly: true
- mountPath: /usr/lib/zabbix/externalscripts
name: externalscripts
readOnly: true
- mountPath: /var/lib/zabbix/mibs
name: mibs
readOnly: true
- env:
- name: ZBX_SERVER_HOST
value: localhost
image: zabbix/zabbix-agent:alpine-6.0-latest
imagePullPolicy: IfNotPresent
name: zabbix-agent
ports:
- containerPort: 10050
name: zabbix-agent
protocol: TCP
resources: {}
securityContext:
privileged: true
- image: zabbix/zabbix-snmptraps:alpine-6.0-latest
imagePullPolicy: IfNotPresent
name: zabbix-snmptraps
ports:
- containerPort: 1162
name: snmp-trap
protocol: UDP
resources: {}
volumeMounts:
- mountPath: /var/lib/zabbix/snmptraps
name: snmptraps
- mountPath: /var/lib/zabbix/mibs
name: mibs
dnsPolicy: ClusterFirst
restartPolicy: Always
volumes:
- name: data
persistentVolumeClaim:
claimName: data
- name: mibs
persistentVolumeClaim:
claimName: mibs
- name: externalscripts
persistentVolumeClaim:
claimName: externalscripts
- name: snmptraps
persistentVolumeClaim:
claimName: snmptraps
==== PVC ====
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: data
namespace: default
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 8Gi
storageClassName: nfs-client
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mibs
namespace: default
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
storageClassName: nfs-client
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: externalscripts
namespace: default
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
storageClassName: nfs-client
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: snmptraps
namespace: default
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
storageClassName: nfs-client