Memo

メモ > サーバ > 構築: 管理ツール設定 > Zabbix

■Zabbix
※サーバの監視を行う ■Zabbixサーバのインストール(CentOS7で確認したもの / 監視する側のサーバ) Amazon Linux 2 に Zabbix 4.0 をインストールしてみた - Qiita https://qiita.com/ktooi/items/1d79db32e1b6082cb93b 2019年6月3日時点で、Vagrant+CentOS7では上の手順そのままでダッシュボードが表示された まずはインストール
# rpm -import http://repo.zabbix.com/RPM-GPG-KEY-ZABBIX # rpm -i https://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm # yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-web-japanese
データベースを作成
# mysql -uroot -p mysql> create database zabbix character set utf8 collate utf8_bin; mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'password'; mysql> quit;
上記データベースに、テーブル定義などを流し込み
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
Zabbixの基本設定
# cp /etc/zabbix/zabbix_server.conf{,.org} # vi /etc/zabbix/zabbix_server.conf
# DBPassword= DBPassword=password
# cp /etc/httpd/conf.d/zabbix.conf{,.org} # vi /etc/httpd/conf.d/zabbix.conf
# php_value date.timezone Europe/Riga php_value date.timezone Asia/Tokyo
# systemctl restart zabbix-server zabbix-agent httpd # systemctl enable zabbix-server zabbix-agent httpd
ZabbixのWebUI設定
# vi /etc/zabbix/web/zabbix.conf.php
<?php // Zabbix GUI configuration file. global $DB; $DB['TYPE'] = 'MYSQL'; $DB['SERVER'] = 'localhost'; $DB['PORT'] = '0'; $DB['DATABASE'] = 'zabbix'; $DB['USER'] = 'zabbix'; $DB['PASSWORD'] = 'password'; // Schema name. Used for IBM DB2 and PostgreSQL. $DB['SCHEMA'] = ''; $ZBX_SERVER = 'localhost'; $ZBX_SERVER_PORT = '10051'; $ZBX_SERVER_NAME = 'MyZabbix!'; $IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
# chown apache:apache /etc/zabbix/web/zabbix.conf.php # chmod 644 /etc/zabbix/web/zabbix.conf.php
動作確認 http://192.168.33.10/zabbix/ Admin / zabbix 画面右上の人形アイコンをクリックすると、設定画面に遷移する 「Language」を「Japanese (ja_JP)」にすると日本語表示になる 上部メニューの「グラフ」をクリックして、「グループ」「ホスト」「グラフ」を選択すると、Zabbix server の状況がグラフで表示される もしくは上部メニューの「スクリーン」をクリックしても、Zabbix server の状況がグラフ(一部)で表示される 動作確認の参考に ■Zabbixサーバのインストール(CentOS6で確認したもの / 監視する側のサーバ) EPELリポジトリ導入(EPEL) http://centossrv.com/epel.shtml 統合監視ツール「Zabbix」によるサーバー監視 http://knowledge.sakura.ad.jp/tech/585/
# rpm -ivh http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm … EPELリポジトリをインストール # sed -i 's/enabled=1/enabled=0/g' /etc/yum.repos.d/epel.repo … EPELリポジトリをデフォルト無効化(RPMforgeリポジトリと競合するため) # yum --enablerepo=epel -y update epel-release … epel-releaseをアップデート # yum --enablerepo=epel install zabbix-server zabbix-server-mysql … Zabbixのインストール mysql> CREATE USER zabbix; … MySQLにZabbix用のユーザとデータベースを作成 mysql> CREATE DATABASE zabbix; mysql> GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY '1234'; mysql> FLUSH PRIVILEGES; # mysql -u zabbix -p zabbix < /usr/share/doc/zabbix-server-mysql-1.8.22/create/schema/mysql.sql … Zabbix用の初期データを登録(それぞれ時間がかかかるので待つ) # mysql -u zabbix -p zabbix < /usr/share/doc/zabbix-server-mysql-1.8.22/create/data/data.sql # mysql -u zabbix -p zabbix < /usr/share/doc/zabbix-server-mysql-1.8.22/create/data/images_mysql.sql # vi /etc/zabbix/zabbix_server.conf … Zabbixの設定ファイルを編集
# DBName= DBName=zabbix … 使用するデータベース名 # DBUser= DBUser=zabbix … データベースのユーザー名 # DBPassword= DBPassword=1234 … データベースのパスワード
# service zabbix-server start … Zabbixを起動 # chkconfig zabbix-server on … Zabbix自動起動を設定 # yum --enablerepo=epel install zabbix-web-mysql … Webフロントエンドのインストール # vi /etc/php.ini … Zabbix用にPHPの設定を編集
post_max_size = 32M max_execution_time = 600 max_input_time = 600 memory_limit = 256M upload_max_filesize = 16M
# service httpd restart … httpdを再起動
http://example.com/zabbix/ のようにアクセスすると、Zabbixの管理画面にアクセスできるので http://knowledge.sakura.ad.jp/tech/585/2/ を参考に初期設定を行う ■Zabbixエージェントのインストール(CentOS7で確認したもの / 監視する側のサーバ)
# hostname … サーバのホスト名を確認する方法 refirio.net # rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm # yum clean all # yum -y install zabbix-agent … Zabbixエージェントのインストール # vi /etc/zabbix/zabbix_agentd.conf … Zabbixエージェントの設定ファイルを編集
# Server= Server=203.0.113.0 … 監視元(Zabbixサーバをインストールしたサーバ)のIPアドレス # Hostname= Hostname=refirio.net … 監視対象(Zabbixエージェントをインストールしたサーバ)のホスト名
セキュリティグループを編集するなどし、10050ポートを開放 その後エージェントを起動する
# service zabbix-agent start … Zabbixエージェント起動 # chkconfig zabbix-agent on … Zabbixの自動起動を設定
引き続き、監視用Zabbixの管理画面でホストを登録する 登録しても反映されない場合、エージェントをインストールしたサーバでエラーログを確認する 以下はZabbixのバージョン違いで正しく通信できなかったときのエラー例
# vi /var/log/zabbix/zabbix_agentd.log
4140:20200514:124129.576 Message from 203.0.113.0 is missing header. Message ignored. 4142:20200514:124129.822 Message from 203.0.113.0 is missing header. Message ignored. 4142:20200514:124144.058 Message from 203.0.113.0 is missing header. Message ignored. 4142:20200514:124159.098 Message from 203.0.113.0 is missing header. Message ignored. 4142:20200514:124214.140 Message from 203.0.113.0 is missing header. Message ignored.
■Zabbixエージェントのインストール(CentOS6で確認したもの / 監視される側のサーバ) linuxにおけるホスト名の確認と変更 http://d.hatena.ne.jp/atree/20090420/1240308590 統合監視ツール「Zabbix」によるサーバー監視 http://knowledge.sakura.ad.jp/tech/585/2/ ホストの設定 https://www.zabbix.com/documentation/2.2/jp/manual/config/hosts/host 設定しようとしているホスト上でZabbixエージェントが動作している場合、 エージェントの 設定ファイルのパラメータ[Hostname]が、 ここで入力したホスト名と同じ値でなければなりません。
# hostname … サーバのホスト名を確認する方法 refirio.net # yum --enablerepo=epel install zabbix-agent … Zabbixエージェントのインストール # vi /etc/zabbix/zabbix_agentd.conf … Zabbixエージェントの設定ファイルを編集
# Server= Server=203.0.113.0 … 監視元(Zabbixサーバをインストールしたサーバ)のIPアドレス # Hostname= Hostname=refirio.net … 監視対象(Zabbixエージェントをインストールしたサーバ)のホスト名 # ListenIP=0.0.0.0 ListenIP=203.0.113.0 … 監視対象(Zabbixエージェントをインストールしたサーバ)のIPアドレスだが、設定しなくても動く
# vi /etc/sysconfig/iptables … ファイヤーウォールを設定(10050ポートを開ける / iptablesを使用している場合の設定)
#Zabbixを許可 -A MY-FIREWALL -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT
# service iptables restart … ファイヤーウォールを再起動 # service zabbix-agent start … Zabbixエージェント起動 # chkconfig zabbix-agent on … Zabbixの自動起動を設定
インストールが完了したら、Zabbixの管理画面で監視対象ホストを登録する ■監視設定 ※「設定 → ホスト → ホストの作成」から、監視したい対象を登録できる ※似たような監視を行う場合、「設定 → ホスト」から設定をエクスポートし、 設定を編集して「設定 → ホスト → ホストのインポート」からインポートするといい ホストの設定 名前:refirio.net グループ:Linux servers, Zabbix servers IPアドレス:203.0.113.0 リンクしているテンプレート:Template_Linux 統合監視ツール「Zabbix」によるサーバー監視 http://knowledge.sakura.ad.jp/tech/585/3/ ■監視設定例 ※「設定 → ホスト → グラフ」から、監視したい内容を登録できる ※「設定 → スクリーン」から、一括で監視したいグラフを登録できる Load Average ノーマル Processor load 濃い赤 Processor load5 赤 Processor load15 薄い赤 CPU Utilization 積算グラフ CPU system time 赤 CPU iowait time 黒 CPU user time 黄 CPU idle time 緑 Memory 積算グラフ Cached memory 赤 Buffers memory 黄 Free memory 緑 Disk Space 積算グラフ Used disk space on / 赤 Free disk space on / 緑 Traffic ノーマル Outgoing traffic on interface eth0 青 Incoming traffic on interface eth0 赤 ■グラフを作成せずに既存のグラフで監視 概要 → セルをクリック → そこからグラフを確認できる ■グラフのフォント文字化け対策 ※文字化けが直った代わりに、グラフに時間が表示されなくなったので未解決 https://blog.isao.co.jp/zabbix_graph/ こちらは試していないので試す
# yum search ipafont … フォントを検索 # yum install ipa-pgothic-fonts … ゴシック可変幅フォントをインストール # ls /usr/share/fonts/ipa-pgothic/ … インストールされたフォントを確認 ipagp.ttf # vi /usr/share/zabbix/include/defines.inc.php … Zabbixの設定ファイルを編集
//define('ZBX_FONTPATH', '/usr/share/fonts/dejavu'); // where to search for font (GD > 2.0.18) define('ZBX_FONTPATH', '/usr/share/fonts/ipa-pgothic'); // where to search for font (GD > 2.0.18) //define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans'); // font file name define('ZBX_GRAPH_FONT_NAME', 'ipagp'); // font file name
… グラフ用のフォントを変更
Zabbix2の場合
# cd /usr/share/zabbix/fonts/ … Zabbix用のフォントディレクトリへ移動 # ln -s /usr/share/fonts/ipa-pgothic/ipagp.ttf ipagp.ttf … インストールしたフォントへシンボリックリンクを張る # vi /usr/share/zabbix/include/defines.inc.php … Zabbixの設定ファイルを編集
//define('ZBX_GRAPH_FONT_NAME', 'graphfont'); // font file name define('ZBX_GRAPH_FONT_NAME', 'ipagp'); // font file name … グラフ用のフォントを変更
Zabbixグラフの日本語文字化けを直す方法(2.0.5) http://www.checksite.jp/zabbix-japanese-graph/ ■Zabbix API APIを使う場合、Zabbix1.8の場合は 「Zabbix管理画面 → 管理 → ユーザ」 から「APIアクセス」を有効にする Zabbix3ではこの項目は無くなっているが、特に何も設定しなくてもAPIアクセスができるみたい この設定とは別に、ZabbixにはIP制限をかけて運用することが多いと思われる 「何故かAPIにアクセスできない」という場合、そういったアクセス制限も確認する PHP 5分でわかる! Zabbix API の使い方(ホスト一覧の取得) | あぱーブログ https://blog.apar.jp/zabbix/3055/ Host [Zabbix Documentation 1.8] https://www.zabbix.com/documentation/1.8/api/host

Advertisement