forked from cetic/helm-zabbix
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README.md.gotmpl
148 lines (87 loc) · 4.9 KB
/
README.md.gotmpl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
# Helm Chart For Zabbix.
[![CircleCI](https://circleci.com/gh/cetic/helm-zabbix.svg?style=svg)](https://circleci.com/gh/cetic/helm-zabbix/tree/master) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) ![version](https://img.shields.io/github/tag/cetic/helm-zabbix.svg?label=release) {{ template "chart.versionBadge" . }}
{{ template "chart.description" . }}
# Introduction
This [Helm](https://github.com/cetic/helm-zabbix) chart installs [Zabbix](https://www.zabbix.com) in a Kubernetes cluster.
### Important note
>**This helm chart is still under developpement**
# Prerequisites
- Kubernetes cluster 1.10+
- Helm 3.0+
- PV provisioner support in the underlying infrastructure.
# Zabbix components
## Zabbix Server
**Zabbix server** is the central process of Zabbix software.
The server performs the polling and trapping of data, it calculates triggers, sends notifications to users. It is the central component to which Zabbix agents and proxies report data on availability and integrity of systems. The server can itself remotely check networked services (such as web servers and mail servers) using simple service checks.
## Zabbix Agent
**Zabbix agent** is deployed on a monitoring target to actively monitor local resources and applications (hard drives, memory, processor statistics etc).
## Zabbix Web (frontend)
**Zabbix web** interface is a part of Zabbix software. It is used to manage resources under monitoring and view monitoring statistics.
## Zabbix Proxy
> **Zabbix proxy** is not functional in this helm chart, yet.
**Zabbix proxy** is a process that may collect monitoring data from one or more monitored devices and send the information to the Zabbix server, essentially working on behalf of the server. All collected data is buffered locally and then transferred to the **Zabbix server** the proxy belongs to.
## PostgreSQL
A database is required for zabbix to work, in this helm chart we're using Postgresql.
> to use a different database make sure you use the right docker image, the docker image we're using here is for postgresql only.
## Configure the chart
The items of section [Configuration](#Configuration) can be set via ``--set`` flag during installation or change the values according to the need of the environment in ``helm-zabbix/values.yaml`` file.
### Configure the way how to expose Zabbix service:
- **Ingress**: The ingress controller must be installed in the Kubernetes cluster.
- **ClusterIP**: Exposes the service on a cluster-internal IP. Choosing this value makes the service only reachable from within the cluster.
- **NodePort**: Exposes the service on each Node’s IP at a static port (the NodePort). You’ll be able to contact the NodePort service, from outside the cluster, by requesting ``NodeIP:NodePort``.
- **LoadBalancer**: Exposes the service externally using a cloud provider’s load balancer.
# Installation
Install requirement ``kubectl`` and ``helm`` following the instructions this [tutorial](docs/requirements.md).
Access a Kubernetes cluster.
Create namespace ``monitoring`` in Kubernetes cluster.
```bash
kubectl create namespace monitoring
```
Add Helm repo:
```bash
helm repo add cetic https://cetic.github.io/helm-charts
```
Update the list helm chart available for installation (like ``apt-get update``). This is recommend before install/upgrade a helm chart:
```bash
helm repo update
```
Export default values of chart ``helm-zabbix`` to file ``$HOME/zabbix_values.yaml``:
```bash
helm show values cetic/zabbix > $HOME/zabbix_values.yaml
```
Change the values according to the environment in the file ``$HOME/zabbix_values.yaml``.
Install the Zabbix helm chart with a release name `my-release`:
```bash
helm install zabbix cetic/zabbix --dependency-update -f $HOME/zabbix_values.yaml -n monitoring
```
View the pods.
```bash
kubectl get pods -n monitoring
```
View the logs container of pods.
```bash
kubectl logs -f pods/POD_NAME -n monitoring
```
See the example of installation in minikube in this [tutorial](docs/example/README.md).
See section [Basic Commands of Helm 3](docs/basics-helmv3.md) for more information about commands of helm.
# Uninstallation
To uninstall/delete the ``zabbix`` deployment:
```bash
helm delete zabbix -n monitoring
```
# How to access Zabbix
After deploying the chart in your cluster, you can use the following command to access the zabbix frontend service:
View informations of ``zabbix`` services.
```bash
kubectl describe services zabbix-web -n monitoring
```
Listen on port 8888 locally, forwarding to 80 in the service ``zabbix-web``.
```bash
kubectl port-forward service/zabbix-web 8888:80 -n monitoring
```
Access Zabbix in http://localhost:8888. Login ``Admin`` and password ``zabbix``.
# License
[Apache License 2.0](/LICENSE)
# Configuration
The following tables lists the configurable parameters of the chart and their default values.
{{ template "chart.valuesTable" . }}