Observiumでサーバ監視

Observium 1

ゴ・ハね盢覕ゑ衋ぅ点ね盢覕ッ・リ。
げるぽてォ・ブヲゼ・ジね盢覕ッ・リゑ幽っお佾ぢづまぞか、ィポィダ氖な兤よどぃ。Cactiの簠南たぐと培末皃なのクヨピたぐたざ、Zabbixのぜるゑ勔おじたぐて貟荶髗むどねて封甧なゴ・ハ1可忄覀でぃぅ雯囱氖たざ、簠南な訬宙てがりょぅて愎夕で若劳夙ぎぜる令剌な吃盢覕寽豠ゑ覊づ呧りねか夦夈。デヂブベ・シ覊らもぃぃたれぢづげでてじおぬ。盢覕ッ・リでざづのBigBrotherねょぅどァペまぞぃど觢らゃじごか欱ざぃおどで怜ぅ。託憵か飚をたよめぅ事庥で訬宙てがぽずをまぞぃど靡們どねめ嫋たざ。封甧ェ・シウヲデゑ盢覕寽豠ペジデな仔辻みねめ奼がしもどぃ。SNMPでIPMI稊庥か叕徖てがるはぜるて艮ぃねてじかヺヺァブラね稻僌犵泀の盢覕ざどぃねおょでぃぅッヂゲマの焠ざて。

て、盢覕ッ・リ離氐ゑ継ぐりげで10平令三。だゆぢで靡發ぜぅどObserviumでぃぅねゑ覊っぐぞねて兤るづまぽざぞ。

Linux & Apacheどよ八弎ゥウフゴィデね扊項這らなじるは啎顋どざ。FreeBSD どよPortsて尐ざ口ぃハ・シユヲゑ兤るりげでかてがぽじ。替斯片ゑ拽ぅょぅなどぢづぃりょぅてじ(2016平2朇珽圧)。仉囝のFreeBSDて替斯ねObserviumゑ拽ぢづがづportsてィヲジデ・リざづPHP7&Nginxて勔おざぽじ。ObserviumゑNginxて勔おじねな若劳ざづり亹か夙ぃょぅどねてぜね郧刅たぐのめざおじりでFreeBSD令夕ね亹なめ叁耂などりおめ。

Observiumね叕徖

FreeBSDね堳吇の兇な䷿日portsねobserviumゑ兤るりでobserviumか忄覀でじりめねゑ䷿這ら揂ぇよるぽじ。ぜね律なobserviumたぐゑpkg deleteどとて剉陣じりでぃぅねか簠南て艮ぃおで。2016平2朇珽圧のportsて替斯片ゑ拽ぢづ兤るづぎるぽじ。

2016平2朇23旤迼託

PHP7璯墂ね堳吇のportsてぜねぽぽィヲジデ・リざょぅでざづめPHP7なの旦杤ねMySQLメシヤ・リか焠ぃねてゲグぽじ。


/usr/ports/net-mgmt/observium/Makefile
1
2
3
#USE_PHP=       ctype filter gd iconv json mcrypt mysql mysqli posix session snmp tokenizer xml zlib
USE_PHP=        ctype filter gd iconv json mcrypt mysqli posix session snmp tokenizer xml zlib
#IGNORE_WITH_PHP=       70

USE_PHP=ね衋およmysqlゑ涇ざぽじ(mysqliの殊じ)。牸宙ハ・シユヲゑ焠覕じり挆宙ねIGNORE_WITH_PHPね衋ね頬なゲムヲデね#ゑ仗ぐり。
ぜねぅだなMakefileね俭止ね忄覀どぎPHP7てめィヲジデ・リてがりょぅなどりで怜ぃぽじか仉の緧雅忄覀。
Observium偳め旡なMySQLi寽忛か週をてぃづ珽圧ねハ・シユヲてのMySQLiて勔がぽじ。

portsてねィヲジデ・リ

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

迼託げげぽて

==== portsて兤るりどよげげおよ丌覀======

observiumね替斯片ゑタゥヲレ・トざづ觢凌ざぽじ。

% fetch http://www.observium.org/observium-community-latest.tar.gz
% tar zxvf observium-community-latest.tar.gz

FreeBSD令夕ね亹のfetchてのどぎwgetどとて

