Compare commits
No commits in common. "main" and "v8.3" have entirely different histories.
103
README.md
103
README.md
@ -1,19 +1,69 @@
|
||||
## Mit találsz ebben a publikus repóban?
|
||||
|
||||
Oktatási jelleggel írtam több cikket is a [vagrantról](https://msandor.hu/category/vagrant/), az [ansible-ről](https://msandor.hu/category/ansible/), a [dockerről](https://msandor.hu/category/docker/), és a [zabbixról](https://msandor.hu/category/zabbix/).
|
||||
|
||||
Ezeknek az alkalmazásoknak a bemutatását több különböző Operációs rendszeren is megteszem:
|
||||
A Vagrantról írtam több cikket is a [honlapomon](https://msandor.hu/category/vagrant/).
|
||||
Ennek a vége az lett, hogy létrehozunk 4 különböző VM-et, ebben a felállásban:
|
||||
|
||||
| Hoszt név | IP cím | Oprendszer |
|
||||
| --- | --- | --- |
|
||||
| vm1 | 192.168.56.2 | Debian 11 |
|
||||
| vm1 | 192.168.56.2 | CentOS 7 |
|
||||
| vm2 | 192.168.56.3 | Alma Linux 8 |
|
||||
| vm3 | 192.168.56.4 | Ubuntu 22.04 |
|
||||
| vm4 | 192.168.57.5 | Debian 12 |
|
||||
| proxy1 | 192.168.57.6 | Alma Linux 9 |
|
||||
| vm4 | 192.168.56.5 | Debian 11 |
|
||||
|
||||
Arra gondoltam, hogy ha már van egy `Vagrantfile`-om, jó alap lesz egy későbbi projekthez.
|
||||
|
||||
|
||||
Aztán belevágtam az Ansible [bemutatásába](https://msandor.hu/category/ansible/).
|
||||
|
||||
Bővült a fájlok listája:
|
||||
|
||||
```
|
||||
├── ansible.cfg
|
||||
├── inventory
|
||||
│ ├── group_vars
|
||||
│ │ └── all.yml
|
||||
│ └── inventory.yml
|
||||
├── log
|
||||
├── playbook
|
||||
│ └── install-zabbix-agent.yml
|
||||
├── tasks
|
||||
│ ├── configure-zabbix_agent.yml
|
||||
│ ├── install-zabbix_agent.yml
|
||||
│ └── service-zabbix_agent.yml
|
||||
└── templates
|
||||
└── zabbix_agentd.conf.j2
|
||||
```
|
||||
A végére elkészült ansible playbook feltelepítette és beállította a zabbix-agentet a 4 VM-re.
|
||||
|
||||
|
||||
Ez megágyazott a zabbix-servert bemutató [cikkeimnek](https://msandor.hu/category/zabbix/).
|
||||
Közben beláttam, hogy jobb lenne a zabbix szervernek is egy dedikált VM.
|
||||
A végére frissítettem 1-1 oprendszert is
|
||||
|
||||
Bővítettem a taskokat, feltelepíti a dockert is a playbook.
|
||||
Bővítettem a Vagrantfile-t is, ez pedig létrehozza a docker-compose.yml-t.
|
||||
A konténereket kézzel kell indítani az alábbi paranccsal (természetesen a zbxsrv-ben):
|
||||
```
|
||||
[vagrant@zbxsrv ~]$ sudo docker compose -f docker/zabbix-server/docker-compose.yml up -d
|
||||
[+] Running 4/4
|
||||
✔ Network zabbix-server_customnetwork Created 0.1s
|
||||
✔ Container zabbix-web Started 1.0s
|
||||
✔ Container zabbix-db Started 0.9s
|
||||
✔ Container zabbix-server Started 1.0s
|
||||
[vagrant@zbxsrv ~]$
|
||||
```
|
||||
|
||||
| Hoszt név | IP cím | Oprendszer |
|
||||
| --- | --- | --- |
|
||||
| vm1 | 192.168.56.2 | CentOS 7 |
|
||||
| vm2 | 192.168.56.3 | Alma Linux 8 |
|
||||
| vm3 | 192.168.56.4 | Ubuntu 22.04 |
|
||||
| vm4 | 192.168.56.5 | Debian 12 |
|
||||
| zbxsrv | 192.168.56.6 | Alma Linux 9 |
|
||||
|
||||
Ezt találod a letölthető git repóban:
|
||||
|
||||
Összefoglalva, ez lett a letölthető git repó:
|
||||
|
||||
```
|
||||
├── ansible.cfg
|
||||
├── changelog.md
|
||||
@ -49,21 +99,19 @@ Ezt találod a letölthető git repóban:
|
||||
- `$ sudo apt install git -y`
|
||||
|
||||
- Van már erre létrehozott mappád, pl `git`? Ha nincs:
|
||||
- `$ mkdir ~/git`
|
||||
- `$ cd ~/git`
|
||||
- `$ mkdir git`
|
||||
- `$ git clone https://git.msandor.hu/demo/ansible_vagrant.git`
|
||||
|
||||
amennyiben biztosra akarsz menni, válts a 8.4-es verzióra:
|
||||
amennyiben biztosra akarsz menni, válts a 8.3-es verzióra:
|
||||
|
||||
- `$ cd ~/git/ansible_vagrant`
|
||||
- `$ git checkout tags/v8.4`
|
||||
- `$ git checkout tags/v8.3`
|
||||
|
||||
|
||||
## Hogyan kell létrehozni a 6 VM-et?
|
||||
## Hogyan kell létrehozni az 5 VM-et?
|
||||
- Van vagrant a gépeden? Ha nincs a gyártó [weboldaláról](https://developer.hashicorp.com/vagrant/downloads) le tudod tölteni.
|
||||
|
||||
```
|
||||
$ cd ~/git/ansible_vagrant
|
||||
$ cd ansible_vagrant
|
||||
$ vagrant up
|
||||
```
|
||||
|
||||
@ -77,16 +125,12 @@ $ vagrant up
|
||||
|
||||
Ha nálad ezek nem működnek, nézd meg az ansible [weboldalát](https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html).
|
||||
|
||||
Miután felkerült a gépedre az ansible, ebben a mappában állva add ki ezt a parancsot:
|
||||
|
||||
ansible-playbook playbook/deploy-zabbix-labor.yml -l servers
|
||||
|
||||
|
||||
## Hogyan kell elindítani a zabbix szerverhez tartozó konténereket (server, web, DB)?
|
||||
## Hogyan kell elindítani a zabbix konténereket (server, web, db)?
|
||||
Nem figyeltél korábban? :-)
|
||||
|
||||
```
|
||||
[msandor@msandordell ~]$ cd ~/git/ansible_vagrant/
|
||||
[msandor@msandordell ~]$ vagrant ssh zbxsrv
|
||||
[msandor@msandorhp ~]$ cd git/ansible_vagrant/
|
||||
[vagrant@zbxsrv ~]$ sudo docker compose -f docker/zabbix-server/docker-compose.yml up -d
|
||||
[+] Running 4/4
|
||||
✔ Network zabbix-server_customnetwork Created 0.1s
|
||||
@ -95,23 +139,6 @@ Miután felkerült a gépedre az ansible, ebben a mappában állva add ki ezt a
|
||||
✔ Container zabbix-db Started 1.0s
|
||||
[vagrant@zbxsrv ~]$
|
||||
```
|
||||
Ha egyszer már elindítottad őket, onnantól kezdve minden szerver indítás után automatikusan el fognak indulni.
|
||||
|
||||
|
||||
## Hogyan kell elindítani a zabbix proxy konténert?
|
||||
|
||||
```
|
||||
[msandor@msandordell ~]$ cd ~/git/ansible_vagrant/
|
||||
[msandor@msandordell ~]$ vagrant ssh proxy1
|
||||
[vagrant@proxy1 ~]$ sudo docker compose -f docker/zabbix-proxy/docker-compose.yml up -d
|
||||
[+] Running 0/0
|
||||
[+] Running 2/2ix-proxy_default Creating 0.1s
|
||||
✔ Network zabbix-proxy_default Created 0.1s
|
||||
✔ Container zabbix-proxy Started 0.1s
|
||||
[vagrant@proxy1 ~]$
|
||||
|
||||
```
|
||||
Ha egyszer már elindítottad, onnantól kezdve minden szerver indítás után automatikusan el fog indulni.
|
||||
|
||||
|
||||
## Hogyan érem el a zabbix szerver weboldalát?
|
||||
|
65
Vagrantfile
vendored
65
Vagrantfile
vendored
@ -2,16 +2,16 @@ Vagrant.configure("2") do |config|
|
||||
|
||||
config.vm.define "vm1" do |vm1|
|
||||
vm1.vm.network "private_network", ip: "192.168.56.2"
|
||||
vm1.vm.box = "debian/bullseye64"
|
||||
vm1.vm.box = "vshn/centos7" # nem hivatalos kiadás, de legalább nem 3 éves
|
||||
vm1.vm.provider "virtualbox" do |vb|
|
||||
vb.memory = "512"
|
||||
vb.cpus = 1
|
||||
end
|
||||
vm1.vm.synced_folder ".", "/vagrant", disabled: true
|
||||
vm1.vm.provision "shell", inline: <<-SHELL
|
||||
apt-get update && apt-get upgrade -y
|
||||
apt-get clean
|
||||
apt-get install mc apache2 -y
|
||||
yum install mc epel-release httpd net-tools -y
|
||||
yum update -y
|
||||
systemctl enable --now httpd
|
||||
echo "vm1" > /etc/hostname
|
||||
hostname -F /etc/hostname
|
||||
echo "192.168.56.2 vm1" >> /etc/hosts
|
||||
@ -58,7 +58,7 @@ Vagrant.configure("2") do |config|
|
||||
end
|
||||
|
||||
config.vm.define "vm4" do |vm4|
|
||||
vm4.vm.network "private_network", ip: "192.168.57.5"
|
||||
vm4.vm.network "private_network", ip: "192.168.56.5"
|
||||
vm4.vm.box = "debian/bookworm64"
|
||||
vm4.vm.provider "virtualbox" do |vb|
|
||||
vb.memory = "512"
|
||||
@ -71,7 +71,7 @@ Vagrant.configure("2") do |config|
|
||||
apt-get install mc apache2 -y
|
||||
echo "vm4" > /etc/hostname
|
||||
hostname -F /etc/hostname
|
||||
echo "192.168.57.5 vm4" >> /etc/hosts
|
||||
echo "192.168.56.5 vm4" >> /etc/hosts
|
||||
timedatectl set-timezone Europe/Budapest
|
||||
SHELL
|
||||
end
|
||||
@ -93,6 +93,8 @@ Vagrant.configure("2") do |config|
|
||||
timedatectl set-timezone Europe/Budapest
|
||||
mkdir -p /home/vagrant/docker/zabbix-server
|
||||
cat > /home/vagrant/docker/zabbix-server/docker-compose.yml << EOL
|
||||
version: "3"
|
||||
|
||||
volumes:
|
||||
DB:
|
||||
|
||||
@ -102,7 +104,6 @@ services:
|
||||
image: zabbix/zabbix-server-mysql:alpine-6.4-latest
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- ./ssh_keys:/var/lib/zabbix/ssh_keys
|
||||
ports:
|
||||
- 10051:10051
|
||||
restart: always
|
||||
@ -166,54 +167,4 @@ EOL
|
||||
SHELL
|
||||
end
|
||||
|
||||
config.vm.define "proxy1" do |proxy1|
|
||||
proxy1.vm.network "private_network", ip: "192.168.57.6"
|
||||
proxy1.vm.box = "almalinux/9"
|
||||
proxy1.vm.provider "virtualbox" do |vb|
|
||||
vb.memory = "1024"
|
||||
vb.cpus = 1
|
||||
end
|
||||
proxy1.vm.synced_folder ".", "/vagrant", disabled: true
|
||||
proxy1.vm.provision "shell", inline: <<-SHELL
|
||||
yum install mc net-tools -y
|
||||
yum update -y
|
||||
echo "proxy1" > /etc/hostname
|
||||
hostname -F /etc/hostname
|
||||
echo "192.168.57.6 proxy1" >> /etc/hosts
|
||||
timedatectl set-timezone Europe/Budapest
|
||||
mkdir -p /home/vagrant/docker/zabbix-proxy
|
||||
mkdir -p /var/lib/docker/volumes/zabbix-proxy_ZBXPROXY_SECRETS/_data
|
||||
cat > /var/lib/docker/volumes/zabbix-proxy_ZBXPROXY_SECRETS/_data/zabbix.psk << EOL
|
||||
977b74008c40fed130a410074df64a4fafd7244b64e163ec86a77e0e49323dbd
|
||||
EOL
|
||||
cat > /home/vagrant/docker/zabbix-proxy/docker-compose.yml << EOL
|
||||
volumes:
|
||||
ZBXPROXY_DB:
|
||||
ZBXPROXY_SNMPTRAPS:
|
||||
ZBXPROXY_SECRETS:
|
||||
|
||||
services:
|
||||
zabbix-proxy:
|
||||
container_name: zabbix-proxy
|
||||
image: zabbix/zabbix-proxy-sqlite3:alpine-6.4-latest
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- ZBXPROXY_DB:/var/lib/zabbix/db_data
|
||||
- ZBXPROXY_SNMPTRAPS:/var/lib/zabbix/snmptraps
|
||||
- ZBXPROXY_SECRETS:/var/lib/zabbix/enc
|
||||
ports:
|
||||
- 10051:10051
|
||||
restart: always
|
||||
environment:
|
||||
- ZBX_SERVER_HOST=192.168.56.6
|
||||
- ZBX_SERVER_PORT=10051
|
||||
- ZBX_HOSTNAME=proxy1
|
||||
- ZBX_CONFIGFREQUENCY=60
|
||||
- ZBX_TLSCONNECT=psk
|
||||
- ZBX_TLSPSKFILE=/var/lib/zabbix/enc/zabbix.psk
|
||||
- ZBX_TLSPSKIDENTITY=proxy1
|
||||
EOL
|
||||
SHELL
|
||||
end
|
||||
|
||||
end
|
||||
|
13
changelog.md
13
changelog.md
@ -1,18 +1,5 @@
|
||||
# CHANGELOG
|
||||
|
||||
## 8.4
|
||||
- ssh_keys volume hozzáadása a docker-compose.yml fájlhoz
|
||||
- új VM: proxy1
|
||||
- új szerepkör: zabbix proxy
|
||||
- a vm4 áthelyezve a másik LAN-ba (192.168.56.5 -> 192.168.57.5)
|
||||
- frissült a Vagrantfile
|
||||
- javítottam az install-zabbix-repo.yml fájlt (az új debian szerverhez nem volt jó)
|
||||
- vm1 OS frissítése CentOS 7-ről Debian 11-re
|
||||
- proxy1 OS frissítése CentOS 7-ről Alma Linux 9-re
|
||||
- ebből az állapotból lett a [harmadik](https://git.msandor.hu/demo/ansible_vagrant/src/tag/v8.4) publikus git repo is
|
||||
|
||||
Erről írtam két cikket [itt](https://msandor.hu/mire-valo-a-zabbix-proxy/) és [itt](https://msandor.hu/zabbix-migralasa-os-frissites-miatt/).
|
||||
|
||||
## 8.2
|
||||
- minden szerveren beállítja az időzónát (Europe/Budapest, 5 új sor a Vagrantfile-ban)
|
||||
- kikapcsoltam a /vagrant szinkronizálását, ebben a labor környezetben nincs rá szükség
|
||||
|
@ -20,19 +20,12 @@ all:
|
||||
ansible_ssh_private_key_file: .vagrant/machines/vm3/virtualbox/private_key
|
||||
psk_key: 182e39bb63953f682347f717359a24621556d83516c54fff00e86dd8e9d89b45
|
||||
vm4:
|
||||
ansible_host: 192.168.57.5
|
||||
ansible_host: 192.168.56.5
|
||||
ansible_ssh_private_key_file: .vagrant/machines/vm4/virtualbox/private_key
|
||||
psk_key: d8f5c88673de18afdde646ed3590fbe36d2951b9cfe8fac56e8b722115e791ee
|
||||
ZBXSERVER: '192.168.57.6'
|
||||
zbxsrv:
|
||||
ansible_host: 192.168.56.6
|
||||
ansible_ssh_private_key_file: .vagrant/machines/zbxsrv/virtualbox/private_key
|
||||
psk_key: 2d0d1ed6caf68a65088ff9e8f04c07c274ddf636293dcaf852da7383d0b92e29
|
||||
ZBXLISTENIP: 172.17.0.1
|
||||
ZBXSERVER: 192.168.151.2
|
||||
REMOTECOMMANDS: true
|
||||
proxy1:
|
||||
ansible_host: 192.168.57.6
|
||||
ansible_ssh_private_key_file: .vagrant/machines/proxy1/virtualbox/private_key
|
||||
psk_key: 977b74008c40fed130a410074df64a4fafd7244b64e163ec86a77e0e49323dbd
|
||||
ZBXSERVER: '192.168.57.1'
|
||||
|
@ -7,4 +7,4 @@
|
||||
gpgcheck: yes
|
||||
enabled: yes
|
||||
gpgkey: "https://download.docker.com/linux/centos/gpg"
|
||||
when: ansible_hostname == "zbxsrv" or ansible_hostname == "proxy1"
|
||||
when: ansible_hostname == "zbxsrv"
|
||||
|
@ -9,4 +9,4 @@
|
||||
- docker-compose-plugin
|
||||
state: latest
|
||||
update_cache: yes
|
||||
when: ansible_hostname == "zbxsrv" or ansible_hostname == "proxy1"
|
||||
when: ansible_hostname == "zbxsrv"
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
- name: Zabbix repó hozzáadása [Debian]
|
||||
apt:
|
||||
deb: https://repo.zabbix.com/zabbix/6.4/debian/pool/main/z/zabbix-release/zabbix-release_6.4-1+debian{{ ansible_distribution_major_version }}_all.deb
|
||||
deb: https://repo.zabbix.com/zabbix/6.4/debian/pool/main/z/zabbix-release/zabbix-release_6.4-1+debian{{ ansible_distribution_version }}_all.deb
|
||||
state: present
|
||||
when:
|
||||
- ansible_distribution == "Debian"
|
||||
|
@ -4,4 +4,4 @@
|
||||
name: docker
|
||||
enabled: yes
|
||||
state: started
|
||||
when: ansible_hostname == "zbxsrv" or ansible_hostname == "proxy1"
|
||||
when: ansible_hostname == "zbxsrv"
|
||||
|
@ -13,7 +13,3 @@ TLSConnect=psk
|
||||
TLSAccept=psk
|
||||
TLSPSKFile=/etc/zabbix/zabbix.psk
|
||||
TLSPSKIdentity={{ inventory_hostname_short }}
|
||||
{% if REMOTECOMMANDS is defined %}
|
||||
EnableRemoteCommands=1
|
||||
AllowKey=system.run[*]
|
||||
{% endif %}
|
||||
|
Loading…
Reference in New Issue
Block a user