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
    AllowKey=system.run[*]
  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
  8. 確認(監視対象側)
    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]"
    3. zabbix_agentd -t "system.run[sudo /usr/sbin/hddtemp /dev/sda -n]"

Zabbix サーバで追加

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

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 の初期設定
      sudo 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 zabbix-get
  5. mysql上でZabbixユーザの作製
    1. sudo su -
    2. mysql
    3. create database zabbix character set utf8mb4 collate utf8mb4_bin;
    4. grant all privileges on zabbix.* to zabbix@'localhost' identified by 'password';
      • passwordは任意のパスワードへ変更
    5. flush privileges;
    6. exit
  6. 初期データベースの構築(ここが公式や上記参考サイトのやり方でできませんでした。。。)
    1. zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix
  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の設定画面でエラーとなります)
    • sudo vi /etc/php/8.1/fpm/pool.d/www.conf
    • 最終行に追記
      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のインストールと初期設定は完了
    • あとはホストを追加したりとか色々

グラフの文字化け(Ubuntu server)

  1. フォントのインストール
    sudo apt install fonts-ipafont-gothic
  2. シンボリックリンクの作成
    sudo ln -s /usr/share/fonts/opentype/ipafont-gothic/ipagp.ttf /usr/share/zabbix/assets/fonts/ipagp.ttf
  3. Zabbix設定ファイルの編集
    sudo vi /usr/share/zabbix/include/defines.inc.php
    1. 変更前
      define('ZBX_GRAPH_FONT_NAME', 'graphfont');
      define('ZBX_FONT_NAME', 'graphfont');
    2. 変更後
      define('ZBX_GRAPH_FONT_NAME', 'ipagp');
      define('ZBX_FONT_NAME', 'ipagp');

Linux, process監視

  1. 参考サイト:Zabbixのアイテムキー『proc.num』のプロセス数監視パラメータ(tsunokawaのはてなダイアリー)
  2. アイテム作成
    名称備考
    名前適当に, 例) ServerName?:proc,processName
    タイプZabbixエージェント
    キーproc.num[processName]
    proc.num[,,,processName]
    データ型数値(整数)
    ホストインターフェースserverFQDN:10050
    監視間隔適当に 例) 5m
    1. テストする
  3. トリガー追加
    名称備考
    名前適当に, 例) ServerName?:proc,processName,Trigger
    深刻度適当に
    キーproc.num[processName]
    proc.num[,,,processName]
    障害の条件式last(/serverName.tar3.net/proc.num[,,,"processName"],#1)=0
    復旧条件式last(/serverName.tar3.net/proc.num[,,,"processName"],#1)>0
  4. グラフ追加(適当に。省略)

Linux, process監視

  1. 参考サイト:Zabbix エージェント(Zabbix公式)
  2. アイテム作成
    名称備考
    名前適当に, 例) ServerName?:file exists,fileName
    タイプZabbixエージェント
    キーvfs.file.exists[/mnt/hoge/hogehoge/test.txt]
    データ型数値(整数)
    ホストインターフェースserverFQDN:10050
    監視間隔適当に 例) 5m
    1. テストする
  3. トリガー追加
    名称備考
    名前適当に, 例) ServerName?:file exists:fileName,Trigger
    深刻度適当に
    障害の条件式last(/serverName.tar3.net/vfs.file.exists["file/path/test.txt"],#1)=0
    復旧条件式last(/serverName.tar3.net/vfs.file.exists["file/path/test.txt"],#1)>0
  4. グラフ追加(適当に。省略)

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

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

zabbix-agentの変更(Ubuntu 22.04)

(Ubuntu) ファイアウォールのオープン

sudo ufw allow 10050
sudo ufw reload

Ubuntu 14.04のZabbix agentのバージョンを上げる

Ubuntu 14.04のZabbix agentのバージョンを上げる

  1. 以下の選択肢でダウンロード
    1. Linux
    2. 3.0
    3. amd64(環境に合わせて選択)
    4. 6.0 LTS(環境に合わせて選択)
  2. 適当なディレクトリで解凍
    tar xzfv zabbix_agent-6.0.19-linux-3.0-amd64-static.tar.gz
  3. ファイルをコピー
    sudo cp -fr bin /usr/
    sudo cp -fr sbin /usr/
    sudo cp -fr conf/zabbix_agentd.conf /etc/zabbix/
  4. 設定ファイルを変更
    • sudo vi /etc/zabbix/zabbix_agentd.conf
    • 自分は以下3つ
      Server=123.123.123.123
      #ServerActive=127.0.0.1
      Hostname=serverName.domain.net
      AllowRoot=1
  5. zabbix_agentd の再起動
    sudo /etc/init.d/zabbix-agent restart
  6. 起動の確認
    ps ax | grep zabbix

トラブル

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

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

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

その他

マクロ(定数)一覧


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