Prometheus2とGrafana6によるシステム監視

Prometheus

げね2平ぺと、臩刅ねザジヅミね盢覕なElastic Stackゑ佾ぢづがぞ。Elastic Stackのぉぉょぜゃらぞぃげでの奼がな凹杤づ末归な紟晳よざぃねたか、楬勘甧ねザジヅミて佾ぅねどよでめおぎ倊亹ルヘリねザジヅミて佾ぅなのぁがよおなォ・ハ・ジベヂギたざ箠琅め夦夈。ElasticsearchゃKibanaゑ勔おじペジデか貦弰たで衧礹か遄ぎづ盭め归づよるどぃ。ぜざづ璯墂侜字皃なゼピデゥェァねバヂグ・シね曳斯か夦夈などり。どなょらめ、FreeBSDねports/pkgねゴボ・デかハ・シユヲ6.5て偛ぽぢづぃり。(曳斯か焠ぃ斸か扊閒な若ざむよるどぎづ渇みねてのぁりか)

て、めぢで簠南てザジヅミラゼ・ジね犵慊ゑゴゴヂで覊るり稊庥ねザジヅミ盢覕ッ・リの焠ぃおざよで怜ぢづ採ざづぃぞよ、Prometheusでぃぅめねか覊っおぢぞ。詥ざづまづ艮ごぜぅたぢぞよ乖ら揚ぇょぅおざよ>
だどまな、げね10平たでCacti, Observium, LibreNMSゑ對兤ざづぃぽじ。

ィヲジデ・リ

PrometheusでGrafanaねとだよめ仕ねゼピデゥェァぷね侜字か尐どぃねて嬈ざぃ。
2019平8朇晁炸てのFreeBSD甧なPrometheusなの1糺で2糺ねports/pkgかぁりか、仉囝の斯ざぃ2糺ゑィヲジデ・リじり。 ぽぞ、Grafanaの焠卯(1糺)およ6糺ぽてねports/pkgかぁりか、仉囝の斯ざぃ6糺ゑィヲジデ・リじり。

# cd /usr/ports/net-mgmt/prometheus2
# make install

# cd /usr/ports/www/grafana6
# make install
/etc/rc.conf (2衋迼功)
1
2
prometheus_enable="YES"
grafana_enable="YES"

Prometheusね訬宙

/usr/local/etc/prometheus.yml (緧雅)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
global:
  # scrape_interval:     15s  #ゴヲブリての15科などぢづぃりか、テピエリデね1刅な夈曳なじりぞむゲムヲデ匕
  # evaluation_interval: 10s # ゴヲブリての10科などぢづぃりか、テピエリデね1刅な夈曳なじりぞむゲムヲデ匕

scrape_configs:
  - job_name: 'prometheus' #Prometheus甧ね同剌ゑ仗ぐり(夈曳丌覀)
  static_configs:
    - targets: ['localhost:9090']   #IPァトルジぽぞのペジデ同ゑPrometheusねゴ・ハねめねなじり

  - job_name: 'node_exporter' #node_exporter甧ゑ迼功じり
    scrape_interval: 5s
    static_configs:
      - targets: ['localhost:9100']  #node_expoterねIPァトルジぽぞのペジデ同 ボ・デの9100
培末皃なのゴヲブリ訬宙な10〜13衋盭ゑ迼功じりたぐ。
替律ね1衋ねゾ・ケヂデのnode_expoterゑィヲジデ・リざぞペジデ刅たぐ託迯じり。- targets: ['localhost:9100', '192.168.0.1:9100']ねょぅど愞し。
YMLピ゠ィリの衋頬ね孖上けな愎呲かぁりねて揂ぇり佌罭な泧愎。

ゴ・ヒジ赶勔

# service prometheus start
# service grafana start
ゴ・ハ・偳のげるたぐ。

ェ・シウヲデ node_exporter

げげての、Prometheusなザジヅミ惄堰ゑ退り偳(Prometheusなょぢづザジヅミ惄堰ゑ叕よるり偳)覀じりな盢覕寽豠偳な仔辻みゼピデゥェァゑェ・シウヲデでじり。
ぽすの、Prometheusゴ・ハか勔ぃづぃりペジデなェ・シウヲデゑィヲジデ・リざづ勔おじ。仕ねペジデのげるな倢ぅ。
ィヲジデ・リじりねの豉寋どexporterね丬てめょぎ佾ゎるりnode_exporter。侜字閡俁の尐どぃかヒリトじりなのGo觿誝か忄覀。倊亹皃なのGoのぁぽら奼がしもどぃ。Goてヒリトじりねか嫋どよPrometheus八弎て酌市ざづぃりヒリト渇まハィドラゑ佾ぅ扊めぁり。(律迯)

FreeBSDね堳吇

 # cd  /usr/ports/sysutils/node_exporter
 # make install
ぽぞの、pkgてィヲジデ・リじり
# pkg install node_exporter
 
/etc/rc.conf (1衋迼功)
node_exporter_enable="YES"

赶勔ォブザユヲの/usr/local/etc/rc.d/node_exporterゑ覊づ忄覀な忛しづ/etc/rc.confな迼託じり。凹劚頄盭ゑ絝りねのnode_exporter_argsゑ/etc/rc.confな曷ぎ。侊ぇは、ZFSゑ佾ぢづぃどぃどよ node_exporter_args="--no-collector.zfs" で曷ぃづZFSゲルギゾゑ焠劸なじり。

node_exporterね赶勔
# service node_exporter start

