Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/smejdil/zabbix-edu
Project for automatic installation of Zabbix EDU environment in Google Cloud Platform
https://github.com/smejdil/zabbix-edu
ansible-playbook datascript gcp zabbix zabbix-api
Last synced: 7 days ago
JSON representation
Project for automatic installation of Zabbix EDU environment in Google Cloud Platform
- Host: GitHub
- URL: https://github.com/smejdil/zabbix-edu
- Owner: smejdil
- License: gpl-3.0
- Created: 2020-11-04T14:25:12.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2024-10-17T16:27:46.000Z (about 1 month ago)
- Last Synced: 2024-10-20T00:17:09.071Z (28 days ago)
- Topics: ansible-playbook, datascript, gcp, zabbix, zabbix-api
- Language: Shell
- Homepage: https://open-tech.cz/
- Size: 462 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Deploy zabbix servers on GCP
This small project is used for install EDU servers with Zabbix 6.0 LTS on CentOS Stream release 9.
## Dependencies
- Package on desktop - google-cloud-sdk - Google Cloud SDK for Google Cloud Platform
- Package on desktop - py37-cloudflare - Wrapper for the Cloudflare v4 API## How it works
By Google Cloud SDK is intalled servers zbx01-0X. After instalation run scripts for reconfigure OS and install Zabbix for education.
## Features
- Install and configure MariaDB
- Install and configure zabbix_server
- Install and configure zabbix_agentd with mysql modul
- Install and configure zabbix_agent2
- Install and configure Apache httpd and PHP7
- Install and configure ODBC driver for MariaDB
- Install and configure Zabbix API scripts Perl and CPAN modul
- Install and configure Ansible collection zabbix
- Install and configure crontab file
- Install and configure Windows server 2019
- Install and configure Tomcat, PostgreSQL, Memcached, Docker ...
- Install and configure FreeBSD server### Installation
- Configure Google Cloud SDK
```console
gcloud config set compute/zone [ZONE]
gcloud config set compute/region [REGION]
gcloud config set project [PROJECT]
```
## Zabbix servers
- Create VM Zabbix EDU```console
./zabbix-edu/scripts/create_zabbix_vm_machines.sh 01 02 03
```
- Connect to VM Zabbix EDU and run scripts + reboot SELinux disable```console
gcloud compute ssh zbx01 --zone=europe-west1-c
sudo su -
./zabbix-edu/scripts/reconfigure_sshd.sh
reboot
./zabbix-edu/scripts/install_zabbix.sh
```
- List Zabbix EDU VM and external IPv4```console
gcloud compute instances list | awk '{print $1" - http://"$5"/zabbix/"}' | grep zbx0
zbx01 - http://35.246.211.200/zabbix/
zbx02 - http://34.89.152.77/zabbix/
zbx03 - http://34.107.115.225/zabbix/gcloud compute instances list | awk '{print $5" - http://"$1".pfsense.cz/zabbix/"}' | grep zbx0
34.89.152.77 - http://zbx01.pfsense.cz/zabbix/
35.198.167.115 - http://zbx02.pfsense.cz/zabbix/
34.107.115.225 - http://zbx03.pfsense.cz/zabbix/
```
## Linux server for EDU
- Create VM Linux + Tomcat other```console
./zabbix-edu/scripts/create_tomcat_vm_machine.sh 01
```
- Connect to VM Linux + Tomcat and run scripts + reboot SELinux disable```console
gcloud compute ssh linsrv01 --zone=europe-central2-a
sudo su -
./zabbix-edu/scripts/reconfigure_sshd.sh
reboot
./zabbix-edu/scripts/install_configure_app.sh
```
- List Linux servers EDU VM and external IPv4```console
gcloud compute instances list | awk '{print $1" - http://"$5}' | grep linsrv0
linsrv01 - http://34.107.114.128gcloud compute instances list | awk '{print $5" - http://"$1".pfsense.cz"}' | grep linsrv0
34.107.114.128 - http://linsrv01.pfsense.cz
```## FreeBSD server for EDU
- Create VM FreeBSD```console
./zabbix-edu/scripts/create_fbsd_vm_machine.sh 01
```- Connect to VM FreeBSD
```console
gcloud compute ssh fbsdsrv01 --zone=europe-central2-a
```
- List FreeBSD servers EDU VM and external IPv4```console
gcloud compute instances list | awk '{print $1" - http://"$5}' | grep fbsdsrv0
fbsdsrv01 - http://34.107.114.182gcloud compute instances list | awk '{print $5" - http://"$1".pfsense.cz"}' | grep fbsdsrv0
34.107.114.182 - http://fbsdsrv01.pfsense.cz
```- Post install upgrade
```console
portsnap fetch && portsnap update && pkg version -v | grep upd
portupgrade -a
```## Windows server for EDU
- Create VM Windows server 2019```console
./zabbix-edu/scripts/create_windows_vm_machine.sh 01
```
- List Windows servers EDU VM and external IPv4```console
gcloud compute instances list | awk '{print $1" - http://"$5}' | grep winsrv0
winsrv01 - http://34.89.189.246gcloud compute instances list | awk '{print $5" - http://"$1".pfsense.cz"}' | grep winsrv0
34.89.189.246 - http://winsrv01.pfsense.cz
```
Manual configure Win server and install IIS and Zabbix agent 2.```console
less ./zabbix-edu/docs/Windows-on-GCP.txt
```## pfSense CE on GCP for EDU
- Create VM firewall pfSenseManual deploy on GCP web console.
```console
less ./zabbix-edu/docs/pfSense-CE-on-GCP.txt
```- List pfSense firewall EDU VM and external IPv4
```console
gcloud compute instances list | awk '{print $1" - http://"$5}' | grep pfsense
pfsense-edu - http://34.90.171.187gcloud compute instances list | awk '{print $5" - http://"$1".pfsense.cz"}' | grep pfsense
34.90.171.187 - http://pfsense-edu.pfsense.cz
```## DNS A records for EDU
- Create DNS records via cloudflare API```console
./zabbix-edu/scripts/create_dns_records.shcli4 --post name='zbx01' type=A content="35.246.211.200" /zones/:pfsense.cz/dns_records
cli4 --post name='zbx02' type=A content="34.89.152.77" /zones/:pfsense.cz/dns_records
cli4 --post name='zbx03' type=A content="34.107.115.225" /zones/:pfsense.cz/dns_records
cli4 --post name='winsrv01' type=A content="34.107.108.40" /zones/:pfsense.cz/dns_records
cli4 --post name='linsrv01' type=A content="34.107.28.86" /zones/:pfsense.cz/dns_records
cli4 --post name='pfsense01' type=A content="34.90.171.187" /zones/:pfsense.cz/dns_records
```List of Zabbix server domain and IPv4
```console
for i in {01..12}; do host zbx$i.pfsense.cz; done
zbx01.pfsense.cz has address 35.246.211.200
zbx02.pfsense.cz has address 34.89.152.77
zbx03.pfsense.cz has address 34.107.115.225
```## HTML list of VM
- Create HTML list of running EDU VM```console
./zabbix-edu/scripts/create_html_list.sh
```
## Other training projects- [Zabbix API](https://github.com/smejdil/zabbix-api)
- [Zabbix auto-registration](https://github.com/smejdil/zbx-auto-reg-demo-gcp)
- [Zabbix Docker TimescaleDB](https://github.com/smejdil/zabbix-docker-timescaledb)## To do
- Import media Email by Zabbix API - Anslible
- Download and Install Zabbix Agent 2 on winsrv01 by PowerShell
- Install - Web Server and IIS Management Scripts and Tools on winsrv01 by PowerShell
- Other ...