色んなサイトからかき集めた情報です。皆様の情報に感謝m(__)m
■ソフトウェア
zabbix2.2.1
apache2.2.15
PHP5.3
■サーバー
zabbixサーバー:192.168.1.X
DBサーバー:192.168.1.Y
監視対象サーバー:192.168.1.Z
■リポジトリ準備
全部 yum で入れるが、なるべく新しいのを入れたいので、zabbix、remi、epel、nginx 公式の repo を使う。
rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
rpm --import http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/RPM-GPG-KEY-EPEL-6
rpm -ivh http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm
■インストール(これで必要なのは全部入る)
・zabbix
yum install --enablerepo=zabbix zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-get
■DB準備
create database zabbix_db;
grant all privileges on zabbix_db.* to zabbix@'192.168.1.%' identified by 'std1528' with grant option;
/usr/share/doc/zabbix-server-mysql-2.2.1/createl 内のdata.sql images.sql schema.sql を実行する。
※schema.sql ⇒ images.sql ⇒ data.sql の順
/etc/zabbix/zabbix_server.confに以下を設定する。
DBHost=192.168.1.Y
DBName=zabbix_db
DBUser=zabbix
DBPassword=XXXXXX
■zabbix-server 起動
service zabbix-server start
chkconfig zabbix-server on
■PHP設定
/etc/php.ini 修正
- ;date.timezone =
+ date.timezone = Asia/Tokyo
- post_max_size = 8M
+ post_max_size = 16M
- max_execution_time = 30
+ max_execution_time = 300
- max_input_time = 60
+ max_input_time = 300
■HttpServer 起動
service httpd start
chkconfig httpd on
■設定画面へ
http://192.168.1.X/zabbix/setup.php
※selinuxを無効にしといたほうがいい。DB接続などが出来ない。
setenforce 0
※恒久的対応
vi /etc/selinux/config
SELINUX=disabled
設定参考:http://tkuchiki.hatenablog.com/entry/2013/05/07/210418
■エージェントインストール
・linux
リポジトリ登録後、YUMでインストール
rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm
yum install zabbix-agent
/etc/zabbix/zabbix_agentd.conf の編集
Server=192.168.1.X
ServerActive=192.168.1.X
ListenIP=192.168.1.Z
Hostname=hogehoge
[パラメーラ説明]
Server=(ZabbixサーバのIPアドレス)
ServerActive=(ZabbixサーバのIPアドレス)
Hostname=(Zabbixエージェントが稼働するホスト名)
ListenPort=(ZabbixエージェントがZabbixサーバからの接続を受け付けるポート)
ListenIP=(ZabbixエージェントがListenするIPアドレス)
サービス起動
service zabbix-agent start
ZabbixサーバからZabbixエージェントに対する通信が出来るように、Zabbixエージェント稼働マシンのiptables設定を行います。
■Mysql 監視方法
次の手順で行った。
1.mysql.sock の存在を確認(/var/lib/mysql/ にあるはず)
# ll /var/lib/mysql/mysql.sock
2./var/lib/zabbix/.my.cnf を作成
# mkdir /var/lib/zabbix
# vi /var/lib/zabbix/.my.cnf
3..my.cnfに次の内容を記述
[client]
host=localhost
user=root
password=scmysql
socket=/var/lib/mysql/mysql.sock
[パラメーラ説明]
・user、password = (監視対象のZABBIXエージェントのもの)
・socket = (確認したmysql.sockのフルパス)
4..my.cnf の所有者、パーミッションを設定 所有者とグループを zabbix に、パーミッションはきつくしてユーザのみ読み込み可能に
# chown zabbix:zabbix /var/lib/zabbix/.my.cnf
# chmod 400 /var/lib/zabbix/.my.cnf
5.MySQL用のUserParametersを追加する
# vi /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
UserParameter=mysql.max_connections,HOME=/var/lib/zabbix mysqladmin variables | grep max_connections | awk '{print $4}'
UserParameter=mysql.threads_connected,HOME=/var/lib/zabbix mysqladmin extended-status|grep Threads_connected|awk '{print $4}'
UserParameter=mysql.threads_created,HOME=/var/lib/zabbix mysqladmin extended-status | grep Threads_created | awk '{print $4;}'
UserParameter=mysql.threads_running,HOME=/var/lib/zabbix mysqladmin extended-status | grep Threads_running | awk '{print $4;}'
UserParameter=mysql.thread_cache_size,HOME=/var/lib/zabbix mysqladmin variables | grep thread_cache_size | awk '{print $4}'
UserParameter=mysql.connections,HOME=/var/lib/zabbix mysqladmin extended-status | grep Connections | awk '{print $4;}'
[パラメーラ説明]
max_connections = (これまでに記録された同時接続数の最大値)
threads_connected = (現在開いている接続の数)
threads_created = (接続を処理するために生成されたスレッド数。起動してから生成されたスレッドの数。この値が大きい場合はthread_cache_sizeの値を大きくした方が良いかも。)
threads_running = (スリープ状態になっていないスレッド数)
thread_cache_size = (スレッドキャッシュでキャッシュされているスレッドの数。)
connections = (コネクション数)
これらを登録後、テンプレートのアイテム追加で、キーを設定してく。
■Tomcat監視方法
Zabbix 2.0 からは、Zabbix Java Gateway という形で JMX監視が組み込まれた。
Zabbix 1.xまではJMX監視を行う際はZapcat などが使われていたようだが、
Zabbix 2.0 からはZabbixで用意されている仕組みだけでJMXを使ったJavaアプリケーションの監視が出来るようになったもよう。
今回は、Zabbix Server と JMX監視を担当する Zabbix Java Gateway を同じマシンで稼働させます。
1.TomcatをリモートからJMXで監視できるように設定する
/usr/local/tomcat/bin/setenv.sh を以下の内容で作成。
#!/bin/sh
export CATALINA_OPTS="-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=18080
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false"
JMXが利用しているRMIでは2つのポートを使用するが、
実行時オプションで [com.sun.management.jmxremote.port] で指定した場合、
もうひとつのポートはランダムに使用される。
そのため、ファイアウォールで制限された環境ではポートをフルで開くなどしない限り、RMIの疎通ができない。
そのため、Tomcatには使用するポートを固定するための措置を行う。
http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.36/bin/extras/
適したバージョンの、catalina-jmx-remote.jar をダウンロード。(zipになってることがあるので、jarへリネーム)
TOMCAT_HOME/lib へ配置。
server.xmlにて、Listenerの登録をして固定ポートを設定。
<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener" rmiRegistryPortPlatform="10001" rmiServerPortPlatform="10002" />
指定したポートのファイアウォールの調整。
Tomcat再起動。
2.Zabbix2でJMXが使えるようにインストールする(Zabbixサーバー側)
# yum install --enablerepo=zabbix zabbix-java-gateway
3.Zabbix Java Gateway の設定を行う
# vi /etc/zabbix/zabbix_java_gateway.conf
LISTEN_IP="192.168.1.X"
LISTEN_PORT=10052
START_POLLERS=2
# service zabbix-java-gateway start
4.Zabbix Server で Zabbix Java Gateway を認識させる
# vi /etc/zabbix/zabbix_server.conf
JavaGateway=192.168.1.X
JavaGatewayPort=10052
StartJavaPollers=2
# service zabbix-server restart
5.Zabbix 画面から、JMXを使ったアイテム設定を行う
設定→ホスト→JMXインターフェイス
IP: 192.168.1.Z
DNS : 空白
接続方法:IPアドレス
ポート:10001
■SNMP監視方法
まだ試してない。。。。
■IPMI監視方法
まだ試してない。。。。
■その他
・グラフの文字化け対応
http://sechiro.hatenablog.com/entry/2013/08/27/Zabbix_2.0_%E3%81%AE%E3%82%B0%E3%83%A9%E3%83%95%E3%81%AE%E6%96%87%E5%AD%97%E5%8C%96%E3%81%91%E3%82%92%E7%9B%B4%E3%81%99%E3%80%81%E3%80%8Calternatives%E3%80%8D%E3%81%A7%E3%81%AE%E6%97%A5%E6%9C%AC
現在使用中のフォント確認
# alternatives --display zabbix-web-font
新フォントインストール
# yum install ipa-pgothic-fonts
使用フォントの切替(最後の数字が大きいほど優先度高)
# alternatives --install /usr/share/zabbix/fonts/graphfont.ttf zabbix-web-font /usr/share/fonts/ipa-pgothic/ipagp.ttf 1000