https://github.com/masahide/ansible-zabbix
サーバーのインストールはmysqlが入っている前提で書いたけど、こんな感じ
MySQL-pythonを入れているのは、 ansible のmysql_userモジュールなどで必要なため
ansible-zabbix/roles/server/tasks/main.yml
- name: get zabbix-repos rpm RHEL5
get_url: dest={{ ansible_cache_dir }}/zabbix-release-2.0-1.noarch.rpm url=http://repo.zabbix.com/zabbix/2.0/rhel/5/x86_64/zabbix-release-2.0-1.el5.noarch.rpm
when: ansible_os_family == 'RedHat' and ansible_distribution_version.split('.')[0]|int == 5
tags: zabbix-common
- name: get zabbix-repo rpm RHEL6
get_url: dest={{ ansible_cache_dir }}/zabbix-release-2.0-1.noarch.rpm url=http://repo.zabbix.com/zabbix/2.0/rhel/6/x86_64/zabbix-release-2.0-1.el6.noarch.rpm
when: ansible_os_family == 'RedHat' and ansible_distribution_version.split('.')[0]|int == 6
tags: zabbix-common
- name: get http://repo.zabbix.com/RPM-GPG-KEY-ZABBIX
get_url: dest={{ ansible_cache_dir }}/RPM-GPG-KEY-ZABBIX url=http://repo.zabbix.com/RPM-GPG-KEY-ZABBIX
when: ansible_os_family == 'RedHat' and ansible_distribution_version.split('.')[0]|int == 6
tags: zabbix-common
register: get_key_result
- name: import ZABBIX key
command: /bin/rpm --import {{ ansible_cache_dir }}/RPM-GPG-KEY-ZABBIX
when: get_key_result.changed
tags: zabbix-common
- name: install zabbix-repos
yum: pkg={{ ansible_cache_dir }}/zabbix-release-2.0-1.noarch.rpm state=installed disable_gpg_check=yes
tags: zabbix-common
- name: install zabbix-server
yum: name={{item}} enablerepo=epel state=installed
with_items:
- zabbix-server-mysql
- zabbix-web-mysql
- zabbix-web-japanese
- zabbix-get
- MySQL-python
tags: zabbix-server
- name: add zabbix dbuser
mysql_user: login_host=localhost login_user={{ dbroot }} login_password={{ dbpass }} name=zabbix password={{ zabbix_db_pass }} priv=zabbix.*:ALL
tags: zabbix-server
- name: add database
mysql_db: login_host=localhost login_user={{ dbroot }} login_password={{ dbpass }} name=zabbix encoding=utf8
tags: zabbix-server
- name: check tables
shell: mysql -u{{ dbroot }} -p{{ dbpass }} zabbix -e"show tables"
register: show_tables
tags: zabbix-server
- name: create tables
shell: |
mysql -u{{ dbroot }} -p{{ dbpass }} zabbix < /usr/share/doc/zabbix-server-mysql-2.0.?/schema.sql &&
mysql -u{{ dbroot }} -p{{ dbpass }} zabbix < /usr/share/doc/zabbix-server-mysql-2.0.?/images.sql &&
mysql -u{{ dbroot }} -p{{ dbpass }} zabbix < /usr/share/doc/zabbix-server-mysql-2.0.?/data.sql
when: show_tables.stdout.find("user_history") == -1
tags: zabbix-server
- name: start zabbix-server
service: name=zabbix-server state=started enabled=yes
- name: set DBPassword
lineinfile: dest=/etc/zabbix/zabbix_server.conf regexp="^DBPassword=" insertafter="^# DBPassword=" line=DBPassword={{ zabbix_db_pass }}
tags: zabbix-server