0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Zabbix_Webシナリオの使い方(web_apiの利用方法とHTTPSで確認すべき内容)

Posted at

概要

curlのような単純なWebチェックで、Zabbixにリクエストを投げて確認するときに気をつける注意事項。

ZabbixWeb画面での設定方法

テンプレートでは、以下のように設定する。
image.png

  • Webシナリオと書いてある所をクリック

シナリオの所では、

  • 名前
  • 監視間隔
  • 試行回数

を決定する。エージェントやHTTPプロキシは、必要であれば設定する。
image.png

次に、隣のタブのステップを編集する。
追加を押して実行内容を記載する。

image.png

今回は、以下の内容に基づいて設定する。

  • 名前
  • 任意
  • URL
    • https:/{HOST.IP}/zabbix/api_jsonrpc.php
    • HOST.IPは、今回このホスト自身のインターフェースにZabbixに入るためこの値に設定している。
  • POSTデータ
    • 今回はRAWデータにして、その中に{"jsonrpc":"2.0","method":"apiinfo.version","params":{},"id":1}を追加する。

ヘッダー

  • 名前:Content-Type
  • 値:application/json-rpc
  • 要求ステータスコード
    • 200

リクエストの文字列を想定するのであれば、要求文字列も記載する。

image.png

また、必要であれば認証を追加する。例えば、HTTPSでの認証を行っているのであれば、

  • SSLピア検証
  • SSLホスト検証

にチェックを入れる。

curl -k ~~~というような証明書を無視して続行する想定であればチェックをつけない事を推奨する。

APIリクエストを受けるサーバー側での確認項目

APIリクエストを受け付ける際、実際に応答できる設定になっているか否かを確認する必要がある。
今回は、zabbixサーバのAPIを利用するという前提で進める。
まず、httpdのクライアント証明書の制限箇所を確認する。

 cat /etc/httpd/conf.d/zabbix.conf

SSLCACertificateFile
などで鍵の設定を行っていた場合、Server側ではクライアント認証で制限をしている。
クライアント認証を無効化するには、以下の記述が記載されているはずである。

SSLVerifyClient none

特定のホストからのクライアント認証を無効化したい場合は、以下のような記述を記載する。
これは、10.2.0.0/16からのリクエストであれば、SSLクライアント認証を無効化するという事である。

        <If "%{REMOTE_ADDR} =~ /^10\.2\./">
                SSLVerifyClient none
        </If>

127.0.0.1を許可するのであれば、以下のとおりである。

        <If "%{REMOTE_ADDR} =~ /^127\.0\.0\.1/">
                SSLVerifyClient none
        </If>

終わったら、httpdを再起動させる。

sudo systemctl restart httpd
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?