{"id":19422386,"url":"https://github.com/smejdil/zabbix-edu","last_synced_at":"2025-04-24T15:32:18.492Z","repository":{"id":65893729,"uuid":"310025747","full_name":"smejdil/zabbix-edu","owner":"smejdil","description":"Project for automatic installation of Zabbix EDU environment in Google Cloud Platform","archived":false,"fork":false,"pushed_at":"2024-12-15T14:08:55.000Z","size":602,"stargazers_count":2,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-03T07:12:46.998Z","etag":null,"topics":["ansible-playbook","datascript","gcp","zabbix","zabbix-api"],"latest_commit_sha":null,"homepage":"https://open-tech.cz/","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/smejdil.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-11-04T14:25:12.000Z","updated_at":"2024-12-15T14:08:59.000Z","dependencies_parsed_at":"2024-12-12T18:22:27.507Z","dependency_job_id":"1b50871f-e037-4db6-b70a-ec0d1fdc81c8","html_url":"https://github.com/smejdil/zabbix-edu","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smejdil%2Fzabbix-edu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smejdil%2Fzabbix-edu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smejdil%2Fzabbix-edu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smejdil%2Fzabbix-edu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/smejdil","download_url":"https://codeload.github.com/smejdil/zabbix-edu/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250654458,"owners_count":21465886,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible-playbook","datascript","gcp","zabbix","zabbix-api"],"created_at":"2024-11-10T13:33:33.951Z","updated_at":"2025-04-24T15:32:18.478Z","avatar_url":"https://github.com/smejdil.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Deploy zabbix servers on GCP\n\nThis small project is used for install EDU servers with Zabbix 7.0 LTS on Ubuntu 24.04 LTS.\n\n## Dependencies\n\n- Package on desktop - google-cloud-sdk - Google Cloud SDK for Google Cloud Platform\n- Package on desktop - py37-cloudflare - Wrapper for the Cloudflare v4 API\n\n## How it works\n\nBy Google Cloud SDK is intalled servers zbx01-0X. After instalation run scripts for reconfigure OS and install Zabbix for education.\n\n## Features\n\n- Install and configure MySQL\n- Install and configure zabbix_server\n- Install and configure zabbix_agent2\n- Install and configure Apache 2.4 and PHP 8.3\n- Install and configure ODBC driver for MySQL\n- Install and configure Zabbix API scripts Perl and CPAN modul\n- Install and configure Ansible collection community.zabbix\n- Install and configure crontab file\n- Install and configure Windows server 2019\n- Install and configure Tomcat, PostgreSQL, Memcached, Docker ...\n- Install and configure FreeBSD server\n\n### Installation\n\n- Configure Google Cloud SDK\n\n```console\ngcloud config set compute/zone [ZONE]\ngcloud config set compute/region [REGION]\ngcloud config set project [PROJECT]\n```\n## Zabbix servers\n- Create VM Zabbix EDU\n\n```console\n./zabbix-edu/scripts/create_zabbix_vm_machines.sh 01 02 03\n```\n- Connect to VM Zabbix EDU for some reconfiguration\n\n```console\ngcloud compute ssh zbx01 --zone=europe-west1-c\nsudo su -\n```\n- List Zabbix EDU VM and external IPv4\n\n```console\ngcloud compute instances list | awk '{print $1\" - http://\"$5\"/zabbix/\"}' | grep zbx0\nzbx01 - http://35.246.211.200/zabbix/\nzbx02 - http://34.89.152.77/zabbix/\nzbx03 - http://34.107.115.225/zabbix/\n\ngcloud compute instances list | awk '{print $5\" - http://\"$1\".pfsense.cz/zabbix/\"}' | grep zbx0\n34.89.152.77 - http://zbx01.pfsense.cz/zabbix/\n35.198.167.115 - http://zbx02.pfsense.cz/zabbix/\n34.107.115.225 - http://zbx03.pfsense.cz/zabbix/\n```\n## Linux server for EDU\n- Create VM Linux + Tomcat other\n\n```console\n./zabbix-edu/scripts/create_tomcat_vm_machine.sh 01\n```\n- Connect to VM Linux + Tomcat and run scripts + reboot SELinux disable\n\n```console\ngcloud compute ssh linsrv01 --zone=europe-central2-a\nsudo su -\n./zabbix-edu/scripts/reconfigure_sshd.sh\nreboot\n./zabbix-edu/scripts/install_configure_app.sh\n```\n- List Linux servers EDU VM and external IPv4\n\n```console\ngcloud compute instances list | awk '{print $1\" - http://\"$5}' | grep linsrv0\nlinsrv01 - http://34.107.114.128\n\ngcloud compute instances list | awk '{print $5\" - http://\"$1\".pfsense.cz\"}' | grep linsrv0\n34.107.114.128 - http://linsrv01.pfsense.cz\n```\n\n## FreeBSD server for EDU\n- Create VM FreeBSD\n\n```console\n./zabbix-edu/scripts/create_fbsd_vm_machine.sh 01\n```\n\n- Connect to VM FreeBSD\n\n```console\ngcloud compute ssh fbsdsrv01 --zone=europe-central2-a\n```\n- List FreeBSD servers EDU VM and external IPv4\n\n```console\ngcloud compute instances list | awk '{print $1\" - http://\"$5}' | grep fbsdsrv0\nfbsdsrv01 - http://34.107.114.182\n\ngcloud compute instances list | awk '{print $5\" - http://\"$1\".pfsense.cz\"}' | grep fbsdsrv0\n34.107.114.182 - http://fbsdsrv01.pfsense.cz\n```\n\n- Post install upgrade\n\n```console\nportsnap fetch \u0026\u0026 portsnap update \u0026\u0026 pkg version -v | grep upd\nportupgrade -a\n```\n\n## Windows server for EDU\n- Create VM Windows server 2019\n\n```console\n./zabbix-edu/scripts/create_windows_vm_machine.sh 01\n```\n- List Windows servers EDU VM and external IPv4\n\n```console\ngcloud compute instances list | awk '{print $1\" - http://\"$5}' | grep winsrv0\nwinsrv01 - http://34.89.189.246\n\ngcloud compute instances list | awk '{print $5\" - http://\"$1\".pfsense.cz\"}' | grep winsrv0\n34.89.189.246 - http://winsrv01.pfsense.cz\n```\nManual configure Win server and install IIS and Zabbix agent 2.\n\n```console\nless ./zabbix-edu/docs/Windows-on-GCP.txt\n```\n\n## pfSense CE on GCP for EDU\n- Create VM firewall pfSense\n\nManual deploy on GCP web console.\n\n```console\nless ./zabbix-edu/docs/pfSense-CE-on-GCP.txt\n```\n\n- List pfSense firewall EDU VM and external IPv4\n\n```console\ngcloud compute instances list | awk '{print $1\" - http://\"$5}' | grep pfsense\npfsense-edu - http://34.90.171.187\n\ngcloud compute instances list | awk '{print $5\" - http://\"$1\".pfsense.cz\"}' | grep pfsense\n34.90.171.187 - http://pfsense-edu.pfsense.cz\n```\n\n## DNS A records for EDU\n- Create DNS records via cloudflare API\n\n```console\n./zabbix-edu/scripts/create_dns_records.sh\n\ncli4 --post name='zbx01' type=A content=\"35.246.211.200\" /zones/:pfsense.cz/dns_records\ncli4 --post name='zbx02' type=A content=\"34.89.152.77\" /zones/:pfsense.cz/dns_records\ncli4 --post name='zbx03' type=A content=\"34.107.115.225\" /zones/:pfsense.cz/dns_records\ncli4 --post name='winsrv01' type=A content=\"34.107.108.40\" /zones/:pfsense.cz/dns_records\ncli4 --post name='linsrv01' type=A content=\"34.107.28.86\" /zones/:pfsense.cz/dns_records\ncli4 --post name='pfsense01' type=A content=\"34.90.171.187\" /zones/:pfsense.cz/dns_records\n```\n\nList of Zabbix server domain and IPv4\n\n```console\nfor i in {01..12}; do host zbx$i.pfsense.cz; done\nzbx01.pfsense.cz has address 35.246.211.200\nzbx02.pfsense.cz has address 34.89.152.77\nzbx03.pfsense.cz has address 34.107.115.225\n```\n\n## HTML list of VM\n- Create HTML list of running EDU VM\n\n```console\n./zabbix-edu/scripts/create_html_list.sh\n```\n## Other training projects\n\n- [Zabbix API](https://github.com/smejdil/zabbix-api)\n- [Zabbix auto-registration](https://github.com/smejdil/zbx-auto-reg-demo-gcp)\n- [Zabbix Docker TimescaleDB](https://github.com/smejdil/zabbix-docker-timescaledb)\n\n## To do\n\n- Import media Email by Zabbix API - Anslible\n- Download and Install Zabbix Agent 2 on winsrv01 by PowerShell\n- Install - Web Server and IIS Management Scripts and Tools on winsrv01 by PowerShell\n- Other ...","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmejdil%2Fzabbix-edu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmejdil%2Fzabbix-edu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmejdil%2Fzabbix-edu/lists"}