Zabbixマネージャが既にいて、Linuxエージェント追加の話ね。

やあ、ぼくだよ!
(注:本書は余計な言い回しが多いので不快に思われる方は見ないほうが懸命ですのん)

「新しいLinux仮想サーバ入ったんでシスログ監視いれといてね!わかるっしょ?
VPN接続とアカウントだけ渡すからさ、サクッとね。」

足元見透かされたような無茶振りをさらっと言われたことは無いですか?
なんちゃってSEの僕は、パワハラだ!嫌がらせだ!。。って思う瞬間です。

さあ検証はじめましょう

とりあえず、体調悪い振りして早く帰って自宅で検証予習したよね。
●パブリッククラウドの環境ですが、NW疎通ができるんであればオンプレとか環境差異はございませんの。
●Zabbixマネージャーは既設のものであることご注意ください。(以下マネージャーについてはエージェント登録に関する設定のおはなしです)
●Agentインストールして登録させるよね。自動登録があるのなんかわからない初心者は手動でやったよね。(自動登録できる場合はすっ飛ばせる内容があります)
●監視対象/var/log/messageの重要なエラーを示すキーワードを検知させるよね。(まあ一般的な検知の設定です)

インストール

https://blog.apar.jp/zabbix/139/
⇒参考になりました。

zabbixのyumリポジトリの登録

●コンパイルしろよww とか詳しい方は笑わんとお付き合いください。
以下RPM依存症のワタシがインストールで試行錯誤してうまくできた方法です。(2015/01/23時点ではCentOS上ではうまく言きました。。)

$ rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm
$ yum -y install zabbix-agent

インストールされましたかね。

zabbixのyumリポジトリの無効化

●OS標準リポジトリ以外のパッケージをインストールおよびアップデートしないように、zabbixリポジトリを無効化しておく。

$ vi /etc/yum.repos.d/zabbix.repo

---(下記を変更)---------------------------
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=http://repo.zabbix.com/zabbix/2.0/rhel/6/$basearch/
enabled=1
↓
enabled=0

Agent設定

(参考資料)http://www.sraoss.co.jp/technology/zabbix/introduction/01-firststep.php#8

FW開放

●サーバー側のiptablesの設定です。
 設定してないとか外のFW使っている場合は適宜!

$ iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT

$ service iptables save

$ cat /etc/sysconfig/iptables

$ service iptables restart

Selinux

⇒ここはなーんもいえねー。うちはデフォルトで無効。一応確認してくださいまし。

$ getenforce
 Disabled

設定ファイル修正

$ vi /etc/zabbix/zabbix_agentd.conf

  Server=(Zabbix サーバの IP アドレス)
  Hostname=(Zabbix エージェントのホスト名) ← Zabbix サーバ上の設定と合わせる必要があります
  ServerActive=(Zabbix サーバの IP アドレス)
 AllowRoot=1 ← root権限で実行できるように値を1にして設定する。

 # AllowRoot=0
 ↓↓↓
 AllowRoot=1

自動起動

$ chkconfig zabbix-agent on

$ chkconfig --list zabbix-agent
  zabbix_agentd   0:off   1:off   2:on    3:on    4:on    5:on    6:off

はじめての起動☆

$ /etc/rc.d/init.d/zabbix-agent start


ホスト登録設定

(参考サイト)http://blog.jicoman.info/2014/05/zabbix-agent_install/

●Zabbixポータル http://zabbixサーバーIP/ にアクセスします。
[設定]→[ホスト]をクリックします。
[ホストの作成]をクリックします

   image

●[ホスト]タブを選択し、下図のように入力します。
ホスト名 ・・・ Zabbixエージェントの設定ファイル(zabbix_agentd.conf)のHostnameで設定した名前を指定します
表示名 ・・・ Zabbixサーバで表示用に使われる名称。任意で入力しない場合はホスト名が使われます
グループ ・・・ 所属させるホストグループを指定できます。通常はサービスやロール(役割)ごとにホストグループを作成します
IPアドレス ・・・ Zabbixエージェントが入っているサーバのIPアドレスを指定します。その際、[接続方法]を[IPアドレス]にしてください
   image

※すでに所属グループが存在する場合は、新規グループ作成を実施するとエラーがでました。そんなんで画面のように既存グループから登録してください。
   image

●次に、監視項目のテンプレートを選択します。テンプレートは自作できるので自分が監視したい項目だけを集めることもできます。
[テンプレート]タブを選択し、[新規テンプレートをリンク]で”Template OS Linux”と入力して[追加]をクリックすると、その上の[テンプレートとのリンク]に追加したテンプレートが表示されます。
[保存]をクリックすると、ホストの登録が完了します。
   image

   image

●登録後しばらくして、[エージェントの状態]欄が緑色に表示が変われば、ホストの登録が正常に完了となります。
   image

  
   image

●収集した情報を確認するには、[監視データ]→[最新データ]から先ほど登録したホストを選択すればグラフで確認できます。
   image

⇒初期設定はここで終わりさ!つぎはエレガントにシスログ監視の設定にいくよ!


監視設定

(参考資料)http://qiita.com/k7tak29/items/e6c685efdc97f757cd24
⇒このサイトの人、正規表現のところ感謝です。

●正規表現の作成
管理 -> 一般設定 -> GUIの設定 -> 正規表現 -> 正規表現の作成

  image

名前:ここでは"syslog"にしました。
条件式 :error|warn|fail|fatal|ERROR|WARN|FAIL|FATAL ※任意
条件式の形式 :結果が真
大文字小文字を区別 :いいえ ※この条件だと「いいえ」にしても大文字小文字が区別されないので注意
  image

●テスト文字列へ条件式で設定した文言のうち例として「error」を入力し、テスト条件式をクリックし確認する。
最終結果が真であれば動作OK
  image


アクションの設定

●設定 -> テンプレート -> <任意のテンプレート>アイテム -> アイテムの作成
⇒ここでは"Template OS Linux"テンプレートを選択しています。

  image
  image

名前 :syslog(/var/log/messages)
タイプ :Zabbixエージェント(アクティブ)
キー :log[/var/log/messages,@syslog]
データ型 :ログ
更新間隔(秒) :10 ※任意
ヒストリ保存期間:90 ※任意
  image


トリガーの設定

設定⇒テンプレート⇒"Template OS Linux"欄の"トリガー"
image
image

名前 :syslog(/var/log/messages) on {HOST.NAME}
条件式:({Template OS Linux:log[/var/log/messages,@syslog].iregexp(@syslog)})#0&({Template OS Linux:log[/var/log/messages,@syslog].nodata(300)})=0

image


loggerで検知テスト

$  logger -p local1.error "test"
$  tail -f /var/log/messages

エラーがイベント上にあがりました。

image

まとめ

なんか足早に書きなぐってしまって整理できてないなー。お笑い要素いっこもないのも残念。
またあとで書き足します。。。いらん?
それではさよなら。さよなら。



🌟ちょっとでもあなたの仕事の役に立つページであったなら、ここをクリックしてくれるとまた頑張れるんだ。