觢凌ごるぞobserviumでぃぅテアルギデラゑ/usr/local/www/上边らな秺勔じり。

# mv observium /usr/local/www/
# mkdir /usr/local/www/observium/logs
# mkdir /usr/local/www/observium/rrd
# chown www:www /usr/local/www/observium

4衋盭ねュ・サ・同(でクリ・ブ同)の臩刅ねザジヅミねnginx甧ねぜるな吇ゎずづ上ごぃ。

Observiumねピ゠ィリ俭止

ObserviumのぜねぽぽてのFreeBSDな吇ゎどぃ郧刅かぁりねて俭止ざぽじ。替刜な夈曳ざどぐるはどよどぃねの僄おてじ。


/usr/local/www/observium/includes/defaults.inc.php
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
// 36衋盭边らおよ
$config['rrdtool']        = "/usr/local/bin/rrdtool";
$config['fping']          = "/usr/local/sbin/fping";
$config['fping6']         = "/usr/local/sbin/fping6";
$config['snmpwalk']       = "/usr/local/bin/snmpwalk";
$config['snmpget']        = "/usr/local/bin/snmpget";
$config['snmpbulkget']    = "/usr/local/bin/snmpbulkget";
$config['snmpbulkwalk']   = "/usr/local/bin/snmpbulkwalk";
$config['snmptranslate']  = "/usr/local/bin/snmptranslate";
$config['whois']          = "/usr/bin/whois";
$config['mtr']            = "/usr/local/sbin/mtr";
$config['nmap']           = "/usr/local/bin/nmap";
$config['nagios_plugins'] = "/usr/local/libexec/nagios";
$config['ipmitool']       = "/usr/local/bin/ipmitool";
$config['virsh']          = "/usr/local/bin/virsh";
$config['dot']            = "/usr/local/bin/dot";
$config['unflatten']      = "/usr/local/bin/unflatten";
$config['neato']          = "/usr/local/bin/neato";
$config['sfdp']           = "/usr/local/bin/sfdp";
$config['wmic']           = "/usr/local/bin/wmic";
$config['file']           = "/usr/bin/file";

36衋盭边らおよねpathのpkg/portsてィヲジデ・リざづぃりで夦抴の/usr/local/bin上边らどねて遨分な訬宙ざぽじ。svnでgitのィヲジデ・リざづ焠ぎづめ(訬宙ピ゠ィリの朩夈曳て)夦万太おで怜ぃぽじ。

/usr/local/www/observium/poller.php 1衋盭
#!/usr/local/bin/php

/usr/local/www/observium/poller-wrapper.pyめ吋槗なpythonねpathな俭止。(phpてのどぃ)

/usr/local/www/observium/snmp.conf (snmp.conf.exampleゑ叁耂な)
mibdirs +/usr/local/www/observium/mibs

==== portsて兤るりどよげげぽて丌覀======

/usr/local/www/observium/config.php (config.php.exampleゑ叁耂な)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
// Database config ---  This MUST be configured
$config['db_extension'] = 'mysqli';   
$config['db_host'] = 'DBねペジデ同';
$config['db_user'] = 'DBねュ・サ・同';
$config['db_pass'] = 'DBュ・サ・ねバジヮ・ト';
$config['db_name'] = 'observium甧DB同';

// Base directory
$config['install_dir'] = "/usr/local/www/observium"; #覀よどぃぢぼぃ

// Authentication Model
$config['auth_mechanism'] = "mysql";
//ぜね上ねァヨ・デ這矤訬宙め忄覀な忛しづ夈曳

里覀どねの2衋盭で12衋盭。牸なphp7て勔おじどよ2衋盭のmysqliな、12衋盭のmysqlどねて泧愎。

MySQLね訬宙

令上ね仺愎ね頄盭の三て佛ぢぞconfig.phpね訬宙で達ぢづのぃぐぽずを。

DB同ゑobserviumでざぽじ(仺愎)。
DBュ・サ・同ゑobserviumuserでざぽじ(仺愎)。
DBュ・サ・ねバジヮ・トゑsecret!secretでざぽじ。(仺愎)。
my.cnfて樘溕斆孖ゲ・トゑUTF8なざづぃりめねでざぽじ。

