LoginSignup
25
24

More than 5 years have passed since last update.

ansible でzabbixのplaybookを作る

Last updated at Posted at 2013-08-17

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
25
24
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
25
24