CentOS7 @
zabbix2.4を試す
2015/11/23 第二回関西ITインフラ勉強会
白石 雅義
自己紹介  白石 雅義
      FB : /masayoshi.shiraishi
twitter : m_46 CTF : monolith
プログラマ以外のITのお仕事やってます。
インフラ、サーバ、zabbix監視・管理
ネットワーク、情報セキュリティ…等
・Drupalコミュニティメンバー
・KOFの運営メンバー
・NSCコアメンバー
・クラウドサーバ管理者若葉の会
・jpug / MyNA メンバー
・大阪ITエンジニア会
   ingressはエンライテンドやってます
あじぇんだ
・zabbixとは?
・基本的な構成
・今回試した構成
・導入方法
・デモ
zabbixとは?
サーバ - エージェント連携で
 様々な監視を行えるラトビアのzabbix社製OSS
死活監視、ログ監視、ポート監視、
web監視、カスタム監視、リソースモニタリング
ESXi、snmp連携、IPMIチェック、
sshチェック、外部チェック等など
基本的な構成
テンプレート
 アイテム + トリガー
    ↓ 条件にヒット
 アクションを実行
  メール発報、外部コマンド実行
  rsh経由でpatliteを鳴らす
今回の構成
・CentOS 7.0
・apache 2.4.6
・PostgreSQL 9.5
・php 5.5
・zabbix 2.4.7
いずれもyum利用で導入
1. firewalldの設定
デフォルトゾーンの設定
# firewall-cmd --set-default-zone=dmz
80番ポート開放
# firewall-cmd --zone=dmz --add-port=80/tcp ̶permanent
PostgreSQL用の6543ポート開放
# firewall-cmd --zone=dmz ̶add-port=6543/tcp
--permanent
zabbix用の10050(エージェント側)/10051(サーバ側)ポート開放
# firewall-cmd --zone=dmz --add-port=10050/tcp --permanent
# firewall-cmd --zone=dmz --add-port=10051/tcp --permanent
2. 各種レポジトリの導入
epel
# yum install epel-release
remi
# rpm -Uvh http://
rpms.famillecollet.com/enterprise/
remi-release-7.rpm
pgdg
# rpm -ivh http://yum.postgresql.org/
9.5/redhat/rhel-7-x86_64/
pgdg-centos95-9.5-2.noarch.rpm
zabbix (agent側はこのレポジトリのみ)
# rpm -ivh http://repo.zabbix.com/
zabbix/2.4/rhel/7/x86_64/zabbix-
release-2.4-1.el7.noarch.rpm
3. Apache 2.4.6 インストール
# yum install httpd httpd-devel
# vi /etc/httpd/conf/httpd.conf
 → 必要に応じて適宜変更
4. PostgreSQL 9.5.x(最新版)インストール
# yum -y ̶disableplugin=priorities
      install postgresql95-server
initdb実行
# su -c '/usr/pgsql-9.5/bin/initdb -D
/var/lib/pgsql/9.5/data' postgres
# vi /var/lib/pgsql/9.5/data/postgresql.conf
チェックポイント周り設定
 checkpoint_completion_target 0.8
 checkpoint_segments     6
 checkpoint_timeout 30min
接続設定系
 listen_addresses     *'
 max_connections      50
 port    6543
# vi /var/lib/pgsql/9.5/data/postgresql.conf
ログ周り設定
 log_destination      stderr
 log_directory    /var/log/pg_log/
 log_filename       postgresql-%d.log
 log_line_prefix    [%m][%p][%u][%d][%h][%e]
 log_rotation_age            1d 
 log_truncate_on_rotation         on
SSD用設定
 random_page_cost          4.0
# vi /var/lib/pgsql/9.5/data/pg_hba.conf
host all all 127.0.0.1/32 trust
host all all 0.0.0.0/0 md5
PostgreSQLの起動
# systemctl enable postgresql-9.5.service
# systemctl start postgresql-9.5.service
psqlコマンドを利用してユーザとDB作成
# su - postgres
$ psql -U postgres -p 6543
create user zabbix SUPERUSER
PASSWORD Hellow_zabbix1123! ;
create database zabbix owner=zabbix;
5. zabbix-serverのインストール
# yum install
zabbix
zabbix-server-pgsql
zabbix-web-pgsql
zabbix-web-japanese
--enablerepo=zabbix, --skip-broken
# cd /usr/share/doc/
zabbix-server-pgsql-2.4.7/create
psql -p 6543 -W -d zabbix -f schema.sql zabbix
psql -p 6543 -W -d zabbix -f images.sql zabbix
psql -p 6543 -W -d zabbix -f data.sql zabbix
# vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=Hellow_zabbix1123!
DBPort=6543
#DBSocket=/var/lib/mysql/mysql.sock
DBSocket=/tmp/.s.PGSQL.6561
ListenPort=10051
# vi /etc/httpd/conf.d/zabbix.conf
# 以下を追加
php_value date.timezone Asia/Tokyo
※ php系のエラーが書き出され続ける事に…。
6. zabbix-agentのインストール
# yum install
zabbix-agent  エージェント本体
zabbix-get   データ送信(pull)
zabbix-sender  データ送信(push)
# vi /etc/zabbix/zabbix_agentd.conf
Server={zabbix_serverのIP}
ServerActive={zabbix-serverIP):10051
Hostname={host名}
 zabbix-serverのGUIに登録する名前
 OSのhostnameと異なっていても問題無し
# vi /etc/zabbix/zabbix_agentd.conf
AllowRoot=1
 root権限での監視を許可
EnableRemoteCommands=1
 リモートからのコマンドを受け付ける
# systemctl enable zabbix-server.service
# systemctl start zabbix-server.service
# systemctl enable zabbix-agent.service
# systemctl start zabbix-agent.service
# systemctl enable httpd.service
# systemctl start httpd.service
サイトアクセス
http://{サーバIP}/zabbix
インストール直後の初期ユーザ情報
 ID : PW Admin : zabbix
デモ画面
・アイテム
・トリガー
・アクション
Linuxのサービス監視用shファイル
#!/bin/sh
# httpd running status checker.
# Return Status: 1 = Runnning
# 0 = not Running
ret=0
service httpd status >/dev/null ¦¦ ret=$?
if [ "$ret" = "0" ]; then
# runnning
echo 1
else
# not runnning
echo 0
fi
カスタム監視
 自作監視shを組み合わせる事で
 監視ツール以上に便利に
使いこなせる様に
ZABBIX-JPフォーラム ¦ ZABBIX-JP
http://www.zabbix.jp/forum
困った事があれば質問を
大体皆同じ所で躓いてます
※ 因みにサイトはCMSのDrupalを採用
他の監視ツール ( mrtg、munin、
cacti )に引けを取らないどころか、
それ以上に柔軟な監視を可能に
テンプレートの独自のノウハウに
 →再利用が容易
運用はセキュアな環境で
・apacheだったらserverToken
とかServerSignatureとか
・PostgreSQLの接続元のアクセス
 制限とか
・phpの設定周りとか
・余分なポートを開放しないとか
もし次回機会があれば次は監視の
設定方法について披露出来ればなぁと
ご清聴ありがとうございました!

Cent7@zabbix2.4を試す