Memo/Linux/Zabbix/3.0

http://dexlab.net/pukiwiki/index.php?Memo/Linux/Zabbix/3.0
 


Zabbix 3.0

3.0はLTS Zabbix サポート期間とリリースポリシー で5年サポートしてくれる。

  • 気づいた点
    • メンテナンス時に現在の日時をクリックするとzabbixホストのtimezoneになってくれる。zabbix2.0まではzabbixホストがUTCで、ローカルがJSTだと、JSTが現在の日時になって、手動で修正が必要だった。

パッケージの更新

  • zabbix v3.0.9-1.el7へ更新。プロセスも自動的に再起動されていた。
    1. yum update zabbix-*
    2.  
    3. # 更新されたパッケージ確認
    4. tail /var/log/yum.log
    5.  
    6. # プロセスの起動時間確認
    7. ps -eo pid,lstart,args | grep zabbix

環境変数HOME等が設定されていない

外部チェック(External checks)がうまく動作しない場合があった。
zabbix 3.0では一部の環境変数が設定されておらず、スクリプトが参照している場合は動作しなくなったため、修正する必要がある

  • epel repo zabbix 2.0:
    • user: zabbixsrv
    • home: /var/lib/zabbixsrv
    • env: HOME,USER,SHELL変数が設定されている
  • zabbix repo zabbix 3.0
    • user: zabbix
    • home: /var/lib/zabbix
    • env: HOME,USER,SHELL変数が設定されていない
  • CentOS 6.3 64bit / EPEL repoのzabbix20-proxy-2.0.16-1.el6.noarch で External checksから実行したscript中のenvの結果。HOMEが設定されている
    1. HOME=/var/lib/zabbixsrv
    2. LANG=en_US.UTF-8
    3. LOGNAME=zabbixsrv
    4. PATH=/sbin:/usr/sbin:/bin:/usr/bin
    5. PWD=/
    6. SHELL=/bin/bash
    7. SHLVL=4
    8. TERM=xterm
    9. USER=zabbixsrv
    10. _=/bin/env
  • CentOS 6.8 64bit / zabbix repoのzabbix-proxy-mysql-3.0.8-1.el6.x86_64 で External checksから実行したscript中のenvの結果。HOMEは設定されていない
    1. CONSOLETYPE=vt
    2. LANG=en_US.UTF-8
    3. LANGSH_SOURCED=1
    4. PATH=/sbin:/usr/sbin:/bin:/usr/bin
    5. PREVLEVEL=N
    6. PWD=/
    7. RUNLEVEL=3
    8. SHLVL=5
    9. TERM=linux
    10. UPSTART_EVENTS=runlevel
    11. UPSTART_INSTANCE=
    12. UPSTART_JOB=rc
    13. _=/bin/env
    14. previous=N
    15. runlevel=3
  • 外部チェックスクリプトの変更。HOMEが設定済みの場合はそのまま使い、HOMEが無ければzabbixユーザのHOMEを設定する
    1. export HOME=${HOME:-"$(getent passwd zabbix | cut -f6 -d:)"}