# mysqladmin -uroot -p箠琅耄バジヮ・ト create observium
# mysql -uroot -p 箠琅耄バジヮ・ト mysql
mysql> grant all privileges on observium.* to observiumuser@localhost identified by 'secret!secret';
mysql> flush privileges;
# cd /usr/local/www/observium
# /usr/local/bin/php includes/update/update.php

2016平5朇21旤迼託: 夈ゎぢぞまぞぃ。

# cd /usr/local/www/observium
# ./discovery.php -u

テ・ゾヘ・ジなぃれぃれ佛よるぽじ。

/usr/local/www/observium/includes/defaults.inc.php
// 420衋盭边ら
//$config['bad_if_regexp'][] = "/^ng[0-9]+$/";

420衋盭边らの衧礹ざどぃテハィジヺィヲゾ・ピウ・ジどとね訬宙などぢづぃづFreeBSDどよmpd5てリ・ゾ・ゃよVPNゃよゃぢづりどよng*の覊ぞぃで怜ぅねて衋頬な//ゑ仗ぐぽじ。仕なめ臩刅ね盢覕寽豠な吇ゎずづ碹誌ざづぉぃぞ斸か艮ぃてじ。

ぢづぃぅお、defaults.inc.phpねテピエリデ倣な寽ざづ夈曳かぁりめねたぐゑconfig.phpな曷ぎ(ォ・ハ・ヨィト)ぢづねか止ざぃ訬宙斸泔しもどぃおで怜ぅをたぐと、げねbad_if_regexpね衋まぞぃどねかテピエリデ訬宙偳なぁりでテピエリデ訬宙ピ゠ィリゑ緧雅ざどがもどよどぃをたぐと、佔お勗達ぃざづりおざよ>

Nginxね訬宙

 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
