LinuxServer
zabbix
version : 2.2 †
インストール †
設定 †
- sudo vi /etc/zabbix/zabbix_agentd.conf
- Servername=zabbixserver.hogehoge.com
- Hostname=webserver.hogehoge.com
起動時の自動実行 †
- トラブル
- zabbix サーバが「いいえ」になっている
- ubuntu でZabbixサーバーから10050 portの疎通が取れない
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) †
- 現行リポジトリの削除
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設定ファイル名の変更とコピー †
- ディレクトリの移動
cd /etc/zabbix/
- 旧設定ファイル名を変更(バックアップ)
mv zabbix_server.conf zabbix_server.conf.bak191207
- テンプレートファイル名を変更
mv zabbix_server.conf.rpmnew zabbix_server.conf
- db password 変更
vi zabbix_server.conf
- ついでに他も少しコメントアウトを修正
(以下は例なので実際の環境に合わせて設定)
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
バックアップ †
- 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/
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設定ファイル名の変更とコピー †
- ディレクトリの移動
cd /etc/zabbix/
- 旧設定ファイル名を変更(バックアップ)
sudo mv zabbix_server.conf zabbix_server.conf.bak191207
- テンプレートファイル名を変更
sudo mv zabbix_server.conf.rpmnew zabbix_server.conf
- db password 変更
sudo vi zabbix_server.conf
- ついでに他も少しコメントアウトを修正
(以下は例なので実際の環境に合わせて設定)
(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, †
参考サイト †
監視される側のサーバ設定 †
- Install
- Ubuntu
sudo apt install hddtemp
- Redhat系
sudo dnf install hddtemp
- override.conf 関連
- sudo mkdir /etc/systemd/system/zabbix-agent.service.d/ -p
- sudo vim /etc/systemd/system/zabbix-agent.service.d/override.conf
(新規作成)
[Service]
User=root
Group=root
- sudo visudo
- 以下を追加
zabbix ALL=NOPASSWD: ALL
- sudo vi /etc/zabbix/zabbix_agentd.conf
EnableRemoteCommands=1
AllowRoot=1
AllowKey=system.run[*]
- zabbix agent サービス再起動
sudo systemctl daemon-reload
sudo systemctl restart zabbix-agent
- Admin group
- Redhat系
- 現状の確認
id zabbix
- root グループへ追加
sudo usermod -aG root zabbix
- 変更後の確認
id zabbix
- Debian(Ubuntu)系
- 現状の確認
id zabbix
- adm グループへ追加
sudo usermod -aG adm zabbix
- 変更後の確認
id zabbix
- キーに指定するhddtempの場所を確認
- 監視対象サーバで以下を実行
which hddtemp
- 確認(監視対象側)
- 例
sudo zabbix_agentd -t "system.run[/bin/hddtemp /dev/sda -n]"
- 例
sudo zabbix_agentd -t "system.run[/usr/sbin/hddtemp /dev/sda -n]"
- 例
zabbix_agentd -t "system.run[sudo /usr/sbin/hddtemp /dev/sda -n]"
Zabbix サーバで追加 †
- ホストの「アイテム」へ直接追加
- 「設定」-> 「ホスト」 -> 対象のホスト -> アイテム
- 右上「アイテムの作成」
- キーの /bin/hddtemp は、サーバの状況に合わせる
名前 | 適当に。例:HddTempSdaServerName? |
タイプ | Zabbixエージェント |
キー | system.run[/bin/hddtemp /dev/sda -n] |
データ型 | 数値(浮動小数) |
単位 | ℃ |
監視感覚 | 適当に。例:5m |
アプリケーション | 適当に。例:Filesystems App |
- 「追加」
- もう一度開いて、「監視データ取得」
- 「監視データ」 -> 「最新データ」で確認
- ディスカバリに追加
- 「設定」-> 「テンプレート」->対象のテンプレート -> 「ディスカバリ」
- 「Block devices discovery」->「アイテムのプロトタイプ」
- 「アイテムのプロトタイプを作成」ボタンを押す
名前 | HddTemp? {#FSNAME} |
タイプ | Zabbixエージェント |
キー | system.run[sudo /usr/sbin/hddtemp /dev/{#DEVNAME} -n] |
データ型 | 数値(浮動小数) |
単位 | ℃ |
監視感覚 | 適当に。例:5m |
アプリケーション | 適当に。例:Filesystems App |
タグ1 | component,storage |
タグ2 | storagedisk,{#DEVNAME} |
- ディスカバリ・グラフの追加
- 「グラフのプロトタイプ」
- 「グラフのプロトタイプ作成」
- 適当に設定
version 5.0 †
RHEL 8, AlmaLinux? 8, RockyLinux? 8, †
Agent install †
Version 6.0 †
サーバのセットアップ(Ubuntu) †
- Apacheのインストールと設定
sudo apt -y install apache2
- sudo vi /etc/apache2/conf-enabled/security.conf
- apache2の起動
sudo systemctl restart apache2
- 確認
- php のインストールと設定
- sudo apt -y install php-fpm
- sudo vi /etc/apache2/sites-available/default-ssl.conf
- 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
- MariaDb?(MySql?)のインストールと設定
sudo apt -y install mariadb-server
- restart
sudo systemctl restart mariadb
- 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
- root userで接続の確認
- sudo su -
- mysql
- exitで終了
exit
- Zabbixのインストールと設定
wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-3+ubuntu22.04_all.deb
- sudo dpkg -i zabbix-release_6.0-3+ubuntu22.04_all.deb
- sudo apt update
- 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
- mysql上でZabbixユーザの作製
- sudo su -
- mysql
- create database zabbix character set utf8mb4 collate utf8mb4_bin;
- grant all privileges on zabbix.* to zabbix@'localhost' identified by 'password';
- flush privileges;
- exit
- 初期データベースの構築(ここが公式や上記参考サイトのやり方でできませんでした。。。)
- zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix
- Zabbixサーバの設定
sudo vi /etc/zabbix/zabbix_server.conf
- 105行目 : DB 名確認
DBName=zabbix
- 121行目 : DB ユーザー名確認
DBUser=zabbix
- 130行目 : DB ユーザーのパスワードを追記
DBPassword=password
- Zabbixサーバの再起動と自動起動設定
sudo systemctl restart zabbix-server
sudo systemctl enable zabbix-server
- Zabbix agentの設定(Zabbixサーバ内)
vi /etc/zabbix/zabbix_agent2.conf
- 80行目 : Zabbix サーバーを指定
Server=127.0.0.1
- 132行目 : Zabbix サーバーを指定
ServerActive=127.0.0.1
- 143行目 : 自身のホスト名に変更
Hostname=dlp.srv.world
- Zabbix agent(サーバ内)のリスタート
sudo systemctl restart zabbix-agent2
- 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
- apache と php のリスタート
systemctl restart apache2 php8.1-fpm
- WebコンソールからZabbixサーバの初期設定
- 言語の選択
- そのまま「次へ」
- エラーとなった場合は上記の「Zabbixサーバに合わせた php 設定の変更」を参照
- 以下3つを記入、次へ
- データベース名
- ユーザー名
- パスワード
- Zabbixサーバ名
- タイムゾーン
- 「次へ」
- 「終了」
- 初期ユーザーとパスワードでログイン
Admin
zabbix
- 以上でZabbixのインストールと初期設定は完了
グラフの文字化け(Ubuntu server) †
- フォントのインストール
sudo apt install fonts-ipafont-gothic
- シンボリックリンクの作成
sudo ln -s /usr/share/fonts/opentype/ipafont-gothic/ipagp.ttf /usr/share/zabbix/assets/fonts/ipagp.ttf
- Zabbix設定ファイルの編集
sudo vi /usr/share/zabbix/include/defines.inc.php
- 変更前
define('ZBX_GRAPH_FONT_NAME', 'graphfont');
define('ZBX_FONT_NAME', 'graphfont');
- 変更後
define('ZBX_GRAPH_FONT_NAME', 'ipagp');
define('ZBX_FONT_NAME', 'ipagp');
Linux, process監視 †
- 参考サイト:Zabbixのアイテムキー『proc.num』のプロセス数監視パラメータ(tsunokawaのはてなダイアリー)
- アイテム作成
名称 | 値 | 備考 |
名前 | 適当に, 例) ServerName?:proc,processName | |
タイプ | Zabbixエージェント | |
キー | proc.num[processName] proc.num[,,,processName] | |
データ型 | 数値(整数) | |
ホストインターフェース | serverFQDN:10050 | |
監視間隔 | 適当に 例) 5m | |
- テストする
- トリガー追加
名称 | 値 | 備考 |
名前 | 適当に, 例) 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 | |
- グラフ追加(適当に。省略)
Linux, process監視 †
- 参考サイト:Zabbix エージェント(Zabbix公式)
- アイテム作成
名称 | 値 | 備考 |
名前 | 適当に, 例) ServerName?:file exists,fileName | |
タイプ | Zabbixエージェント | |
キー | vfs.file.exists[/mnt/hoge/hogehoge/test.txt] | |
データ型 | 数値(整数) | |
ホストインターフェース | serverFQDN:10050 | |
監視間隔 | 適当に 例) 5m | |
- テストする
- トリガー追加
名称 | 値 | 備考 |
名前 | 適当に, 例) 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 | |
- グラフ追加(適当に。省略)
クライアント(監視対象のサーバ)側 †
Zabbix agent を 5.0 -> 6.0へ変更(Debian)
- 既存のzabbix-agentをアンインストール
sudo apt remove zabbix-agent
- release package等のアンインストール
- 関連パッケージの検索
sudo dpkg -l | grep zabbix
- 多分以下2つ
sudo dpkg -P zabbix-agent
sudo dpkg -P zabbix-release
- 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
- aptのパッケージ情報のアップデート(アップグレードはされない)
sudo apt update
- zabbix-agentのインストール
sudo apt install zabbix-agent
- zabbix_agentd の設定
- sudo vim /etc/zabbix/zabbix_agentd.conf
Server=(IP or server name)
ServerActive=(IP or server name)
HostName=(監視対象サーバのホスト名)
- 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のバージョンを上げる †
- 以下の選択肢でダウンロード
- Linux
- 3.0
- amd64(環境に合わせて選択)
- 6.0 LTS(環境に合わせて選択)
- 適当なディレクトリで解凍
tar xzfv zabbix_agent-6.0.19-linux-3.0-amd64-static.tar.gz
- ファイルをコピー
sudo cp -fr bin /usr/
sudo cp -fr sbin /usr/
sudo cp -fr conf/zabbix_agentd.conf /etc/zabbix/
- 設定ファイルを変更
- zabbix_agentd の再起動
sudo /etc/init.d/zabbix-agent restart
- 起動の確認
ps ax | grep zabbix
トラブル †
特定のデータが取れてない †
- 「最新データ」を確認
- 下に表示されているデータベースエラーを確認し、以下のコマンドで修正
エラー[Table './zabbix/history_uint' is marked as crashed and should be repaired] †
- mysql で以下を実行
- use zabbix
- repair table history_uint ;
その他 †
マクロ(定数)一覧 †