Dear all,
There's the situation.
I deployed Zabbix 7.2.4 on our k8s cluster, and Zabbix server is using zabbix-server-mysql:7.2.4-ubuntu image.
There're several conf files under the directory /etc/zabbix in the Zabbix server pod.
The report conf is zabbix_server_reports.conf, and the content is like below.
Code:
### Option: StartReportWriters
# Number of pre-forked report writer instances.
#
# Mandatory: no
# Range: 0-100
# Default:
# StartReportWriters=0
StartReportWriters=${ZBX_STARTREPORTWRITERS}
### Option: WebServiceURL
# URL to Zabbix web service, used to perform web related tasks.
# Example: [URL]http://localhost:10053/report[/URL]
#
# Mandatory: no
# Default:
# WebServiceURL=
WebServiceURL=${ZBX_WEBSERVICEURL}
I have built the zabbix server image with env set as blow.
Code:
StartReportWriters=10 WebServiceURL=http://<zabbix-web-nodeport-ip>:30053/report
Zabbix server pod's port mapping is set as below.
Code:
---
apiVersion: v1
kind: Service
metadata:
name: zabbix-server
namespace: zabbix
labels:
app: zabbix-server
spec:
selector:
app: zabbix-server
ports:
- name: zabbix-server
port: 10051
nodePort: 30051
- name: zabbix-server-report
port: 10053
nodePort: 30053
type: NodePort
Zabbix web container's yaml file is under below.
zabbix-web.yaml
Code:
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: zabbix-web
name: zabbix-web
namespace: zabbix
spec:
replicas: 1
selector:
matchLabels:
app: zabbix-web
template:
metadata:
labels:
app: zabbix-web
spec:
containers:
- image: zabbix/zabbix-web-nginx-mysql:alpine-7.2.4
imagePullPolicy: IfNotPresent
name: zabbix-web-nginx-mysql
env:
- name: DB_SERVER_HOST
value: mysql844
- name: MYSQL_USER
value: zabbix
- name: MYSQL_PASSWORD
value: zabbix
- name: ZBX_SERVER_HOST
value: zabbix-server
- name: PHP_TZ
value: Asia/shanghai
resources:
requests:
cpu: 100m
memory: 2Gi
limits:
cpu: 500m
memory: 4Gi
---
apiVersion: v1
kind: Service
metadata:
labels:
app: zabbix-web
name: zabbix-web
namespace: zabbix
spec:
ports:
- name: web
port: 8080
protocol: TCP
targetPort: 8080
nodePort: 30080
- name: report
port: 10053
protocol: TCP
targetPort: 10053
nodePort: 30053
selector:
app: zabbix-web
type: NodePort
When I navigate to the web portal: Reports -> Scheduled reports select one and click the Test button, it gives me an error:
Report generating test failed.
The frontend URL has not been configured.
So, what steps should I do to normally generate the reports?