Zabbix メモ
先輩が用意してくれたzabbixサーバで
監視するPCにzabbix-agentを導入していろいろしたメモ
基礎的な用語解説
ホスト
監視対象のネットワーク接続されているデバイスで、IP/ DNS をもっているもの
ホストグループ
論理的なホストのまとまりです; ホストグループには、ホストとテンプレートが入ります。1つのホストグループ内のホストとテンプレートは、どのような方法でもお互いにはリンクしません
テンプレート
1つあるいは複数のホストに対して適用されるように用意された、エンティティ(アイテムやトリガー、グラフ、スクリーン、アプリケーション、 下層のディスカバリルールなど)のセットです。
アイテム
ホストから取得する特定の1つのデータで、データの軸です。
トリガー
問題の閾値を定義する論理的な表現で、アイテム内で取得したデータを「評価」するのに使用されます。
取得したデータが閾値を超えた場合、トリガーは「OK」から「障害」状態に変わります。取得したデータが閾値を超えていない場合は、トリガーは「OK」状態のまま、あるいは「OK」に戻ります。
メディア
通知の配信手段です; 配信チャネルでもあります。
アクション
事前に登録されている、イベントに対する反応方法です。
複数の操作で構成される1つのアクション(例:通知の送信)や状態(操作が実行されたときの)
MacOSXにおけるzabbix agent
Install
brewが普通に使える前提
(commandlinetoolsとか、brew自体とかはインストール済み想定)
1 2 |
$brew install --agent-only zabbix |
※インストールしただけでは自動起動しないので注意
※brewをインストール時にcommandlinetoolsは入るのでbrew入れるだけでいいかも
1 2 |
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" |
Setting file
Path
1 2 |
/usr/local/Cellar/zabbix/[version]/etc/zabbix_agentd.conf |
設定項目
- 通信先のzabbixサーバもしくはzabbixプロキシの設定。
- Server= ZabbixサーバのIPもしくはドメイン
- ServerActive= ZabbixサーバのIPもしくはドメイン
- ホスト名。他のホストと被らないように設定する。
- Hostname= zabbixサーバで設定した値に
- リモートでコマンドを実行したい場合(exe停止時にexe実行、など)。
- EnableRemoteCommands=1
- ログ監視を実行したい場合。
- LogRemoteCommands=1
起動時に動くようにする
com.zabbix.zabbix_agentd.plist
を作成して
/System/Library/LaunchDaemons/
以下に配置する
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.zabbix.zabbix_agentd</string> <key>RunAtLoad</key> <true/> <key>KeepAlive</key> <dict> <key>SuccessfulExit</key> <false/> </dict> <key>ProgramArguments</key> <array> <string>/usr/local/sbin/zabbix_agentd</string> <string>-c</string> <string>/usr/local/etc/zabbix_agentd.conf</string> </array> </dict> </plist> |
そこまでできたら以下のコマンドを実行
1 2 |
$ sudo launchctl load /System/Library/LaunchDaemons/com.zabbix.zabbix_agent.plist |
※うまく動かないようならここ
(StandardOutputとからへん)を参考にログ出してみる
上記を実行しても、その場でzabbix_agentが起動するわけではないので
初回は手動で起動する
1 2 |
$ sudo /usr/local/sbin/zabbix_agentd -c /usr/local/etc/zabbix_agentd.conf |
使えるアイテム、使えないアイテム
参考リンク サポートされているアイテム(プラットフォーム別)
様々なプラットフォームで動作するzabbix-agentが公開されていますが、
全てのプラットフォームで、全てのアイテムを利用できるわけではないので注意。
僕の場合はMacOSXでproc.numが動かなくて、ずっと悩んでたら、先輩が
上記のリンクを教えてくれました。
対応していないアイテムを取得しようとするとサーバでは
『unsupported item』みたいなのが出ます。
Windowsにおけるzabbix-agent
MacOSXに比べるとさらっと動いたので、簡単に手順だけ
パスは任意です。
- 公式ページからコンパイル済みwindows用zabbix-agentを落としてくる
C\:zabbix
以下に全て解答- zabbix-agentd.win.confをコピーしてzabbix-agentd.confを作成
- zabbix-agentd.confで任意の設定を行う
C:¥zabbix¥bin¥win64¥zabbix_agentd.exe
を右クリックしてプロパティを開き、「互換製」タブで「管理者としてこのプログラムを実行する」にチェック- コマンドプロンプト(Powershellでも可)で以下のコマンドを実行
C:\zabbix\bin\zabbix-agentd.exe --config C:\zabbix/conf/zabbix-agentd.conf --install
- windowsのローカルサービス一覧にzabbix-agentが登録されていることを確認
登録されていれば開始する