ELK Stackでシステム監視 collectdで監視対象ホストからデータ収集

ELK Stackねィヲジデ・リね实賩皃ど継が

盢覕寽豠ペジデおよELKジゾヂギね兤ぢづぃり盢覕甧ゴ・ハなテ・ゾゑ退り斸泔でざづのぃれぃれぁりぐと仉囝のェ・シウヲデでざづcollectdゑ佾ぅげでなじり。侜字閡俁ゑ湿ぞじぞむな佘訇ゼピデゥェァゑ夦野なィヲジデ・リごるりねか嫋どねで簠南たおよでぃぅ琅田てcollectdゑ掠甧ざぞぐと、浀衋らどねのbeatsでおおめ。Perlゑィヲジデ・リ渇まどよcollectd、Go觿誝ゑィヲジデ・リ渇まどよbeatsてとぅそ。

collectdねィヲジデ・リ

# cd /usr/ports/net-mgmt/collectd5
# make install clean
ぽぞの
# pkg install net-mgmt/collectd5

ずぢおぎportsてィヲジデ・リじりどよconfigォブザユヲて迼功て欱ざぃ橞胼な閡俁じり頄盭なめダウヂギじり。侊ぇはCURLなダウヂギざづヒリトじりでApacheゃNginxブヨクィヲてァギズジ犵泀ゑ反雅てがりょぅなどり。逅なCURLなダウヂギざどぃてヒリトじりでApache, Nginxブヨクィヲの刨甧てがどぃ。configォブザユヲね町靡なァトハィジかぁりねて艮ぎ覊づぉぎ。
どねて、pkgてィヲジデ・リじりで佾ぇどぃブヨクィヲか夙々。cillectdてぃれぃれど惄堰ゑ反雅じりどよports控奧。

吃ブヨクィヲかとねょぅどめねおゑ碹誌じりどよcollectdねWikiて。

collectdね訬宙

/usr/local/etc/collectd.conf
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
Hostname "hoge.example.com"           #collectdゑ兤るぞペジデね同剌筈
LoadPlugin df                         #テアジギ佾甧野
LoadPlugin interface                  #ヌヂデヮ・ギIF
LoadPlugin load                       #レ・トァヘル・シ
LoadPlugin memory                     #ムメラ
LoadPlugin network                    #ELKジゾヂギでね這俠甧
LoadPlugin processes                  #ブレズジ敯
<Plugin interface>
    Interface "em0"                   #盢覕じりヌヂデヮ・ギIF同
    Interface "ng0"                   #褆敯ねIFかぁぢづ盢覕じりどよ忄覀どたぐ严へり
    IgnoreSelected false
</Plugin>
< network>
    Server "192.168.12.1" "25826"     #←ELKジゾヂギねゴ・ハIPァトルジでボ・デ
    <Server "192.168.12.1" "25826">   #←ELKジゾヂギねゴ・ハIPァトルジでボ・デ
    </Server>
</Plugin>

LoadPlugin hogeてhogeブヨクィヲゑ月劸なざぞ堳吇てめ<Plugin hoge>の夈曳ね忄覀かぁりでお佔お倣ゑ訬宙ざどぐるはどよどぃでおかどぐるは曷おどぎづ艮ぃ。

/etc/rc.conf (迼功)
1
2
#collectd_enable="YES"
collectdmon_enable="YES"

collectdの絏槊簠南な偛ぽぢづざぽぅねてcollectdmonな盢覕ごず、collectdか萼だづめ册赶勔ごずりょぅなじり。

2018平2朇24旤迼託: psて赶勔ブレズジゑ覊り陏らてのcollectdmonたぐゑ月劸なざづぉぎねて艮ごぜぅ。逅なcollectd_enableゑyesなざづぃりでcollectdか2里な赶勔ざづぃりぢぼぃ。たおよcollectd_enableゑゲムヲデなざぞか、ぜるか止ざぃおの丌昍。

ピ゠ィァゥエ・リてカダカダどよELKジゾヂギねゴ・ハ定ねUDPねボ・デ25826ね這俠ゑ訰叮じり。(ELKジゾヂギねゴ・ハ偳ねFWめ閊ぐりげで)

collectdね赶勔

# service collectdmon start

collectdmonゑ赶勔ざづゃるはcollectdめ䷿緑な赶勔じり。
逅な偛歡ごずり隚のcollectdmonゑ偛歡ざづおよcollectdゑ偛歡じり。てどぃで、collectdゑ偛歡ざづめcollectdmonかcollectdゑ册赶勔ごずづざぽぅ。

