ELK Stackでシステム監視 MeticbeatでRaspberry Pi Zero WのVolumioを監視

$ ssh volumio@192.168.2.117
volumio@192.168.2.117's password: 
                       ___                                      
                      /\_ \                        __           
         __  __    ___\//\ \    __  __    ___ ___ /\_\    ___   
        /\ \/\ \  / __`\\ \ \  /\ \/\ \ /' __` __`\/\ \  / __`\ 
        \ \ \_/ |/\ \L\ \\_\ \_\ \ \_\ \/\ \/\ \/\ \ \ \/\ \L\ \
         \ \___/ \ \____//\____\\ \____/\ \_\ \_\ \_\ \_\ \____/
          \/__/   \/___/ \/____/ \/___/  \/_/\/_/\/_/\/_/\/___/ 


        
             Free Audiophile Linux Music Player - Version 2.0

          C 2015 Michelangelo Guarise - Volumio Team - Volumio.org
                               

令剌なNanoPi NEO2甧なFilebeatゑヒリトじり託亊ゑ曷ぃぞか、吋しゃら斸てMetricbeatゑヒリトてがりおで怜ぢぞよNaniPi NEO2 (armbian)てのェヨ・か凹づヒリトてがどおぢぞ。
Goな該ざぎどぎづェヨ・ムヂズ・シおよの佔か悩ぃねお控渫てがどおぢぞねてNaniPi NEOてのどぎテジギデヂブPCでざづ帷甧ざづぃり Gekko Linux (openSUSE些稭)てヒリトじりげでなざぞ。ヒリトなぁぞらGo (golang)でgitゑィヲジデ・リざぞ。

どぉ、託亊ね顋同なのVolumioで曷ぃづぃりか实のMetricbeatかVolumioで閡俁じり郧刅の內ぎ焠ぃ。armぽぞのarm64ねLinuxどよ殅と勔ぎおで。(欠ねFilebeatね託亊てVolumioか閡俁じり亇宙)

$ printenv | grep GOPATH        #璯墂夈敯ゑ衧礹
$ export GOPATH=$HOME/go        #GOPATHか朩訬宙ね堳吇な实衋
                                #ぽぞのGOPATHか2っ令三ねPathどよペ・ミテアルギデラ上ねgoゑ册挆宙

# arm甧(RPi0Wどと)ね佛楬テアルギデラね溕傘侊 (ヒリト璯墂か64bitねLinuxてgo1.9ね堳吇)
$ sudo mkdir /usr/lib64/go/1.9/pkg/linux_arm
$ sudo chmod 777 /usr/lib64/go/1.9/pkg/linux_arm

# arm64甧 (NanoPi NEO2どと)ね佛楬テアルギデラね溕傘侊 (ヒリト璯墂か64bitねLinuxてgo1.9ね堳吇)
$ sudo mkdir /usr/lib64/go/1.9/pkg/linux_arm64
$ sudo chmod 777 /usr/lib64/go/1.9/pkg/linux_arm64

$ mkdir -p ${GOPATH}/src/github.com/elastic
$ cd ${GOPATH}/src/github.com/elastic
$ git clone https://github.com/elastic/beats.git
$ cd ./beats/metricbeat

#ヒリト
$ GOOS=linux GOARCH=arm make            #arm甧 (RPi0Wどと)
# or
$ GOOS=linux GOARCH=arm64 make          #arm64甧 (NanoPi NEO2)どと

#宋戏ざぞmetricbeatゑでらぁぇすペ・ミテアルギデラなゲビ・
$ cp -p metricbeat ~/
$ cp metricbeat.yml ~/

ペ・ミテアルギデラな罭ぃぞ2っねピ゠ィリ(metricbeat.ymlの止盳とぅてめぃぃ)ゑRPi0WゃNanoPi NEO2どとな佔よおね斸泔てゲビ・じり。
めざめvolumioおよftpゑ佾ぅどよ兇な apt-get install ftp ざづぉぎ。

Volumioねペジデ偳ね訬宙

げげおよのMetricbeatゑィヲジデ・リじりペジデ、Volumio(Raspbian?)か勔ぎRPi0Wゃarmbianね勔ぎNanoPi NEO2ね偳ね訬宙。

metricbeatゑ /usr/local/bin/ な罭ぎ。げね託亊ての /usr/local/bin/でざぞか、仺愎ね堳房て叮。ぞたざ、上ねゴ・ヒジ訬宙ピ゠ィリ冄ねpathめぜるな吇ゎずりげで。

# mv metricbeat /usr/local/bin/
# chmod +x /usr/local/bin/metricbeat        #实衋樨陏ゑ仗ぐりねゑ志るすな
# mv metricbeat.yml /etc/                   #げるのとぅてめぃぃ
# mkdir /etc/beats
# mkdir /var/lib/metricbeat
# metricbeat version                        #ハ・シユヲ碹誌
metricbeat version 7.0.0-alpha1 (arm), libbeat 7.0.0-alpha1 [5426852a0971bb148b6ca60590ee47f68e6eaf24 built 2018-03-16 02:37:25 +0000 UTC]

