Linux Install

Android

Linux Tools

Linux AV

Linux Memo

WINDOWS

PROGRAM

動画 Memo

音楽 Memo

モバイルアプリ Memo

FILE FORMAT

PROTOCOL

DEVICE

BookMark

その他


zabbix   

インストール

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
  • zabbix3.0
  • centos7.1

超参考にさせていただきました(ほぼそのまま)

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/
  • mysql のパスワード

ログイン

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 helo127.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監視にしないといけない

  1. 監視したいサーバに zabbix-agent を入れる
  2. zabbix-server を設定
  3. 監視対象の 10050 をあけておく
  4. 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