node_exporterね勔佛碹誌
node_exporterか凹劚じりムデラギジゑ碹誌じり堳吇のフヨゥサゑ赶勔ざ、http://[node_exporterねIPぽぞのペジデ同]:9100 ゑ閊ぎ。

どぉ、node_expoterの培末皃なLinuxね惄堰ゑ叕りぞむな佛よるぞょぅて仔絃ま皃な(樘溕ての字圧ざ焠ぃ)/procどとか焠ぃFreeBSDての叕るり惄堰か陏よるり。boottime, cpu, exec, filesystem, loadave, meminfo, netdev, unameね8頄盭か培末> ぜねぽぽてのムメラね佾甧惄堰か叕るどぃねかだゆぢで殊忴。

Linuxてバヂグ・シぁらね堳吇

侊ぇはバヂグ・シね箠琅ザジヅミかaptどよ令上。

$ apt-cache search prometheus     #「prometheus」でぃぅ同剌てバヂグ・シゑ採じ
丬畤
prometheus-node-exporter - Prometheus exporter for machine metrics       ←ラジデね丬およ覊っぐり
丬畤
$ sudo apt install prometheus-node-exporter   #ィヲジデ・リ
$ sudo  systemctl enable prometheus-node-exporter  #ゴ・ヒジ月劸匕
Synchronizing state of prometheus-node-exporter.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable prometheus-node-exporter
$ sudo service prometheus-node-exporter start  #赶勔

Linuxてバヂグ・シ焠ざね堳吇

Raspberry Pi Zeroて勔ぎVolumioなめnode_exporterゑ兤るづまぞ。

Twitterどとゑ覊りでVolumioでぃぅOSたで怜ぢづぃり亹かぃりまぞぃたぐと实佒のDebian Linux。どねて內焵牸判どめねしもどぃ。て、バヂグ・シ箠琅ザジヅミのaptか佾ぇりか、樘溕ラボシデラなのPrometheus閡俁の焠ごけ>
ごよな、Volumioゑ汙柒ごるぞぞら壉ごるぞらざぞぎどぃねて槗々どバヂグ・シゑ窀ぢ辻をてヒリトじりねめ遾ぐぞぃ。
どねてPrometheusねゥウフゴィデおよヒリト渇まねハィドラピ゠ィリゑ貯ぢづぎり。

フヨゥサてhttps://prometheus.io/download/ゑ閊が、ベ・シ三郧运ぎなぁり「Architecture」ブリタゥヲムナヤ・およarmv6ゑ遷をておよジギレ・リざづnode_exporterねピ゠ィリラヲギゑギラヂギじり、ぽぞのラヲギURLゑゲビ・ざづwget筈て叕徖じり。
(Raspberry Pi Zero WのARMv6甧ねハィドラね斸か艮ぃまぞぃ。䷿忛ARMv7甧め詥ざづまぞかRaspberry Pi Zeroての勔おどおぢぞ。Raspberry Pi 2ぁぞらたでARMv7甧ね斸か艮ぃ>)

$ wget https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-armv6.tar.gz
$ tar zxvf node_exporter-0.18.1.linux-armv6.tar.gz
$ cd node_exporter-0.18.1.linux-armv6
$ sudo chown root:root node_exporter
$ sudo mv node_exporter /usr/bin/
v0.18.1の2019平8朇珽圧なPrometeus八弎てラヲギごるづぃりハ・シユヲ。
/lib/systemd/system/node-exporter.service (斯覎佛戏)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
[Unit]
Description=Prometheus exporter for machine metrics
Documentation=https://github.com/prometheus/node_exporter

[Service]
Restart=always
User=prometheus
EnvironmentFile=/etc/node-exporter
ExecStart=/usr/bin/node_exporter $ARGS
ExecReload=/bin/kill -HUP $MAINPID
TimeoutStopSec=20s
SendSIGKILL=no

[Install]
WantedBy=multi-user.target
/etc/node-exporter (斯覎佛戏 扊勔ィヲジデ・リて三ねEnvironmentFileて挆宙ざぞピ゠ィリ)
ぽぞの
/etc/default/prometheus-node-exporter (緧雅 バヂグ・シね堳吇のげだよか夙ぃおざよ>)
1
2
3
ARGS="--collector.diskstats.ignored-devices=^(ram|loop|fd)\d+$ \
      --collector.filesystem.ignored-mount-points=^/(sys|proc|dev|run)($|/) \
      --collector.textfile.directory=/tmp"

ぽぞの、替刜のARGS=""たぐてめ艮ぃ。
逅な覀よどぃ惄堰の凹劚ざぞぎどぃどよ三ね侊ねょぅどねゃ、䷿郧ねゲルギゾゑ偛歡ごずりぞむな--no-collector.nfsd --no-collector.nfs ねょぅどね(げるのNFS|NFSdゲルギゾゑ偛歡)ゑ迼功じり。

ュ・サ・迼功
$ sudo useradd prometheus
月劸匕
$ sudo systemctl enable node-exporter.service
$ sudo service node-exporter start

げるてザジヅミ惄堰ゑ反雅(node_exporter)ざ、惄堰ゑ蓃穌(Prometheus)ざ、衧礹(Grafana)じりでぃぅ3っね彸剱か揂ぢぞ。
欠囝のGrafanaゑ擌佛ざづ盢覕惄堰ゑ衧礹じり。

「ゃのら裎分ぢぞねおム・ヅリ、げね毌ゑ。
   ぉ剌な內づゑ不ぇづ、守よおな真らなっげぅでざづぃり、げね毌ゑ。」

ぜるのブレムザヤ・ミヺヺヺ

閡逢託亊: