クライアント証明書が必要なWEB監視
クライアント証明書が必要なWebページの監視を行いたいのですが、zabbixのWeb監視機能からではクライアント証明書を指定できないため、
CURLの環境変数にクライアント証明書を指定し、強制的にクライアント証明書を使用させるようにして、うまく監視ができません。
error doing curl_easy_perform: SSL connect error
となってしまいます。
curlコマンドで直接実行すると環境変数を見に行って正しい結果が返ってくるのですが、
zabbixでは環境変数を見に行ってくれないのでしょうか。
PHPファイルのどこかに記述があるのでしょうが、プログラミングに疎く、皆様のご協力をいただけると助かります。
TNK - 投稿数: 4671
curlコマンドを直接呼び出すのではなく、curlコマンドを呼び出す
スクリプトを作成して、そのスクリプトの中で、
1.必要な環境変数をすべて設定する
2.curlコマンドを呼び出す
というような処理を行うようにし、そのスクリプトを呼び出す形に
してみてはいかがでしょうか?
ikemo - 投稿数: 48
TNKさん
通常のWeb監視はWeb監視機能を利用してまして、クライアント証明書が必要なURLに関してもWeb監視機能で一元管理したかったのですが、難しいですね。
貴重な情報提供ありがとうございます。検討させて頂こうと思います。
curlの環境変数でクライアント証明書を登録しておけば、zabbix側のWeb監視機能をそのまま使って監視できるのでは、と思い調査していました。
何か進展ありましたらここに報告しようと思います。
TNK - 投稿数: 4671
ZabbixのWeb監視の機能は、設定はPHPを利用して行いますが、実際
の監視のための呼び出し処理は、C言語で書かれたzabbix_serverプ
ログラムから行われます。
環境変数を参照して動いてくれるかはわかりませんが、ZABBIX-JP
のRPMを利用されている場合、zabbix_serverの起動スクリプト内で
環境変数の設定を行うと、zabbix_serverプロセスから環境変数を
参照できたと思いますので、試しに起動スクリプト内で環境変数の
設定を行ってみてはいかがでしょうか?
ikemo - 投稿数: 48
TNKさん
情報ありがとうございます。
少々調べたのですが、exportでProxy指定するような方法はWeb上に記載あったのですが、環境変数でクライアント証明書を指定するような記述方法が思いつきませんでした。
自分が記述したcurlの環境設定ファイル(.curlrc)はcurlコマンドに対してのものようです。
zabbixではC内でlibcurlを使用している雰囲気なので、やはりCのどこかで記載が必要なのかもしれないですね。
H.Itou - 投稿数: 1
私もクライアント証明書を使用した監視をしたく思考錯誤しています。
ZABBIX FEATURE REQUESTSでクライアント証明書のWeb監視機能追加の要求が挙がってるみたいです。
ZBXNEXT-1563:SSL Client Certificate Support for Webchecks
https://support.zabbix.com/browse/ZBXNEXT-1563