
FortiGateのメトリックとPrometheusおよびGrafana
FortiGateを1つ以上手にしている私たち全員のために, Prometheusでこれらのデバイスのリアルタイムのメトリックを確認したい場合, いくつかの手順で、完全に機能するようになります. 美しいGrafanaダッシュボードで視覚化するメトリック!
数日前に言われたこと, 今年は、メトリクスの収集を強化します, さまざまなソリューションを使用したログとトレース, 今日は何か簡単なことの時です (ほんとですか), FortiGateのメトリクスを使用しているだけです, それらをPrometheusに保存し、Grafanaで表示します, こちらは, 必要 ベース 以前に見たこと.
取得できる情報の種類の例を次に示します, メトリクスは 1 秒, 5 お代わり… この投稿の最後に, これと同じ情報が得られます. データの読み込み, CPUの, 記憶, セッション…
リアルタイムのファイアウォールネットワークインターフェースのステータスと使用状況,
リアルタイムファイアウォールルールの使用, その他多くのこと…
始める, この場合、 FortiGateエクスポーター, Prometheus のメトリクスエクスポーター, この場合、Dockerコンテナの下にすばやくデプロイします. 最初です, FortiGateで、システムの読み取り権限を持つユーザーを作成する必要があります. これを行うには、, FortiGateから「REST API管理者」を作成します’ システムから > 管理者. 「管理者プロファイル」で’ 「super_admin_readonly’ PKIグループなし; [OK]をクリックすると、書き留める必要のあるトークンが表示されます.
はじめましょう, FortiGate Exporterのダウンロード:
cd git clone https://github.com/bluecmd/fortigate_exporter.git CD fortigate_exporter
フォルダ内に「fortigate-key.yaml」ファイルを作成します’ 以下の内容で, FortiGateのIPアドレスを示すために考慮に入れます, 取得したトークン, また、使用していないメトリックについてコメントして、取得しようとしないようにすることができます:
"httpsの://DIRECCION_IP_FORTIGATE": トークン: TOKEN_DEL_ADMIN_READ_ONLYプローブ: 除外する: - Wi-Fi接続 - システム/SDNConnector #- ログ/Fortianalyzer/ステータス #- ログ/Fortianalyzer/キュー - ログ/Fortianalyzer - バーチャルWAN - スイッチ #- スイッチ/マネージドスイッチ - システム/センサー情報
そして、デプロイするコンテナの定義ファイルを作成して終了します, 私たちは「docker-compose.yml’
バージョン: '3'
services:
prometheus_fortigate_exporter:
建てる: ./
ポート:
- 9710:9710
ボリューム:
- ./fortigate-key.yaml:/config/fortigate-key.yaml コマンド: ["-認証ファイル", "/config/fortigate-key.yaml の", "-不安"]
再起動: ネットワークが停止しない限り:
fortigate_exporter_default:
ネットワーク:
fortigate_exporter_default:
運転手: 橋
そしてこれで、私たちはそれを準備しました, これで、コンテナをデプロイするだけで済みます。:
sudo docker compose up -d
コンテナがデプロイされたら, FortiGateに接続し、ポート9710tcpでメトリックを公開します, これは、DockerIPに対してブラウザを開くと確認できます, のようなもの: HTTPの://DIRECCION_IP_DOCKER:9710/メトリクス 問題は, 私たちは今、私たちのプロメテウスに示さなければなりません, このエクスポーターに接続し、そのメトリクスを保存します.
これを行うには、, Prometheusの設定ファイルを編集するとき (nano~/prometheus/prometheus/prometheus.yml) そして、scrape_configsセクションにジョブを追加します:
グローバル: scrape_interval: 5scrape_timeout: 5evaluation_interval: 5scrape_configs: - job_name: 'fortigate_exporter' metrics_path: /試してみましたstatic_configs: - ターゲット: - httpsの://DIRECCION_IP_FORTIGATE #- httpsの://私の他のフォルティゲート:8443 relabel_configs: - source_labels: [__住所__] target_label: __param_target - source_labels: [__param_target] target_label: 例 # https をドロップします:// とポート (指定されている場合) for the 'instance=' label regex: '(?:.+)(?::\/\/)([^:]*).*' - target_label: __address__の交換: 'DIRECCION_IP_DOCKER_FORTIGATE_EXPORTER:9710'
そして、Prometheusがデータをリロードするために, Prometheusの再起動を忘れずに:
sudo docker prometheusを再起動します
これにより、FortiGateメトリックはすでにPrometheusサーバーに保存されています, 私たちが残していたであろうもの, それは美しい部分です. この場合、Grafana からこれらのメトリックを視覚化します. これを行うには、, コミュニティによってすでに開発されたダッシュボードをインポートするだけで十分です (ありがとうございます) 私たちがjiffyで使えるもの. Grafanaから, [ダッシュボードの作成]をクリックします, インポートしたいことを伝え、IDを示します 14011. それで、私たちはそれを準備するでしょう!
いつも通り, お役に立てれば幸いです, そして、それがうまくいき、より良く🤠振る舞いますように, 真実は、私たちが利用できる多くの奇妙なものがあるということです, 私は時間をかけて、少なくとも迅速かつ簡単に実装できるものを置くことを望んでいます. ハグ!