インストール†
rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm
yum -y install yum-utils
yum -y install zabbix-server-mysql zabbix-proxy-mysql zabbix-web-mysql zabbix-agent
yum -y install mariadb mariadb-server
超参考にさせていただきました(ほぼそのまま)
http://qiita.com/atanaka7/items/294a639effdb804cfdaa
yum -y install http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-web-japanese zabbix-agent
yum -y install mariadb-server
/etc/my.cnf.d/server.cnf
[mysqld]
character-set-server = utf8
collation-server = utf8_bin
skip-character-set-client-handshake
innodb_file_per_table
systemctl start mariadb
systemctl enable mariadb
mysql -uroot
create database zabbix;
grant all privileges on zabbix.* to zabbix@localhost identified by 【password】 ;
zcat /usr/share/doc/zabbix-server-mysql-3.*/create.sql.gz | mysql -uroot zabbix
/etc/zabbix/zabbix_server.conf
DBPassword=【password】
/etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Tokyo
systemctl restart zabbix-server
systemctl restart zabbix-agent
systemctl restart httpd
systemctl enable zabbix-server
systemctl enable zabbix-agent
systemctl enable httpd
web install†
http://【ipaddress】/zabbix/
ログイン†
user: Admin
pass: zabbix
右上の人型アイコン
パスワード | ※要変更 |
言語 | 日本語(ja_JP) |
自動ログイン | チェック |
[管理] -> [ユーザーグループ] -> [Guests] -> [有効] チェックをはずす
[管理] -> [ユーザー] -> [Admin] -> [メディア] -> [追加]
送信先の email 設定
メール設定†
postfix / sendmail が起動していること
mail hogehoge@example.com
等でメールが送られることを確認
入ってない場合は
yum -y install mailx
メールサーバの設定†
管理 > メディアタイプ >> Email
SMTPサーバー | 127.0.0.1 |
SMTP helo | 127.0.0.1 |
送信元メールアドレス | zabbix@localhost |
通知先の設定†
管理 > ユーザー >> プルダウンメニューから「ユーザー」 > Admin > メディア
追加
タイプ | Email |
送信先 | adminのメールアドレス |
メール送信のアクションを有効化†
設定 > アクション > 「ユーザグループにメッセージを送信」⇒有効
監視対象ホストの作成†
80番ポートレベルでの監視
設定 > ホスト >> ホストの作成
ホスト名 | 監視ホストのURL |
表示名 | 表示名 |
エージェントのインターフェース | IPアドレスにIP |
テンプレート
「新規テンプレートをリンク」 HTTP
Template App HTTP Serive を選択
test†
対象サーバの httpd を落としてメールが送られるか試す
zabbix server と同一の httpd だと試しているうちに zabbix のコンソールが見えなくなるので、httpd以外が望ましい
トラブルシューティングは「管理」⇒「監査」>プルダウンを「アクション」にしてみてみる
agent監視†
agentを入れたPCから吸い出す設定
/etc/zabbix/zabbix_agentd.conf
Server=【zabbix serer のIP】
WEB監視†
シナリオの設定†
設定⇒ホスト⇒【対象ホスト】
Webシナリオ
シナリオの作成
名前 | サイト名 |
更新間隔 | 3600 |
エージェント | google bot |
アクセス解析等でログを汚したくない場合があるのでエージェントを googlebot 等に設定
ステップタブ
「追加」
名前 | サイト名 |
URL | サイトのURL |
要求文字列 | 正常な時に必ず含まれる文字列 例: title タグなど |
要求ステータスコード | 200 |
トリガ設定†
設定⇒ホスト⇒【対象ホスト】のトリガー
「トリガーの作成」
名前 | サイト名称-コンテンツ監視 |
条件式 | Failed step of scenario xxx / 最新(T秒前/T個前)の値 NOT N |
深刻度 | 重度の障害 |
ログ監視†
agent の設定†
active監視にしないといけない
- 監視したいサーバに zabbix-agent を入れる
- zabbix-server を設定
- 監視対象の 10050 をあけておく
- zabbix サーバの 10051 をあけておく
読みたいログは zabbix ユーザに読めるようパーミッションをあけておく
SELinux とは相性が悪いのでうまく動くまでは切って設定する
アイテムの設定†
[設定] -> [ホスト] -> 対象サーバの[アイテム]
[アイテムの作成]
タイプ | Zabbixエージェント(アクティブ) |
キー | logrt[/var/log/httpd/access_log,500] |
データ型 | ログ |
トリガーの設定†
[設定] -> [ホスト] -> 対象サーバの[トリガー]
[トリガーの作成]
条件式
({【ホスト名】:logrt[/tmp/test.log,ALICE].str("ALICE")}=1)
and
({【ホスト名】:logrt[/tmp/test.log,ALICE].nodata(60)}=0)
アクションの設定†
[設定] -> [アクション]
[アクションの作成]
デフォルトのメッセージ
{{HOSTNAME}:{TRIGGER.KEY}.last(#1)}
{{HOSTNAME}:{TRIGGER.KEY}.last(#2)}
{{HOSTNAME}:{TRIGGER.KEY}.last(#3)}
アクションの実行条件
トリガー名 含まれる 【トリガーの名前】
アクションの実行内容
ユーザーに送信
ユーザーを追加(ユーザはそのホストに対する読み取り権限がないと送られない)
「追加」← これは本当によく忘れる
SeLinux†
yum install policycoreutils-python
grep zabbix_server /var/log/audit/audit.log | audit2allow
grep zabbix_server /var/log/audit/audit.log | audit2allow -M zabbix-limit
systemctl start zabbix-server