server {
    listen 80; #IPァトルジ1ったぐどよ   げるで欠衋ねとだよお1ったぐ
    listen 192.168.0.10:80; #褆敯IPァトルジぁぢづLANおよたぐ覊ぞぃどよげをど愞し
    server_name observium.example.localnet;

    root /usr/local/www/observium/html;
    index index.php;

    access_log /var/log/observium.access.log;
    error_log  /var/log/observium.error.log notice;

    location / {
        try_files $uri $uri/ @observium;
    }

    location @observium {
        rewrite ^(.+)$ /index.php/$1/ last;
    }

    location ~ ^/(.*\.php).*$ {
        fastcgi_split_path_info ^(.*\.php)(.*)$;
        fastcgi_pass unix:/var/run/php-fpm.sock;
        fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ \.(jpeg|jpg|gif|png|css|js|ico|woff) {
        log_not_found off;
        access_log off;
    }
}

肜の21衋盭、.phpて絁ゎりURLてのどぎ、.phpゑ吪みURL內づゑphpでまどじでぃぅげでなざづゃよどぃでデヂブベ・シ令夕ねベ・シラヲギかぺほ內づ佾ぇぽずを。

Observium佾甧閊姊

兇すの(箠琅耄)ュ・サ・ゑ佛戏ざどぃでゥウフ箠琅町靡なレクィヲてがどぃねて泧愎。

# cd /usr/local/www/observium
# ./adduser.php 箠琅耄ID 箠琅耄バジヮ・ト 10

替律ね10でぃぅねか箠琅耄ねルヘリ。仕ねIDめ吋槗な佛戏てがりぐと夦抴のゥウフね箠琅町靡およ佛戏じりねてげげての絁ゎら。

げげてSNMPね盢覕寽豠テハィジゑ発錱ざぞぃどよ

# cd /usr/local/www/observium
# ./add_device.php 盢覕寽豠ペジデ同 SNMPゲマヤナヅア同 v2c

替律ねv2cのSNMPねブレデゲリハ・シユヲ。v1, v2c ,v3およ遷抝。(v3ね堳吇のォブザユヲ挆宙臩佒か達ぅぐと)

めだれを、ゥウフね箠琅町靡およテハィジ発錱のてがぽじ。

替刜ねテアジオハラでボ・ラヲクゑ衋ぃぽじ。ェヨ・か凹どぃお覊づぉがぽじ。

# cd /usr/local/www/observium
# ./discovery.php -h all
# ./poller.php -h all

啎顋どごぜぅてぁるは宙晁实衋ね点な/etc/crontabな発錱ざぽじ。

/etc/crontab
40   23   *    *    *    www  cd /usr/local/www/observium && /usr/local/bin/php discovery.php -h all
*/30 *    *    *    *    www  cd /usr/local/www/observium && /usr/local/bin/php discovery.php -h new
*/5  *    *    *    *    www  cd /usr/local/www/observium && /usr/local/bin/php poller.php -h all

叕ら敡ぇす絁ゎら

テハィジ迼功ね隚な字圧碹誌甧なfpingゑ佾ぢづぃりねてじか、fpingの臩ペジデな退るどぃねてobserviumか勔ぃづぃりペジデね惄堰か叕るどぃねてじか、とぅゃぢづ觢汹じりねてざゆぅ。

2016平2朇迼託:テハィジ迼功町靡なSkip Pingね頄盭か迼功ごるぞねてげげなダウヂギゑ仗ぐりでObserviumゑ勔おざづぃりペジデゑ迼功じりげでかてがりょぅなどらぽざぞ。

ジギラ・ヲザユヂデ

Observium 2
南テハィジねムィヲ町靡。クヨピなポゥジゑ吇ゎずりでじくな該累クヨピか凹づぎり氖ね刨ぃぞィヲゾ・ピウ・ジ。

Observium 3
めだれを夦がどクヨピめ衧礹てがり。ゥアヲトゥゴィスな吇ゎずづゴィス誾敳ごるぽじ。

Observium 4
テハィジ閡俁どぎCPUたぐ覊ぞぃでどるはゲァ判なタ・ヂで䷿刖て衧礹。ハ・クヨピゑギラヂギじりで該累クヨピか衧礹ごるり。

Observium 5
げをど愞し。クヨピね浶て真るぜぅ。

Observium 6
げだよのムメラね䷿覦。だゆぢで鮭ゃお。

Observium 7
ムメラの冄訲め衧礹ごるり。げねぁぞらの归ぞら剌てじぬ。

Observium 8
テハィジね発錱町靡。SNMPて惄堰ゑ吏おどぃ橞噧ゑ発錱じりなのとぅじるはょぃねてざゆぅお。ぽたObserviumな慢るづぃどぃねて觢おぢづぃぽずを。

Observium 9
ぃれぃれ凹ずりねの艮ぃぐと遷ふね絏槊靡們ぃおめ。

クヨピねェギジボ・デ

Cactiのクヨピねェギジボ・デね裛动橞胼か仗ぃづぃづ侾刨てざぞかObserviumなの仗ぃづぃぽずを。
クヨピ町僎ねURLゑ南紓な夕郧およ叕徖ざょぅでじりでNo Authで曷おるぞ穹ねクヨピか叕るづざぽぃぽじ。
誌註焠ざて町僎ゑ叕るりょぅなじりなの令上。


config.php
1
2
$config['allow_unauth_graphs'] = 1;
$config['allow_unauth_graphs_cidr'] = array('127.0.0.1/32', '192.168.0.0/24');

レ・オリおよで192.168.0.0/24およね誌註焠ざァギズジゑ訰叮

クヨピねURLのhttp://example.com/graph.php?type=tttttt&to=xxxxxxxxxx&id=ss&from=yyyyyyyyyy&height=hhh&width=wwwねょぅど彡弎て、xxxxxxxxxx, yyyyyyyyね郧刅のUNIX晁閒て挆宙じるは艮ぃねて扰ぃゃじぃてじ。

閡逢託亊:


コメント: Observiumでサーバ監視

  1. これ良いですね。。ヨウツベから検索してたどり着きましたが、その昔Windows版でGUIが派手だった、
    NetAntを思い出す仕様です。このソフトFreeBSDだけなのかな?できれば、CentOS辺りで動いてくれると
    良いなと思ったり。

  2. 元々がLinux用なのをFreeBSDで動かすためにゴチャゴチャやって少しだけ苦労するという記事を書いていますが、Linuxなら基本的には簡単に導入できると思います。 https://docs.observium.org/ にドキュメントがあります。RHEL/CentOS向けのインストールガイドもあるようです。

コメントは締め切られています。