使用snmp_exporter採集 netscaler設備指標

咱們已經將監控系統從 zabbix 替換爲prometheus, 以前經過snmp很方便的採集到網絡設備的指標,改用prometheus後,建議使用 snmp_exporter 來採集數據。html


官網提供的那個snmp_exporter默認的模板,不知足咱們netscaler的監控需求。咱們須要本身改改。git


提醒: 建議非netscaler設備請先用官方模板,若是採集不到數據,再考慮去本身修改。github


具體操做以下:web


參考文檔:vim

https://github.com/prometheus/snmp_exporter/tree/master/generator#file-format網絡

https://github.com/prometheus/snmp_exporter/tree/master/generator#buildingide

https://docs.citrix.com/en-us/netscaler-sd-wan/9-3/standard-mib-support.htmlui



一、準備go語言環境(安裝過程忽略,我這裏gopath在 /home/gocode)code

export GOPATH=/home/gocode/  orm

cd /home/gocode/src/github.com/prometheus

git clone https://github.com/prometheus/snmp_exporter.git


cd snmp_exporter


cd generator/


go build

make mibs


而後,切換到 mibs 目錄下 

cd mibs/

將 https://docs.citrix.com/en-us/netscaler-sd-wan/9-3/standard-mib-support.html 這裏頁面裏面的 N多個MIB文件(都是些txt文件),使用wget 下載到mibs這個目錄下



而後,開始編輯  generator.yml  文件:


vim  generator.yml  修改後,修改後的文件內容以下:


modules:

  ns:

    walk:

      - 1.3.6.1.4.1.5951.4.1

    version: 2

    max_repetitions: 25

    retries: 3

    timeout: 10s

    auth:

      community: genghis



完成後,執行下面的編譯生成 適配的snmp.yml文件



export MIBDIRS=mibs

./generator generate


完成後,就在當前目錄下看到一個 snmp.yml 文件,內容大體這樣的:

image.png


啓動:

./snmp_exporter --config.file="snmp.yml" --web.listen-address=":9988"  而後,自行檢查是否有采集到netscaler的數據



而後,到prometheus裏面,增長相關的target,大體相似這樣:

  - job_name: 'netscaler_1_snmp'

    static_configs:

    - targets:

      - 2.3.4.5

    metrics_path: /snmp

    scrape_interval: 60s

    scrape_timeout: 30s

    params:

      module: [ns]

    relabel_configs:

      - source_labels: [__address__]

        target_label: __param_target

      - source_labels: [__param_target]

        target_label: instance

      - target_label: __address__

        replacement: 1.2.3.4:9988



最終採集到的數據後,咱們到grafana繪圖:

image.png

相關文章
相關標籤/搜索