LinuxServer

zabbix

version : 2.2

  • グラフ文字化け対策
    • graphfont.ttf のシンボリックリンクを削除
      sudo rm /usr/share/zabbix/fonts/graphfont.ttf
    • 新しい graphfont.ttf のシンボリックリンクを作成
      sudo ln -s /usr/share/fonts/ipa-gothic/ipag.ttf /usr/share/zabbix/fonts/graphfont.ttf

インストール

  • CentOS6 へ zabbix-agent のインストール
    • レポジトリの追加
      sudo rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm
    • インストール
      sudo yum install zabbix-agent
  • CentOS7 へ zabbix-agent のインストール
    • レポジトリの追加
      sudo rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
  • Ubuntu へ zabbix-agent のインストール
    sudo apt-get install zabbix-agent

設定

  • sudo vi /etc/zabbix/zabbix_agentd.conf
    • Servername=zabbixserver.hogehoge.com
    • Hostname=webserver.hogehoge.com

起動時の自動実行

  • CentOS6
    sudo chkconfig zabbix-agent on
  • Ubuntu
    sudo apt-get install sysv-rc-conf
    sudo sysv-rc-conf zabbix-agent on
  • トラブル
    • zabbix サーバが「いいえ」になっている
      • SELinux の設定を確認
    • ubuntu でZabbixサーバーから10050 portの疎通が取れない

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

Zabbix サービスの停止

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

バックアップ

  • MySQL DB
    mysqldump -u zabbix -p zabbix > /root/zabbix.dump
  • zabbix 関連ファイル
    mkdir /root/zabbix-backup/
    cp -p /etc/zabbix/zabbix_server.conf /root/zabbix-backup/
    cp -p /etc/httpd/conf.d/zabbix.conf  /root/zabbix-backup/
cp -pR /usr/share/zabbix/ /root/zabbix-backup/
cp -pR /usr/share/doc/zabbix-* /root/zabbix-backup/
  • 特に以下のパスワードを確認
    grep DBPassword /etc/zabbix/zabbix_server.conf

PHPのバージョンアップ

Zabbixのインストール(CentOS6)

  • 現行リポジトリの削除
    yum remove zabbix-release
  • レポジトリの登録
    rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/6/i386/zabbix-release-3.0-1.el6.noarch.rpm
  • レポジトリキャッシュの削除
    yum clean all
  • Install
    yum install zabbix zabbix-server zabbix-server-mysql zabbix-web zabbix-web-mysql zabbix-web-japanese

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 設定ファイルの変更

  • vi /etc/php.ini
    max_execution_time 300
    memory_limit 128M
    post_max_size 16M
    upload_max_filesize 2M
    max_input_time 300
    date.timezone = Asia/Tokyo
    always_populate_raw_post_data -1

Apache 関連

  • apacheのバージョンを確認
    sudo httpd -v
  • テンプレートファイル(zabbix.conf.rpmsave)が無かったので
    一応以下からコピー
    sudo cp /usr/share/doc/zabbix-web-3.0.28/httpd22-example.conf /etc/httpd/conf.d/
  • rename
    cd /etc/httpd/conf.d/
    ls
    mv httpd22-example.conf zabbix.conf
  • PHPの7へ変更
    • vi /etc/httpd/conf.d/zabbix.conf
      • before
        <IfModule mod_php5.c>
      • after
        <IfModule mod_php7.c>

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

バックアップ

  • MySQL DB
    mysqldump -u zabbix -p zabbix > /root/zabbix.dump
  • zabbix 関連ファイル
    sudo mkdir /root/zabbix-backup/
    sudo cp -p /etc/zabbix/zabbix_server.conf /root/zabbix-backup/
    sudo cp -p /etc/httpd/conf.d/zabbix.conf  /root/zabbix-backup/
    ~
    sudo cp -pR /usr/share/zabbix/ /root/zabbix-backup/
    sudo cp -pR /usr/share/doc/zabbix-* /root/zabbix-backup/
    • 特に以下のパスワードを確認
      grep DBPassword /etc/zabbix/zabbix_server.conf

Zabbixのインストール(CentOS6)

  • 現行リポジトリの削除
    sudo yum remove zabbix-release
  • レポジトリの登録
    sudo rpm -ivh zabbix-release-4.0-2.el6.noarch.rpm
  • レポジトリキャッシュの削除
    sudo yum clean all
  • Install
    sudo yum update zabbix zabbix-server zabbix-server-mysql zabbix-web zabbix-web-mysql

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 のインストール

  • sudo dnf -y install https://repo.zabbix.com/zabbix/4.0/rhel/8/x86_64/zabbix-release-4.0-2.el8.noarch.rpm
  • sudo dnf -y install zabbix-agent
  • sudo vim /etc/zabbix/zabbix_agentd.conf
    • 以下を変更
    • Server
      • IPで指定
        Server=10.0.0.30
      • ホスト名でも大丈夫(要DNS)
        Server=hoge.domain.jp
    • ServerActive?
      • IP
        ServerActive=10.0.0.30
      • ホスト名でも大丈夫(要DNS)
    • 監視対象のホスト名を指定
      Hostname=hogeTarget.domain.jp
  • 自動起動の設定
    sudo systemctl enable --now zabbix-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

  • レポジトリの追加
    sudo dnf -y install https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
  • インストール
    sudo dnf -y install zabbix-agent2
  • 遅くて入らない場合は以下からダウンロード

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, ファイルの存在監視

  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のバージョンを上げる

  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

Windowsの監視(Zabbix agent)

  1. agentのダウンロード
    • Zabbix公式
    • ファイル名例:zabbix_agent-6.0.19-windows-amd64.zip
  2. zipを解凍する
  3. フォルダをコピーする(自分はc:\zabbix)へコピー
  4. confファイルの編集(メモ帳以外のLinux改行コードに対応しているエディタで)
    Server=(ZabbixサーバのIP or server name)
    #ServerActive=(IP or server name)
    HostName=(監視対象サーバのホスト名)
  5. コマンドプロンプトを管理者権限実行して、以下のコマンドでサービスへ登録
    c:\zabbix\bin\zabbix_agentd.exe -c c:\zabbix\conf\zabbix_agentd.conf -i
  6. ファイアウォールのポートを開ける
    1. Control Panel
    2. 「システムとセキュリティ」
    3. 「Windows Defender ファイアウォール」
    4. 「詳細設定」(左のツリー)
    5. 「受信の規則」
    6. 「新しい規則」右のツリー
      1. 「ポート」
      2. TCP, 特定のローカルポート:10050
      3. 「接続を許可する」を選択して次へ。
      4. すべてにチェックを入れて次へ
      5. 名前:ZabbixAgent?, 「完了」ボタン
  7. あとは通常通り、Zabbixサーバから登録すれば完了

トラブル

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

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

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

  • mysql で以下を実行
    1. use zabbix
    2. repair table history_uint ;

その他

マクロ(定数)一覧


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-07-08 (土) 16:11:59 (287d)