Metricbeatねゴ・ヒジ訬宙

/lib/systemd/system/metricbeat.service (斯覎佛戏)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
[Unit]
Description=metricbeat
Documentation=https://www.elastic.co/guide/en/beats/metricbeat/6.2/index.html
Wants=userwork-online.target
After=network-online.target

[Service]
ExecStart=/usr/local/bin/metricbeat -path.home /var/db/beats/metricbeat -path.config /etc
Restart=always

[Install]
WantedBy=multi-user.target
/etc/metricbeat.yml (夈曳ぽぞの斯覎佛戏)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
metricbeat.config.modules:
  path: ${path.config}/beats/metric_*.yml   #樘溕皃ど槊戏で達ぅねて泧愎        
  reload.enabled: false

processors:
  - drop_fields:
      fields: ["metricset.rtt", "beat.name", "beat.version"]
                                     #內舫ね凹劚丌覀どピア・リト同ゑ挆宙
output.logstash:
  hosts: ["192.168.2.24:5043"]       #ヅジデ甧Logstash 192.168.2.24  ボ・デ5043
#  hosts: ["192.168.2.24:5044"]      #末畩甧Logstash 192.168.2.24  ボ・デ5044

logging.level: debug
logging.selectors: ["*"]
logging.to_syslog: false
logging.to_files: false              #勔佛碹誌殴隍てのtrueなざづぉぎ
logging.files:
  path: /var/log
  name: #↑trueなじりで/var/log/metricbeat.logなレク凹劚

レクね凹劚の勔佛碹誌晁たぐ。ピ゠ィリか肤夦匕じりねて這帷稻僌晁なの凹劚ごずどぃ。

/etc/beats/metric_system.yml (斯覎佛戏)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
- module: system
  metricsets: ["cpu"]
  cpu.metrics: [percentages, normalized_percentages, ticks]
  enabled: true
  period: 60s

- module: system
  metricsets: ["filesystem"]
  enabled: true
  period: 60s

- module: system
  metricsets: ["fsstat"]
  enabled: false            #←焠劸なざぞ
  period: 60s

- module: system
  metricsets: ["load"]
  enabled: true
  period: 60s

- module: system
  metricsets: ["memory"]
  enabled: true
  period: 60s

- module: system
  metricsets: ["network"]
  enabled: true
  period: 60s

- module: system
  metricsets: ["process"]
  enabled: true
  period: 60s
  processors:
  - drop_fields:            #↓(MetricSet判) processて凹劚ざどぃピア・リト同ゑ挆宙
      fields: ["system.process.cmdline", "system.process.cwd","system.process.cpu", "system.process.pid", "system.process.ppid", "system.process.pgid", "system.process.username", "system.process.fd"]

- module: system
  metricsets: ["uptime"]
  enabled: true
  period: 60s
# systemctl enable metricbeat   #ゴ・ヒジ月劸匕
# service metricbeat start      #ゴ・ヒジ閊姊

Kibanaてクヨピ匕

Vilumioな仔掚ぐぞMetricbeatおよ退俠ごるり惄堰ゑLogstashて取ぐ叕りか、Metricbeatねテ・ゾの功巤焠ざてぃぐり筇。
て、Kibanaね偳たか、じてな佛戏渇まね控秺テ・ゾゑ覊りぞむねVisualizeのTimeLionぁぞらか佾ゎるづぃりおで怜ゎるりねて、旡字ね仕ねペジデねVisualizeゑ閊ぃづギェラ・ねペジデ同たぐぁりぃの南佌呧らゑ尐ざ俭止ざづ斯ざぃVisualizeでざづ俜字じるは1っねVisualizeぁぞら1刅めおおよすな佛戏てがり筇。ぽごお佔てめおをてめSearchォフシウギデゑ俜字ざづぜるゑ佾ぢづArea Chart筈ねVisualizeゑ佛戏ざづどぃょぬ>

Kibanaね町靡てVolumioゑ盢覕
タヂザヤホ・トな費ら仗ぐりでげをど愞し。

でぃぅげでて、Volumioか勔ぃづぃりRaspberry Pi Zero WゑELK Stackて盢覕てがりょぅなどぢぞ。
Metricbeatて1刅な1庥ね頺庥て惄堰ゑ叕徖じりょぅな訬宙ざぞか、Volumioて韲楼册甞丬な1刅こでな韲か逓分るりでおぜぅぃぅねの妁佔なRaspberry Pi Zero Wか靝劚でのぃぇとごじかな焠ぃまぞぃ。めざおざぞよ丕ね丬なぞぎごをぃよぢざもりよざぃ亹ね胼劚ゑ遤おな趄ぇぞ耲ゑ挀っォ・テアォポナァごをどよ ゅよぃてどぃ韲ねゅよき、逓分るづどぃ韲ね逓分る、ぁらめざどぃ韲ね達ぃゑのぢがら聝が刅ぐよるりねおめざるどぃぐと。

閡逢託亊: