Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
11
Help us understand the problem. What is going on with this article?
@wapa5pow

Mac開発環境も無料で監視出来る!MacにZabbix 3.2をインストールしてOSとMySQLを監視

More than 3 years have passed since last update.

image

zabbixを実践投入しようかなと思ってまして、 ローカルでいろいろ試したいので、Macに入れてみました。
homebrewでいれようと思ったのですが、インストールはできるのですが、zabbix_serverが起動しないので、ソースから入れています。

環境

  • OS X EI Captian (10.11.6)
  • Zabbix 3.2.1
  • MySQL 5.6.31-log (homebrewでインストール)
  • PHP 5.5.38 (homebrewでインストール): zabbixのUI用. 特にこのバージョンでなくても動くと思います。

Macの設定

デフォルトのまま、Zabbixサーバを起動すると、shared memoryが足りないと言われるので以下の設定をして、Macを再起動します。

sudo vi /etc/sysctl.conf  # 以下のように設定する
kern.sysv.shmall=2097152
kern.sysv.shmmax=134217728

Zabbixインストール

まず、DownloadからZabbixのソースを任意の位置にダウンロードします.

image

各種必要なパッケージがあれば、インストールしておきます。自分は以下が必要でしたが環境によるかなと思うので、のちほど実行する、 ./configureが がこけたら適宜エラーをみて、実行してください。

brew install libxml2
brew install gnutls

ソースの解凍先のディレクトリで、configureを実行し、エラーがなければmake installします。なお、 --with-gnutls はPSKでクライアント認証をするためです。

./configure --enable-server --enable-agent --with-mysql=/usr/local/bin/mysql_config --with-net-snmp --with-libcurl --with-gnutls
make install

すると以下の位置に各種インストールされます

/usr/local/sbin/zabbix_*  # Zabbixのagentとserverの実行スクリプト
/usr/local/share/zabbix/externalscripts
/usr/local/share/zabbix/alertscripts  # アラート用スクリプト. 
/usr/local/etc/zabbix_*  # 設定ファイル

なおログファイルはデフォルトで/tmp以下にできます。

データベースの設定

1 Database creation scriptsに書いてあるように、データベースのスキーマを作成します。

ソースを解凍したディレクトリ以下で以下のコマンドを実行します。なお、MySQLのパスワードは各自変えてください。

cd database/mysql
mysql -uroot zabbix < schema.sql
mysql -uroot zabbix < images.sql
mysql -uroot zabbix < data.sql

Zabbixの設定

Zabbix Agentの設定

/usr/local/etc/zabbix_agentd.conf の以下の部分のみを変更します。

Include=/usr/local/etc/zabbix_agentd.conf.d/*.conf

Zabbix Serverの設定

/usr/local/etc/zabbix_server.conf の以下の部分のみを変更します。
なお、データベースのユーザ名が違ったり、パスワードがある方は適宜変更してください。

DBUser=root
Include=/usr/local/etc/zabbix_server.conf.d/*.conf

起動して確認

ここまでで動くはずなので以下のように、まずフォアグラウンドで起動する

zabbix_agentd -f 
zabbix_server -f 

/tmp 以下にあるログを見ながら正しく動いているか確認する.

Zabbix Web UIの設定

ZabbixのWeb UIは別途、PHPのフロントエンドを動かして確認する。
PHPの設定をしてから、PHPのビルドインサーバで動かす。

PHPの設定

/usr/local/etc/php/5.5/php.ini の以下の部分のみを変更します。PHPのバージョンが違う場合は、5.5の部分を変更してください。

date.timezone = "Asia/Tokyo"
post_max_size = 16M
default_socket_timeout = 300
max_input_time = 300
max_execution_time = 300

Web UIの起動

解凍したソース以下に移動し、以下のコマンドを実行します。ポートは8001としてますが好きなのを使ってください。

cd frontends/php/ 
php -S localhost:8001 

起動後、ブラウザで、http://localhost:8001にアクセスすると、設定画面が現れるので、設定します。
設定すると、frontends/php/conf/zabbix.conf.phpというファイルができています。
ログイン時の最初のパスワードはadmin/zabbixです。

グラフの日本語の文字化けを修正する

Web UIで日本語に設定した際に、グラフの日本語部分が文字化けするので修正します。
IPAフォント ダウンロードページから、「IPAゴシック(Ver.003.03)」をダウンロ度して、解凍されたソース以下の frontends/php/fonts/ipag.ttf にコピーします。

その後、設定ファイル frontends/php/include/defines.inc.php で、フォントの変更を以下のようにします。
再度、 php -S localhost:8001 の起動をし直すと、日本語が正しく表示されています。

define('ZBX_GRAPH_FONT_NAME',       'ipag'); // font file name
define('ZBX_FONT_NAME', 'ipag');

Mac起動時に常に起動されるように設定する。

launchdの設定で、常に起動時に、起動されるようにします。今回はLington Xで設定したのでそのスクショをのせておきます。
再起動して、正しく起動し、http://localhost:8001にアクセスした際にZabbixのWeb UIが表示されていたら正しく設定できています。

Agent

image

image

Server

image

image

Web UI

image

image

WorkingDirectoryは解凍先以下のfrontends/phpに設定する。

MySQL Templateの設定

Zabbixにはデフォルトで以下のようなMySQLのテンプレートが設定されているので試しに設定してみます。

image

設定ファイルの作成

/usr/local/etc/zabbix_agentd.conf.d/userparameter_mysql.conf を作成し、以下のように設定します。

UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/usr/local/var/lib/zabbix mysql -N | awk '{print $$2}'
UserParameter=mysql.size[*],bash -c 'echo "select sum($(case "$3" in both|"") echo "data_length+index_length";; data|index) echo "$3_length";; free) echo "data_free";; esac)) from information_schema.tables$([[ "$1" = "all" || ! "$1" ]] || echo " where table_schema=\"$1\"")$([[ "$2" = "all" || ! "$2" ]] || echo "and table_name=\"$2\"");" | HOME=/usr/local/var/lib/zabbix -N'
UserParameter=mysql.ping,HOME=/usr/local/var/lib/zabbix mysqladmin ping | grep -c alive
UserParameter=mysql.version,mysql -V

つぎに、 /usr/local/var/lib/zabbix/.my.cnf を作成し、上記のuserparameterで使用するmysqlの設定を記載します。
適宜、アカウント、パスワードは読み替えてください。

[client]
user=root
password=

以下のように値が取れています。

image

image

参考

  • ログレベルを変更したいときはagent, serverともに、DebugLevelの設定値を変更する
11
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
wapa5pow
サーバサイドのエンジニアです。 機械学習とかも興味あります。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
11
Help us understand the problem. What is going on with this article?