zabbix プロキシ設定
お世話になります。
社内でZabbixを用いたAWS用テンプレート(AWS EC2 by HTTP)の検証を行っております。
公式(https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/cloud/AWS/aws_http?at=refs%2Fheads%2Frelease%2F6.0)よりダウンロードしたテンプレートをZabbix管理コンソール上からインポートしました。
AWS上の必要な設定(IAMポリシー、ユーザー作成)も完了しています。
Zabbix管理コンソール上ではホスト作成、テンプレート設定、マクロ設定が完了しています。
この状態でCloudWatchメトリクスの取得ができると考えていましたが、取得はできずzabbix_server.log上でエラー([ AWS EC2 ] ERROR: Error: cannot get URL: Timeout was reached)が出力されている状態です。
プロキシを経由し、CloudWatchにアクセスする必要があると考えており、設定箇所を探しているのですが一向に見つかりません。
こういった場合の設定箇所、設定値はどうするべきでしょうか?
【構成】
・OS:RHEL8
・Zabbix:6.0.13
shiro.h - 投稿数: 10
自己解決できました。
ありがとうございました。
ridleyi - 投稿数: 12
どうやって解決しましたか?
解決内容を記載いただくと皆さんのナレッジで有益になると思うのですが。
shiro.h - 投稿数: 10
確かにおっしゃる通りですね。
【前提】
・テンプレートのインポート、ホストへの設定済みを前提とします。
・以下の流れでCloudWatchメトリクスを取得する場合の設定です。
社内zabbixサーバ→社内プロキシ→インターネット→CloudWatch
【設定手順】
1.Zabbix管理コンソールログイン
2.以下手順で設定する。
設定>ホスト>”ホスト名”>マクロ>継承したマクロとホストマクロ>
{$AWS.ACCESS.KEY.ID}:XXXXXXXXXXXXXXX(CloudWatchアクセスの権限を有したIAMユーザーのアクセスキー)
{$AWS.EC2.INSTANCE.ID}:id-xxxxxxxxxxxxxxxx(監視対象のEC2インスタンスID)
{$AWS.PROXY}:社内プロキシ(社内プロキシのFQDNまたはIPアドレス+ポート番号。 例)aaa.bbb.co.jp:8080とか10.0.20.30:8080とか)
{$AWS.REGION}:ap-northeast-1(監視対象のEC2インスタンスが配置されているリージョン)
{$AWS.SECRET.ACCESS.KEY}:(CloudWatchアクセスの権限を有したIAMユーザーのシークレットアクセスキー)
3.上記値入力後、更新をクリック
4.数分後、メトリクスを収集し始める。
【回想】
今回は、「{$AWS.PROXY}」の存在に気付かず試行錯誤していたところ、偶然「{$AWS.PROXY}」を発見し設定したところうまく取得ができました。(ドキュメントよく読んでなかった。。)
また、おそらくOSにDNS(resolv.comf)を設定している状態であれば{$AWS.PROXY}をDNS名にしても名前解決してくれるのかなぁと思います。私はDNS名でうまくいってます。
以上、共有でした。