CentOS6.7+zabbix3.0 install

9241 단어 로그zabbix

개요



zabbix의 개요 이해를 위해 사쿠라 지식의 다음 기사가 도움이되었다.

통합 모니터링 도구 "Zabbix"로 서버 모니터링

엄청 쉽게 정리하면 다음과 같이
  • 목적
  • 서버 모니터링, 알림 (시작 여부, 설정된 임계 값을 초과하는 경우 메일 알림 등)

  • 유사도구
  • Nagios( htps //w w. 나기오 s. rg/ )
  • MRTG( h tp // w w. mrtg. jp/도 c/ )

  • 이하의 3개의 module로 동작
  • zabbix-web : zabbix 설정, server에서 수집한 정보 표시
  • zabbix-server : 에이전트로부터 정보 수집
  • zabbix-agent : 모니터링 대상으로 install. 서버에 정보 보내기


  • 환경







    OS
    CentOS 6.7

    Zabbix
    Zabbix 3.0


    Install



    Zabbix의 web, server, agent를 모두 하나의 server에 install한다.
    감시 대상을 늘리고 싶은 경우에는 대상 server에 zabbix-agent만 install하면 된다.
    이번 Ansible Galaxy의 다음 Role을 사용하게 되었다.
  • geerlingguy.apache
  • geerlingguy.mysql
  • dj-wasabi.zabbix-server
  • dj-wasabi.zabbix-agent

  • zabbix를 install했을 때에 apache와의 version이 맞지 않고, zabbix-server의 설정 file이 잘 설정되지 않았기 때문에 template로 옮겨놓았다.
    zabbix-web의 IP는 Global IP를 사용하고 zabbix-server의 IP는 Private IP를 사용하도록 했다.

    zabbixserver.yml
    - name: Install php
      hosts: zabbixserver
      tasks:
      - name: Add repository 'epel-repo'
        yum: name=http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm state=present
      - name: Add repository 'remi-repo'
        yum: name=http://rpms.famillecollet.com/enterprise/remi-release-6.rpm state=present
      - name: Install php 5.5
        yum: name={{ item }} state=present enablerepo=remi,remi-php55
        with_items:
          - php
          - php-mysql
          - php-mbstring
          - php-gd
          - php-bcmath
          - php-xml
    
    - name: configure zabbix-server
      hosts: zabbixserver
      roles:
        - { role: geerlingguy.apache }
        - { role: geerlingguy.mysql }
        - role: dj-wasabi.zabbix-server
          zabbix_url: "{{ zabbixserver.global_ip }}"
          zabbix_version: 3.0
          zabbix_timezone: Asia/Tokyo
          database_type: mysql
          database_type_long: mysql
      tasks:
        - name: set up config file
          template: src=roles/zabbix/templates/zabbix.conf.j2 dest=/etc/httpd/conf.d/zabbix.conf
          vars:
            zabbix_host: "{{ zabbixserver.global_ip }}"
        - name: replace hostname to IpAddress in config file
          lineinfile: >
            dest=/etc/zabbix/web/zabbix.conf.php
            regexp='^\$ZBX_SERVER      ='
            line="$ZBX_SERVER      = '{{ zabbixserver.private_ip }}';"
          notify: restart httpd
      handlers:
        - name: restart httpd
          service: name=httpd state=restarted
    
    - name: configure zabbix-agent
      hosts: zabbixserver
      roles:
        - role: dj-wasabi.zabbix-agent
          agent_server: "{{ zabbixserver.private_ip }},127.0.0.1"
          agent_serveractive: "{{ zabbixserver.private_ip }},127.0.0.1"
    

    roles/zabbix/templates/zabbix.conf.j2
    <VirtualHost *:80>
      ServerName {{ zabbix_host }}
    
      ## Vhost docroot                                                                                          
      DocumentRoot "/usr/share/zabbix"
    
    
      <Directory "/usr/share/zabbix">
          AllowOverride None
        Order Allow,Deny
        Allow from all
        </Directory>
    
      <Directory "/usr/share/zabbix/conf">
          AllowOverride None
        Order Deny,Allow
        Deny from all
        </Directory>
    
      <Directory "/usr/share/zabbix/api">
          AllowOverride None
        Order Deny,Allow
        Deny from all
        </Directory>
    
      <Directory "/usr/share/zabbix/include">
          AllowOverride None
        Order Deny,Allow
        Deny from all
        </Drectory>
    
      <Directory "/usr/share/zabbix/include/classes">
          AllowOverride None
        Order Deny,Allow
        Deny from all
        </Directory>
    
      ## Logging                                                                                                
      ErrorLog "/var/log/httpd/{{ zabbix_host }}_error.log"
      ServerSignature Off
      CustomLog "/var/log/httpd/{{ zabbix_host }}_access.log" combined
    
      ## Rewrite rules                                                                                          
      RewriteEngine On
      RewriteRule ^$ /index.php [L]
    
      ## Custom fragment                                                                                        
      php_value max_execution_time 300
      php_value memory_limit 128M
      php_value post_max_size 16M
      php_value upload_max_filesize 2M
      php_value max_input_time 300
      # Set correct timezone.                                                                                   
      php_value date.timezone Asia/Tokyo
    </VirtualHost>
    

    결과



    default의 설정이라면 Admin/zabbix로 login할 수 있다.
    mysql은 마음대로 zabbix라고 하는 DB를 작성해 주므로 특히 신경쓰지 않아도 괜찮았다.
    후, default에서는 server와 agent로 port의 10050과 10051을 사용하기 때문에 개방을 잊지 않고.

    어떠한 값을 감시하는지 등의 설정은 이 web front로부터 실시한다. 또 여러가지 만져보고 싶다.

    좋은 웹페이지 즐겨찾기