Browse Source

Weitere Daeien hinzugefügt

master
Dirk Wirts 2 years ago
parent
commit
bc24f838a6
  1. 93
      ansible-deploy_zabbix_agent.yml
  2. 42
      ansible-setup_AWS.yml
  3. 11
      setups/enable_ansible.sh

93
ansible-deploy_zabbix_agent.yml

@ -0,0 +1,93 @@
---
- name: Deploy Zabbix-Agent and Zabbix-Proxy with Docker
hosts: all
become: true
vars:
zabbix_version: "alpine-6.2-latest"
hostname: "{{ ansible_hostname }}"
zabbix_server_host: "{{ hostvars['your_zabbix_server']['ansible_default_ipv4']['address'] }}"
zabbix_cachesize: "64M"
docker_network_name: "build"
docker_network_external: true
tasks:
- name: Ensure directory exists
file:
path: /mnt/docker/zabbix-agent
state: directory
owner: root
group: docker
mode: '0755'
- name: Create Docker Compose file
copy:
dest: /mnt/docker/zabbix-agent/docker-compose.yaml
content: |
version: "3"
services:
zabbix-agent:
image: zabbix/zabbix-agent2:{{ zabbix_version }}
container_name: zabbix-agent
hostname: zabbix-agent
restart: unless-stopped
privileged: true
user: root
healthcheck:
test: grep -qr "zabbix_agent2" /proc/*/status || exit 1
interval: 1m
timeout: 30s
retries: 3
environment:
- ZBX_HOSTNAME
- ZBX_SERVER_HOST=zabbix-proxy
- ZBX_ACTIVE_ALLOW
- ZBX_PASSIVE_ALLOW
volumes:
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/var/run/docker.sock
- /var/run/dbus/system_bus_socket:/var/run/dbus/system_bus_socket
- ./dummy:/mnt/docker:ro
zabbix-proxy:
image: zabbix/zabbix-proxy-sqlite3:{{ zabbix_version }}
container_name: zabbix-proxy
hostname: zabbix-proxy
restart: unless-stopped
healthcheck:
test: grep -qr "zabbix_proxy" /proc/*/status || exit 1
interval: 1m
timeout: 30s
retries: 3
ports:
- 127.0.0.1:10051:10051
environment:
- ZBX_PROXYMODE=1
- ZBX_HOSTNAME
- ZBX_SERVER_HOST
- ZBX_CACHESIZE
volumes:
- ./snmptraps:/var/lib/zabbix/snmptraps
networks:
default:
name: {{ docker_network_name }}
external: {{ docker_network_external }}
- name: Create .env file
copy:
dest: /mnt/docker/zabbix-agent/.env
content: |
# settings for container
ZBX_HOSTNAME="{{ hostname }}"
ZBX_ACTIVE_ALLOW=false
ZBX_PASSIVE_ALLOW=true
ZBX_SERVER_HOST="{{ zabbix_server_host }}"
ZBX_CACHESIZE="{{ zabbix_cachesize }}"
mode: '0640'
owner: root
group: docker
- name: Run Docker Compose
community.docker.docker_compose:
project_src: /mnt/docker/zabbix-agent/
state: present
restarted: yes

42
ansible-setup_AWS.yml

@ -0,0 +1,42 @@
---
# vorher muss noch die Ansible Vault erzeugt werden:
#
# ansible-vault create aws_credentials.yml
# folgender Inhalt:
# ---
# AWS_ACCESS_ID: 'IhrAWSAccessID'
# AWS_ACCESS_KEY: 'IhrAWSSecretKey'
#
# das Vault Passwort sollte ebenfalls aus einer Datei gelesen werden, z.B.:
# /root/vault_pw
#
- name: Setup AWS environment using Ansible Vault
hosts: localhost
gather_facts: no
vars_files:
- aws_credentials.yml
tasks:
- name: Create .aws directory
file:
path: "{{ ansible_env.HOME }}/.aws"
state: directory
mode: '0755'
- name: Set AWS region config
copy:
dest: "{{ ansible_env.HOME }}/.aws/config"
content: |
[default]
region = eu-central-1
mode: '0640'
- name: Set AWS credentials from Vault
copy:
dest: "{{ ansible_env.HOME }}/.aws/credentials"
content: |
[default]
aws_access_key_id = {{ AWS_ACCESS_ID }}
aws_secret_access_key = {{ AWS_ACCESS_KEY }}
mode: '0640'

11
setups/enable_ansible.sh

@ -0,0 +1,11 @@
#!/bin/bash
# enable host for ansible
set -e
PUBKEY="ecdsa-sha2-nistp521 AAAAE2VjZHNhLXNoYTItbmlzdHA1MjEAAAAIbmlzdHA1MjEAAACFBAEuwAZEN/DNkr1KkBsHdw1kRV964httL4gqpstBgComJy549miU2Cul0ozyl76qv8L6BNCzQywW86Kbb2h8glufSwCDwbcZpmQUN4lRDctrWHUU8R2mPLwSQfFqc+AVYomotegaVOnSwQzpOkTJIv94LWI3Amsfo0L/2V8JY0cb3WNMIg== root@ansible-host"
id -u ansible > /dev/null 2>&1 || adduser ansible --disabled-password --gecos "" --quiet
mkdir -p /home/ansible/.ssh
echo "$PUBKEY" > /home/ansible/.ssh/authorized_keys
chown -R ansible /home/ansible/.ssh
apt-get update
apt-get install sudo
grep -q ansible /etc/sudoers.d/ansible || echo "ansible ALL = (ALL) NOPASSWD: ALL" >> /etc/sudoers.d/ansible
Loading…
Cancel
Save