httpd2.4で「client denied by server configuration:」

  • 環境
    • CentOS 7.3 64bit
    • httpd-2.4.6-45.el7.centos.x86_64
  • httpdのログ
    1. sudo tail -f /var/log/httpd/error_log
    2. [Fri Dec 16 07:42:18.067087 2016] [authz_core:error] [pid 35636] [client 192.168.61.1:55724] AH01630: client denied by server configuration: /usr/share/zabbix/
  • httpd2.4からアクセス制御の書き方が変わった。
    • /etc/httpd/conf.d/zabbix.conf の中身を以下のように置き換える
      1. --- zabbix.conf.httpd22 2016-12-16 07:57:11.342962457 +0000
      2. +++ zabbix.conf 2016-12-16 08:21:09.611989118 +0000
      3. @@ -8,8 +8,7 @@
      4.  <Directory "/usr/share/zabbix">
      5.      Options FollowSymLinks
      6.      AllowOverride None
      7. -    Order allow,deny
      8. -    Allow from all
      9. +    Require all granted
      10.  
      11.      <IfModule mod_php5.c>
      12.          php_value max_execution_time 300
      13. @@ -23,37 +22,29 @@
      14.  </Directory>
      15.  
      16.  <Directory "/usr/share/zabbix/conf">
      17. -    Order deny,allow
      18. -    Deny from all
      19. +    Require all denied
      20.      <files *.php>
      21. -        Order deny,allow
      22. -        Deny from all
      23. +        Require all denied
      24.      </files>
      25.  </Directory>
      26.  
      27.  <Directory "/usr/share/zabbix/app">
      28. -    Order deny,allow
      29. -    Deny from all
      30. +    Require all denied
      31.      <files *.php>
      32. -        Order deny,allow
      33. -        Deny from all
      34. +        Require all denied
      35.      </files>
      36.  </Directory>
      37.  
      38.  <Directory "/usr/share/zabbix/include">
      39. -    Order deny,allow
      40. -    Deny from all
      41. +    Require all denied
      42.      <files *.php>
      43. -        Order deny,allow
      44. -        Deny from all
      45. +        Require all denied
      46.      </files>
      47.  </Directory>
      48.  
      49.  <Directory "/usr/share/zabbix/local">
      50. -    Order deny,allow
      51. -    Deny from all
      52. +    Require all denied
      53.      <files *.php>
      54. -        Order deny,allow
      55. -        Deny from all
      56. +        Require all denied
      57.      </files>
      58.  </Directory>

EPEL版からZabbix公式リポジトリ版へのアップグレード

  • CentOS 6/7対応
  • CentOS 5 はserver rpmがない。agent/proxyはある。zabbix v2.4はserverもある
  • EPEL版パッケージ名:
    1. zabbix20-server-2.0.11-1.el6.x86_64
    2. zabbix20-web-2.0.11-1.el6.noarch
    3. zabbix20-2.0.11-1.el6.x86_64
    4. zabbix20-server-mysql-2.0.11-1.el6.x86_64
    5. zabbix20-web-mysql-2.0.11-1.el6.noarch
    6. zabbix20-agent-2.0.11-1.el6.x86_64
  • バックアップ
    1. # DBが更新されないようにサービス停止
    2. sudo service zabbix-server stop
    3. sudo service httpd stop
    4.  
    5. # mysql zabbix DBのみ
    6. mysqldump --opt --single-transaction --default-character-set=utf8 --no-autocommit --flush-logs --hex-blob zabbix | gzip > mysql.zabbix.$(date +%Y%m%d).gz
    7.  
    8. # 設定ファイル。/etc/zabbix以下がsymlinkの事もある(EPEL版)のため、hオプションを付けてバックアップ
    9. tar cfzh zabbix.conf.$(date +%Y%m%d).tar.gz /etc/zabbix/
  • 古いパッケージのアンインストール
    1. # php5.4未満はアンインストール
    2. sudo yum erase php*
    3.  
    4. # EPEL版はパッケージ名がzabbix20, zabbix22のようにzabbix公式と異なるのでアンインストール
    5. sudo yum erase zabbix20-*
  • 必要要件のインストール: CentOS6.x 64bit
    • php5.4ではapcの代わりにユーザキャッシュ部分を分離したものがapcu, オペコードのキャッシュに zend opcache を使う
      1. # epelとremiリポジトリ追加
      2. sudo rpm -ivh http://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
      3. sudo rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
      4.  
      5. # 必要パッケージのインストール
      6. sudo yum -y --enablerepo=epel,remi install mysql-server curl net-snmp unixODBC OpenIPMI-libs httpd php php-bcmath php-gd php-mbstring php-mysqlnd php-xml php-pecl-apcu php-pecl-zendopcache
  • zabbix 3.0へのアップグレード: CentOS 6.x 64bit EPEL版から
    1. sudo rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm
    2.  
    3. sudo yum install zabbix-web zabbix-web-japanese zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-get zabbix-sender
    4.  
    5. # EPEL版は /etc/zabbix_server.conf.rpmsave, /etc/zabbix_agentd.conf.rpmsave のように設定が残っているので確認
    6. vim /etc/zabbix/zabbix_server.conf
    7. ----
    8. DBPassword=****
    9. ----
    10.  
    11. vim /etc/zabbix/zabbix_agentd.conf
    12. ----
    13. ListenIP=127.0.0.1
    14. ----
    15.  
    16. sudo vim /etc/php.d/apcu.ini
    17. ----
    18. apc.shm_size=32M
    19. ----
    20.  
    21. sudo service mysqld restart
    22. sudo service zabbix-server restart
    23.  
    24. less /var/log/zabbix/zabbix_server.log
    25. ...
    26.   1883:20161019:123331.012 Zabbix Server stopped. Zabbix 2.0.11 (revision 42526).
    27.   6294:20161019:151719.792 Starting Zabbix Server. Zabbix 3.0.5 (revision 62889).
    28.   6294:20161019:151719.792 ****** Enabled features ******
    29.   6294:20161019:151719.792 SNMP monitoring:           YES
    30.   6294:20161019:151719.792 IPMI monitoring:           YES
    31.   6294:20161019:151719.792 Web monitoring:            YES
    32.   6294:20161019:151719.792 VMware monitoring:         YES
    33.   6294:20161019:151719.792 SMTP authentication:        NO
    34.   6294:20161019:151719.792 Jabber notifications:      YES
    35.   6294:20161019:151719.792 Ez Texting notifications:  YES
    36.   6294:20161019:151719.792 ODBC:                      YES
    37.   6294:20161019:151719.792 SSH2 support:              YES
    38.   6294:20161019:151719.792 IPv6 support:              YES
    39.   6294:20161019:151719.792 TLS support:               YES
    40.   6294:20161019:151719.792 ******************************
    41.  
    42. sudo service zabbix-agent restart
    43. less /var/log/zabbix/zabbix_agentd.log
    44. ...
    45.   6267:20161019:151934.194 Zabbix Agent stopped. Zabbix 3.0.5 (revision 62889).
    46.   6380:20161019:151934.317 Starting Zabbix Agent [Zabbix server]. Zabbix 3.0.5 (revision 62889).
    47.   6380:20161019:151934.317 **** Enabled features ****
    48.   6380:20161019:151934.317 IPv6 support:          YES
    49.   6380:20161019:151934.317 TLS support:           YES
    50.   6380:20161019:151934.317 **************************
    51.   6380:20161019:151934.317 using configuration file: /etc/zabbix/zabbix_agentd.conf
    52.  
    53. sudo cp /usr/share/doc/zabbix-web-3.0.5/httpd22-example.conf /etc/httpd/conf.d/zabbix.conf
    54. sudo vim zabbix.conf
    55. ----
    56.         php_value date.timezone Asia/Tokyo
    57. ----
    58. sudo service httpd restart
    59.  
    60. sudo chkconfig mysqld on
    61. sudo chkconfig zabbix-server on
    62. sudo chkconfig zabbix-agent on
    63. sudo chkconfig httpd on
    64.  
    65. # zabbix agentが正常に動作していれば、1になる
    66. zabbix_get -s 127.0.0.1 -k agent.ping
    67. 1
  • 重複しているテンプレート項目を削除
    • {Template OS Linux:system.cpu.util[,iowait].last(0)}>20
    • {Template OS Linux:proc.num[].last(0)}>300
    • {Template OS Linux:proc.num[,,run].last(0)}>30

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-07-07 (金) 18:49:39 (410d)