LoginSignup
1
0

More than 3 years have passed since last update.

Cisco ASAをPrometheus + Grafanaでスループットを可視化したメモ

Last updated at Posted at 2020-06-30

この記事の目的

Cisco Catalystシリーズにおいて、snmp_exporterを利用したスループット計測を行う記事はよく見かけましたが
Cisco ASAシリーズにて、スループット計測を行おうとしたとき、少しだけハマったので備忘録としてメモを残しておきます。

なお、Grafana Labsで提供されているこちらをだいぶ改変させてもらっています。

結論

Grafanaのダッシュボード生成時、Variablesで定義した変数の中に特殊文字(空白やシングルクォート)が入っていると、グラフの描画に失敗します。
正しくデータを抜き出せるように正規表現を頑張る。

環境および前提

  • Prometheus
  • Grafana
  • snmp_exporter

上記のアプリケーションはそれぞれ稼働しているものとします。
Grafanaでダッシュボードを作成する前に、Prometheus(snmp_expoter)で正しく値が取得できているかどうか確認しておきましょう。

また、一部私の環境に特化している箇所があるかもしれませんが、適宜読み替えていただけると助かります。

ダッシュボード作成

Prometheus側の設定

ここではわかりやすいように、Prometheus側の設定(prometheus.yml)で、新しくjob_nameを定義しておきます。
job_name名はsnmp_asaとしました。

Variables

ダッシュボードのVariablesから以下のように定義しましょう。
image.png

具体的には以下のようなパラメータです。

$Host
* General
 * Name: Host
 * Type: Query
* Query Options
 * Query: query_result(sysName{job="snmp_asa"})
 * Regex: .*sysName="(.*?)".*
$Device
* General
 * Name: Device
 * Type: Query
* Query Options
 * Query: query_result(sysName{job="snmp_asa",sysName="$Host"})
 * Regex: .*instance="(.*?)".*
$Interface
* General
 * Name: Interface
 * Type: Query
* Query Options
 * Query: query_result(ifInOctets{job="snmp_asa",instance="$Device"})
 * Regex: .*ifDescr=.*'(.*?)'.*
* Selection Option
    * Multi-value

$Interface変数でインタフェース名の一部分を抜き出してあげる必要があります。
うまくインタフェース名が抜き出せると以下のようになります。
image.png
あとは、この抜き出せたインタフェース名を使い正規表現で抽出したいデータを引っ掛けていきましょう。

ダッシュボード側

Add Panelするか、最初に紹介したこちらのダッシュボードをインポートして、いじっていきましょう。

image.png

Legendはそれぞれ、InとOutを付与してみましょう。

### Input側
irate(ifInOctets{job='snmp_asa',instance='$Device',ifDescr=~'.*$Interface.*'}[5m]) * 8 

### Output側
irate(ifOutOctets{job='snmp_asa',instance='$Device',ifDescr=~'.*$Interface.*'}[5m]) * 8 

また、GeneralタブでTitleを Adaptive Security Appliance $Interface interface のようにしてあげれば以下の図のようになります。

image.png

また、GeneralタブのRepeating機能で複製すれば以下のようになるかと思います。

image.png

1
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
1
0