LinuxServer

zabbix

version : 2.2

インストール

設定

起動時の自動実行

Version 3.0(バージョンアップ)

Zabbix サービスの停止

sudo service zabbix-agent stop
sudo service zabbix-server stop

バックアップ

cp -pR /usr/share/zabbix/ /root/zabbix-backup/
cp -pR /usr/share/doc/zabbix-* /root/zabbix-backup/

PHPのバージョンアップ

Zabbixのインストール(CentOS6)

Zabbix設定ファイル名の変更とコピー

  1. ディレクトリの移動
    cd /etc/zabbix/
  2. 旧設定ファイル名を変更(バックアップ)
    mv zabbix_server.conf zabbix_server.conf.bak191207
  3. テンプレートファイル名を変更
    mv zabbix_server.conf.rpmnew zabbix_server.conf
  4. db password 変更
    vi zabbix_server.conf
    • 以下の項目
      DBPassword=
  5. ついでに他も少しコメントアウトを修正
    (以下は例なので実際の環境に合わせて設定)
    DBHost=localhost
    DBName=zabbix
    DBUser=zabbix

PHP 設定ファイルの変更

Apache 関連

Zabbixの起動

sudo service zabbix-server start

ログファイルの確認

sudo tail -f /var/log/zabbix/zabbix_server.log

データベースの変換が完了してから以下を起動

sudo service httpd start
sudo service zabbix-agent start

version 4.0(バージョンアップ)

Zabbix サービスの停止

sudo service zabbix-agent stop
sudo service zabbix-server stop

バックアップ

Zabbixのインストール(CentOS6)

Zabbix設定ファイル名の変更とコピー

  1. ディレクトリの移動
    cd /etc/zabbix/
  2. 旧設定ファイル名を変更(バックアップ)
    sudo mv zabbix_server.conf zabbix_server.conf.bak191207
  3. テンプレートファイル名を変更
    sudo mv zabbix_server.conf.rpmnew zabbix_server.conf
  4. db password 変更
    sudo vi zabbix_server.conf
    • 以下の項目
      DBPassword=
  5. ついでに他も少しコメントアウトを修正
    (以下は例なので実際の環境に合わせて設定) (default と一緒なので必要ないかも。。。)
    DBHost=localhost
    DBName=zabbix
    DBUser=zabbix

Zabbixの起動

sudo service zabbix-server start
sudo service httpd start
sudo service zabbix-agent start

監視対象サーバーへ agent のインストール

ハードディスク温度の取得,HDD,SSD,hddtemp,

参考サイト

監視される側のサーバ設定

  1. Install
    1. Ubuntu
      sudo apt install hddtemp
    2. Redhat系
      sudo dnf install hddtemp
  2. override.conf 関連
    1. sudo mkdir /etc/systemd/system/zabbix-agent.service.d/ -p
    2. sudo vim /etc/systemd/system/zabbix-agent.service.d/override.conf
      (新規作成)
      [Service]
      User=root
      Group=root
  3. sudo visudo
    • 以下を追加
      zabbix ALL=NOPASSWD: ALL
  4. sudo vi /etc/zabbix/zabbix_agentd.conf
    EnableRemoteCommands=1
    AllowRoot=1
  5. zabbix agent サービス再起動
    sudo systemctl daemon-reload
    sudo systemctl restart zabbix-agent
  6. Admin group
    1. Redhat系
      1. 現状の確認
        id zabbix
      2. root グループへ追加
        sudo usermod -aG root zabbix
      3. 変更後の確認
        id zabbix
    2. Debian(Ubuntu)系
      1. 現状の確認
        id zabbix
      2. adm グループへ追加
        sudo usermod -aG adm zabbix
      3. 変更後の確認
        id zabbix
  7. キーに指定するhddtempの場所を確認
    • 監視対象サーバで以下を実行
      which hddtemp