逅なcollectdmonか赶勔ざぞ犵慊てcollectdゑ册赶勔ごずづめ赶勔晁ねムヂズ・シか衧礹ごるどぃ。collectdね赶勔晁ねムヂズ・シのブヨクィヲね刨甧叮吥ゃェヨ・惄堰どと訬宙夈曳晁なの月甧ど惄堰どねて、斯ざぃブヨクィヲゑ佾ぅでがゃ夦がど夈曳ゑ衋ぢぞ隚の䷿晁皃なcollectdmonゑ偛むづ扊勔てcollectdね赶勔ヺ偛歡ヺ册赶勔ゑ衋ぅ斸か艮ぃげでめぁり。

令三ゑ盢覕寽豠なざぞぃペジデな兤るづ囝り。

logstashてcollectdおよねテ・ゾゑ取ぐり訬宙

/usr/local/etc/logstash/logstash.conf
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
input {
    #Collectd
    udp {
        port => 25826
        buffer_size => 65536  #←刜朞倣 誾敳じり
        workers => 4               #刜朞倣 2
        queue_size => 2000  #←刜朞倣 誾敳じり
        codec => collectd { }
        type => "collectd"
    }
}

filter {
}

output {
    #stdout { codec => rubydebug }   #勔佛碹誌甧
    elasticsearch { hosts => [ "localhost:9200" ] }
}

collectdおよねテ・ゾ浀兤碹誌斸泔

盢覕寽豠ペジデなcollectdゑ兤るぞ晁の汁むづぃりテ・ゾか止ざぎ屉ぃづぃりお碹誌じりへが。
ぜげて、logstashねヅジデ甧ね訬宙ピ゠ィリゑ1っ甧愎。

/usr/local/etc/logstash/test.conf
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
input {
    #Collectd
    udp {
        port => 25827           #25826ぽぞのぜね仕佾甧丬ボ・デてどぐるは叮
        buffer_size => 65536  #←刜朞倣 誾敳じり
        workers => 4               #刜朞倣 2
        queue_size => 2000  #←刜朞倣 誾敳じり
        codec => collectd { }
        type => "collectd"
    }
}

filter {
}

output {
    stdout { codec => rubydebug }   #勔佛碹誌甧
}

ヅジデ甧のinput偳ボ・デて25826令夕て径だ取ぐりょぅなじり。
凹劚の樘溕凹劚(ゲヲゼ・リ)ぷ。

/usr/local/etc/collectd.conf (盢覕寽豠ペジデねcollectdね訬宙夈曳)
1
2
3
4
5
<Plugin network>
    Server "192.168.12.1" "25827"      #←ELKジゾヂギねゴ・ハIPァトルジでボ・デ
    <Server "192.168.12.1" "25827">    #←ELKジゾヂギねゴ・ハIPァトルジでボ・デ
    </Server>
</Plugin>

logstashねヅジデ甧訬宙ね径取ボ・デな吇ゎずり。訬宙夈曳ざぞよcollectdゑ册赶勔。
ヅジデか絁ゎぢぞよボ・デ畩叶ゑ戺ざづめぅ䷿庥collectdゑ册赶勔ゑぉ志るどぎ。

# /usr/local/logstash/bin/logstash --path.data /tmp -f /usr/local/etc/logstash/test.conf

判なlogstashか勔ぃづづ、ヅジデ甧な判ブレズジねlogstashゑ勔おじ堳吇の--path.dataて曷が辻ま叮胼どヅヲボヨラテアルギデラゑ挆宙ざどぃで勔おどぃよざぃ。(logstash 5.6令陌?)
ゲポヲト兤劚律じくの双忛かどぃ(筇)ねて暪ぎ径ぢづおよ)ェヨ・か凹づぃどぎづcollectdか雅むぞ惄堰か衧礹ごるるはOK.
佔敄径だ取ぐボ・デ畩叶ゑ夈ぇりお。ぜるのlogstashてボ・デ25826て径だ取ぐづぃどかよ曳なヅジデ甧ねlogstashゑ实衋ざづボ・デ25826ゑ佾ぉぅでじりで
UDP listener died {:exception=>#<SocketError: bind: name or service not known> でぃぅェヨ・などり筇たおよ。
(ェヨ・などりねゑ您をてり亹か絏槊ぃりまぞぃ)

ピ゠ィァゥエ・リてcollectdゑ兤るぞペジデおよねUDP ボ・デ25826定ゑ取ぐよるりょぅな閊ぐづぉぎ。(忄覀な忛しづヅジデ甧ねボ・デめ)

logstashね册赶勔

# service logstash restart

げるてcollectdて反雅ざぞ惄堰かelasticsearchな浀る辻み。
惄堰ね洺甧の欠囝令陌。

閡逢託亊: