自動登録の設定をしようとした際、サービスが開始されないようになる。

スクリプトでのZabbixAgentのインストールとサービス開始まで出来るようになり、これに自動登録の機能を追加する際にサービスの開始ができなくなりました。
何か疑われる原因があれば、ご教示願います。

Zabbixのバージョン:Zabbix 2.2.10
監視対象のOS:Windows Server 2012 R2 Standard

■どうしたいか
・スクリプトでZabbixAgentインストール、サービス開始、Zabbixサーバへの自動登録を行いたい。

■設定
[confファイル]
LogFile=<指定のlogファイル>
Server=<ZabbixサーバのIPアドレス>
ServerActive=<ZabbixサーバのIPアドレス>
Hostname=<ホスト名>
HostMetadata=touroku
[confファイルの置換コマンド]
LogFile,Server,ServerActive,HostMetadataのコマンド
$conf= $conf.Replace(<置換前の文字列>, <置換後の文字列>)
Hostnameのコマンド
$result = hostname
$conf = $conf.Replace("Hostname=[MOD_HOSTNAME]", "Hostname=$result")

上記以外は変更していません。

■exeファイル実行からサービスの開始までのコマンド
# exe実行
cd
.\zabbix_agentd.exe -i -c

## スタートアップの種類:手動
Get-Service -DisplayName 'Zabbix Agent' | Set-Service -StartupType Manual

# サービス開始
.\zabbix_agentd.exe -s -c

# スタートアップの種類:自動
Set-Service -Name 'Zabbix Agent' -StartupType Automatic

■PowerShellの実行結果
zabbix_agentd.exe [54876]: service [Zabbix Agent] installed successfully
zabbix_agentd.exe [54876]: event source [Zabbix Agent] installed successfully
zabbix_agentd.exe [152240]: service [Zabbix Agent] started successfully

→サービス一覧では"Zabbix Agent"は"自動"で開始されていない状態です。

■Zabbixサーバ側での設定
設定>アクション>自動登録
名前:自動登録

[アクションの実行条件]
ラベル/名前
(A)/ホストメタデータ 含まれる touroku
[実行内容]
詳細
ホストを追加

■疑問に思ったこと
・"Hostname"はexeファイルを実行する時に必要で、"HostnameItem=system.hostname"は自動登録する時に必要だと思っているのですが、両方設定することは可能でしょうか?

・現在、テストしているホストは現在Zabbixサーバに既に登録されており、利用する際はZabbixサービスの削除とフォルダのリネームを行いZabbixサーバ側はホスト名とIPアドレスを変更してテストしています。もしかしてこちらも何か関係ありますでしょうか?

以上、宜しくお願い致します。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー TNK の写真

Windows上のサービス一覧の画面に情報が反映されていないだけな
のですか?
それとも、Zabbixエージェントのプロセスが起動できず、Zabbixエ
ージェントがZabbixサーバーからの要求に応答しないのですか?

サービス一覧の画面に反映されないだけなら、Windows上のサービ
スを起動するために、zabbix_agentd.exeを-sオプションで起動す
るのではなく、net startなりStart-Serviceを使って起動してみて
ください。

■疑問に思ったこと
・"Hostname"はexeファイルを実行する時に必要で、"HostnameItem=system.hostname"は自動登録する時に必要だと思っているのですが、両方設定することは可能でしょうか?

両方設定した場合には、「Hostname」が優先されます。
「Hostname」が設定されていない場合は、「HostnameItem」が使用
されます。

・現在、テストしているホストは現在Zabbixサーバに既に登録されており、利用する際はZabbixサービスの削除とフォルダのリネームを行いZabbixサーバ側はホスト名とIPアドレスを変更してテストしています。もしかしてこちらも何か関係ありますでしょうか?

Zabbixサーバー上から削除されているのであれば、関係ないでしょ
う。
Windows上のサービスが起動するかどうかということなら、なおさ
らZabbixサーバー上の状態は全く関係ありません。

自動登録のアクションが実行されないとかなら、Zabbixサーバーの
ログを確認してください。

ユーザー ppp の写真

TNK様

回答ありがとうございます。

>Windows上のサービス一覧の画面に情報が反映されていないだけなのですか?
>それとも、Zabbixエージェントのプロセスが起動できず、
>ZabbixエージェントがZabbixサーバーからの要求に応答しないのですか?

Zabbixエージェントのサービス起動が出来ず、そのためZabbixサーバも反応していないような状態です。
試しに「Start-Service –Name 'Zabbix Agent' –PassThru」や「net start "Zabbix Agent"」のコマンドを使用してみたり、手動で開始しようとしたのですがどちらも反応がありません。

>両方設定した場合には、「Hostname」が優先されます。
>「Hostname」が設定されていない場合は、「HostnameItem」が使用されます。
では、自動登録をする際は「Hostname」と「HostnameItem」の両方の設定をした方がよろしいみたいですね…。

>Zabbixサーバー上から削除されているのであれば、関係ないでしょう。
>Windows上のサービスが起動するかどうかということなら、なおさ
>らZabbixサーバー上の状態は全く関係ありません。
承知しました、使用するホストに関してはこのままで作業しようと思います。

ユーザー TNK の写真

Zabbixエージェントのサービス起動が出来ず、そのためZabbixサーバも反応していないような状態です。

一度、zabbix_agentd.exeをコマンドプロンプト上で-cで設定ファ
イルを引数で指定して起動を試みてください。

設定ファイルのフォーマットエラーなどがあれば、そこでエラーが
表示されるはずです。

では、自動登録をする際は「Hostname」と「HostnameItem」の両方の設定をした方がよろしいみたいですね…。

両方設定するのは無駄です。
どちらか設定するだけで十分です。

ユーザー ppp の写真

TNK様

コメントありがとうございます。

>一度、zabbix_agentd.exeをコマンドプロンプト上で-cで設定ファ
>イルを引数で指定して起動を試みてください。
.\zabbix_agentd.exe -s -c でやってみましたが、
「zabbix_agentd.exe [7612]: service [Zabbix Agent] started successfully」と出力されるものの
サービス一覧上では開始になりませんでした。
全体を洗ってみた結果、Logファイルの引数ミスでした。修正したらそのままのコマンドで開始できました。

>両方設定するのは無駄です。
>どちらか設定するだけで十分です。
confファイルのhostname= を無記名のままエージェントをインストールしようとすると、
「zabbix_agentd.exe [55240]: ERROR: invalid "Hostname" configuration parameter: ''」
というエラーが発生しました。
何度か試した結果、HostnameItem を使わなくても自動登録できました。

ユーザー TNK の写真

.\zabbix_agentd.exe -s -c でやってみましたが、

-sオプションが余計です。

設定ファイルの設定に誤りがあったりファイルのフォーマットに
問題があった場合は、-cオプションだけで起動するとエラーが表
示されたはずです。

ユーザー ppp の写真

TNK様

.\zabbix_agentd.exe -c

で実行してみたところ、以下の文が出力されました。
--------------------------------------------------------------------------------------------------------------------
zabbix_agentd.exe [26120]: service [Zabbix Agent] installed successfully
zabbix_agentd.exe [26120]: event source [Zabbix Agent] installed successfully
zabbix_agentd.exe [888]:

!!!ATTENTION!!! Zabbix Agent started as a console application. !!!ATTENTION!!!
--------------------------------------------------------------------------------------------------------------------

「-s」はスタート指示のオプションコマンドの事だと思いますので、現行-sは付けたままのスクリプトを使用しようと思います。

ユーザー TNK の写真

すでに起動されている状態で再度実行することは必要ありません。
起動できるようになったのであれば、改めて実行しなおす必要もあ
りません。

起動できない時、設定ファイルに誤りがないか確認するときのチェ
ック方法を示しただけです。