Zabbix サーバで追加

  1. 確認
    1. sudo zabbix_agentd -t "system.run[/bin/hddtemp /dev/sda -n]"
    2. sudo zabbix_agentd -t "system.run[/usr/sbin/hddtemp /dev/sda -n]"
  2. ホストの「アイテム」へ直接追加
    1. 「設定」-> 「ホスト」 -> 対象のホスト -> アイテム
    2. 右上「アイテムの作成」
    • キーの /bin/hddtemp は、サーバの状況に合わせる
      名前適当に。例:HddTempSdaServerName?
      タイプZabbixエージェント
      キーsystem.run[/bin/hddtemp /dev/sda -n]
      データ型数値(浮動小数)
      単位
      監視感覚適当に。例:5m
      アプリケーション適当に。例:Filesystems App
    1. 「追加」
    2. もう一度開いて、「監視データ取得」
    3. 「監視データ」 -> 「最新データ」で確認
  3. ディスカバリに追加
    1. 「設定」-> 「テンプレート」->対象のテンプレート -> 「ディスカバリ」
    2. MounteFileDiscovery?」->「アイテムのプロトタイプ」
    3. 「アイテムのプロトタイプを作成」ボタンを押す
      名前HddTemp? {#FSNAME}
      タイプZabbixエージェント
      キーsystem.run[/usr/sbin/hddtemp {#FSNAME} -n]
      データ型数値(浮動小数)
      単位
      監視感覚適当に。例:5m
      アプリケーション適当に。例:Filesystems App

version 5.0

RHEL 8, AlmaLinux? 8, RockyLinux? 8,

Agent install

Version 6.0

サーバのセットアップ(Ubuntu)

  1. Apacheのインストールと設定
    sudo apt -y install apache2
    1. sudo vi /etc/apache2/conf-enabled/security.conf
      • 以下を変更
        ServerTokens Prod
    2. apache2の起動
      sudo systemctl restart apache2
    3. 確認
  2. php のインストールと設定
    • sudo apt -y install php-fpm
    • sudo vi /etc/apache2/sites-available/default-ssl.conf
      • <VirtualHost?> - </VirtualHost?> 内に追記
            <FilesMatch \.php$>
                SetHandler "proxy:unix:/var/run/php/php8.1-fpm.sock|fcgi://localhost/"
            </FilesMatch>
        </VirtualHost>
    • sudo a2enmod proxy_fcgi setenvif
    • sudo a2enconf php8.1-fpm
    • 再起動
      sudo  systemctl restart php8.1-fpm apache2
    • 確認
      sudo echo '<?php phpinfo(); ?>' > /var/www/html/info.php
    • ブラウザから以下をアクセスして確認
      http://(ip address)/info.php
  3. MariaDb?(MySql?)のインストールと設定
    sudo apt -y install mariadb-server
    1. restart
      sudo systemctl restart mariadb
    2. mysql の初期設定
      mysql_secure_installation
      • [Unix_Socket] 認証に切り替えるか否か

        # [no] でも root のみ デフォルトで [Unix_Socket] 認証は有効

        Switch to unix_socket authentication [Y/n] n
      • MariaDB root パスワードを設定するか否か
        デフォルトで [Unix_Socket] 認証が有効となっているが
        root パスワードを設定すると パスワードでも root ログイン可能となる
        root パスワードを設定しない場合は OS の root ユーザーのみが MariaDB root ユーザーとしてログイン可
        Change the root password? [Y/n] n
      • 匿名ユーザーは削除する
        Remove anonymous users? [Y/n] y
      • root のリモートログインは無効とする
        Disallow root login remotely? [Y/n] y
      • テストデータベースは削除する
        Remove test database and access to it? [Y/n] y
      • 特権情報をリロードする
        Reload privilege tables now? [Y/n] y
    3. root userで接続の確認
      • sudo su -
      • mysql
      • exitで終了
        exit
  4. Zabbixのインストールと設定
    wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-3+ubuntu22.04_all.deb
    1. sudo dpkg -i zabbix-release_6.0-3+ubuntu22.04_all.deb
    2. sudo apt update
    3. sudo apt -y install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent2 php-mysql php-gd php-bcmath php-net-socket
    4. sudo su -
  5. mysql上でZabbixユーザの作製
    1. create database zabbix character set utf8mb4 collate utf8mb4_bin;
    2. grant all privileges on zabbix.* to zabbix@'localhost' identified by 'password';
      • passwordは任意のパスワードへ変更
    3. flush privileges;
    4. exit
  6. 初期データベースの構築(ここが公式や上記参考サイトのやり方でできませんでした。。。)
    1. zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz
  7. Zabbixサーバの設定
    sudo vi /etc/zabbix/zabbix_server.conf
    1. 105行目 : DB 名確認
      DBName=zabbix
    2. 121行目 : DB ユーザー名確認
      DBUser=zabbix
    3. 130行目 : DB ユーザーのパスワードを追記
      DBPassword=password
      • passwordは適宜変更
  8. Zabbixサーバの再起動と自動起動設定
    sudo systemctl restart zabbix-server
    sudo systemctl enable zabbix-server
  9. Zabbix agentの設定(Zabbixサーバ内)
    vi /etc/zabbix/zabbix_agent2.conf
    1. 80行目 : Zabbix サーバーを指定
      Server=127.0.0.1
    2. 132行目 : Zabbix サーバーを指定
      ServerActive=127.0.0.1
    3. 143行目 : 自身のホスト名に変更
      Hostname=dlp.srv.world
    4. Zabbix agent(サーバ内)のリスタート
      sudo systemctl restart zabbix-agent2
  10. Zabbixサーバに合わせた php 設定の変更
    (やらないとこの後のWebの設定画面でエラーとなります)
    • 最終行に追記
      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
      php_value[max_input_vars] = 10000
      php_value[always_populate_raw_post_data] = -1
      php_value[date.timezone] = Asia/Tokyo
    • Zabbixサーバコンソールへの接続制限(お好みで)
      sudo vi /etc/apache2/conf-enabled/zabbix.conf
      • 10行目 : 必要であれば Web 管理画面へのアクセスを制限 (デフォルトは制限なし)
        #Allow from all
        Allow from 10.0.0.0/24
  11. apache と php のリスタート
    systemctl restart apache2 php8.1-fpm
  12. WebコンソールからZabbixサーバの初期設定
    1. 言語の選択
    2. そのまま「次へ」
      • エラーとなった場合は上記の「Zabbixサーバに合わせた php 設定の変更」を参照
    3. 以下3つを記入、次へ
      1. データベース名
      2. ユーザー名
      3. パスワード
    4. Zabbixサーバ名
      1. タイムゾーン
    5. 「次へ」
    6. 「終了」
  13. 初期ユーザーとパスワードでログイン
    Admin
    zabbix
  14. 以上でZabbixのインストールと初期設定は完了
    • あとはホストを追加したりとか色々

クライアント(監視対象のサーバ)側~

Zabbix agent を 5.0 -> 6.0へ変更(Debian)

  1. 既存のzabbix-agentをアンインストール
    sudo apt remove zabbix-agent
  2. release package等のアンインストール
    1. 関連パッケージの検索
      sudo dpkg -l | grep zabbix
    2. 多分以下2つ
      sudo dpkg -P zabbix-agent 
      sudo dpkg -P zabbix-release
  3. Debian用のrelease packageのダウンロードとインストール
    wget https://repo.zabbix.com/zabbix/6.0/debian/pool/main/z/zabbix-release/zabbix-release_6.0-4+debian11_all.deb
    sudo dpkg -i zabbix-release_6.0-4+debian11_all.deb
  4. aptのパッケージ情報のアップデート(アップグレードはされない)
    sudo apt update
  5. zabbix-agentのインストール
    sudo apt install zabbix-agent
  6. zabbix_agentd の設定
    1. sudo vim /etc/zabbix/zabbix_agentd.conf
      Server=(IP or server name)
      ServerActive=(IP or server name)
      HostName=(監視対象サーバのホスト名)
  7. zabbix-agentの再起動
    sudo systemctl restart zabbix-agent

トラブル

特定のデータが取れてない

  1. 「最新データ」を確認
  2. 下に表示されているデータベースエラーを確認し、以下のコマンドで修正

エラー[Table './zabbix/history_uint' is marked as crashed and should be repaired]


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS