FortigateをPrometheusを使い監視する

Prometheusの勉強をしていたところ、SNMP Exporterを使うことによりモニタリングを行うことができるということを知りました。SNMPについては、単語は知ってるけど使ったことがなかったので勉強も兼ねてPrometheusからFortigateの監視を行ってみました。

FortigateのSNMPを設定する

今回使用しているFortigateは、40Cです。上位機種になるとGUIで設定できるらしいのですが、なかったのでCUIで設定しました。 t-solve.blogspot.com を参考に設定を行いました。

 edit "internal1"
        set allowaccess ping https ssh snmp fgfm
FGT40C (sysinfo) # show
config system snmp sysinfo
    set status enable
    set description "会社名を入れる"
    set location "会社の位置を入れる"
end
FGT40C # show system snmp community
config system snmp community
    edit 1
        set name "public"
            config hosts
                edit 1
                    set interface "internal1"
                next
            end
    next
end

Prometheusの設定を行う

今回PrometheusのSNMP Exporterを使用してFortigateから情報をとってきています。PrometheusとSNMP ExporterはDockerで動かしていますので、管理が楽です。以下のようなDocker-Composeを書いてDockerを起動させます。

zero@zero-ThinkCentre ~/D/prometheus> cat docker-compose.yml 
version: '2'
services:
   prometheus:
      build: .
      image: prom/prometheus
      volumes:
         - ~/Documents/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
      ports:
         - "9090:9090"

   snmpexporter:
      image: prom/snmp-exporter
      ports:
         - 9116:9116  
      volumes:
         - ~/Documents/prometheus/snmp.yml:/etc/snmp_exporter/snmp.yml

Dockerが起動して、http://localhost:9090にアクセスできれば監視ができています。

今回Dockerを使ってサクッと監視基盤ができて楽しかったです。SNMP Trapの設定ができていないので、それらを次回設定していきたいです。