インストール

$ sudo yum -y install net-snmp net-snmp-utils
$ sudo yum -y install rrdtool
$ sudo yum -y install cacti

SNMPを起動

  1. SNMPD の設定 デフォルトでは、localhost のみから限定的な情報にアクセスできるように設定されているので、アクセス制限は localhost のままで、全ての情報にアクセスできるように変更する。
    # diff -u /etc/snmp/snmpd.conf.original /etc/snmp/snmpd.conf
    --- /etc/snmp/snmpd.conf.original       2010-07-31 23:59:47.901056095 +0900
    +++ /etc/snmp/snmpd.conf        2010-08-01 00:14:10.963061509 +0900
    @@ -52,14 +52,17 @@
     
     # Make at least  snmpwalk -v 1 localhost -c public system fast again.
     #       name           incl/excl     subtree         mask(optional)
    -view    systemview    included   .1.3.6.1.2.1.1
    -view    systemview    included   .1.3.6.1.2.1.25.1.1
    -
    +#view    systemview    included   .1.3.6.1.2.1.1
    +#view    systemview    included   .1.3.6.1.2.1.25.1.1
    +view     all           included   .1                 80
    + 
     ####
     # Finally, grant the group read-only access to the systemview view.
     
     #       group          context sec.model sec.level prefix read   write  notif
    -access  notConfigGroup ""      any       noauth    exact  systemview none none
    +#access  notConfigGroup ""      any       noauth    exact  systemview none none
    +access  notConfigGroup ""      any       noauth    exact all none none 
    +access  notConfigGroup ""      any       noauth    exact all all  none 
     
     # -----------------------------------------------------------------------------
  2. サービスとして設定する
    $ sudo /sbin/chkconfig --level 35 snmpd on
  3. とりあえず動かしてみて、自マシンの SNMP Client からアクセスできるか調べる
    $ sudo /etc/init.d/snmpd start
     
    $ snmpwalk -v1 -c public localhost
    SNMPv2-MIB::sysDescr.0 = STRING: Linux orange.homelan 
    2.6.33.6-147.fc13.i686.PAE #1 SMP Tue Jul 6 22:24:44 UTC 2010 i686
    SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::org
    DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (88494) 0:14:44.94
    SNMPv2-MIB::sysContact.0 = STRING: Root <root@localhost> (configure
    /etc/snmp/snmp.local.conf)
    SNMPv2-MIB::sysName.0 = STRING: orange.homelan
    SNMPv2-MIB::sysLocation.0 = STRING: Unknown (edit /etc/snmp/snmpd.conf)
    ...
    End of MIB

Cactiが動くまでの設定

RPMは、Cactiをどこにインストールしたのか?

DBの作成

$ mysql -u root -p
Enter password: 

mysql> create database cacti;
Query OK, 1 row affected (0.26 sec)

mysql> grant all privileges on cacti.* to cactiuser@localhost identified by 'cactiuser';
Query OK, 0 rows affected (0.34 sec)

mysql> exit
Bye

$ mysql -u cactiuser -p cacti < /usr/share/doc/cacti-0.8.7f/cacti.sql 
Enter password:

DB接続の設定

$ sudo vi /usr/share/cacti/include/config.php

パスワードのデフォルト値は "cactiuser"。DBを作る際に、これと違うパスワードを設定していた場合に変更する必要がある。

Apache を再起動してアクセスしてみる

$ sudo /etc/init.d/httpd reload
  1. http://127.0.0.1/cacti/ にアクセスする
    cacti1.png
  2. New Install
    cacti2.png
  3. 全て Found であることを確認して Finish
    cacti3.png
  4. 完了。ログイン画面に遷移する。admin/admin でログインしてパスワードを変更する
    cacti4.png

グラフの作成

  1. [console]-[device] で、SNMP の設定を行う
    $ snmpwalk -v1 -c public localhost
    と同じように設定する
    cacti5.png
    同じ画面の最後で、SNMP Interface Statistics を追加して SAVE
    cacti6.png
  2. [New Graph] で、[Localhost]-[SNMP Interface Statistics] を選択すると NIC を選択できる。グラフとして見たい NIC (eth2) を選択する。
    cacti7.png
  3. 最後に、定時実行タスクの有効化する。yum でインストルーされた /etc/cron.d/cacti は中身がコメントアウトされているので、コメントアウトを解除する
    # cat /etc/cron.d/cacti 
    */5 * * * *     cacti   /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1
  4. しばらくするとグラフができる
    cacti8.png

レポートページの作成

独自のデータの追加

  1. CPU と HDD 温度を返すScriptを作る
    $ cat /var/lib/cacti/scripts/temp.sh 
    #!/bin/bash
    
    CPU=`/usr/bin/sensors | grep "Core 0" | awk '{print $3}'`
    CPU=${CPU//°C/}
    CPU=${CPU//+/}
    CPU=${CPU//.[0-9]*/}
    
    HDD=`/usr/sbin/smartctl -i -a /dev/sda | grep Temperature_Celsius | awk '{print $10}'`
    
    echo -n "CPU:"$CPU" HDD:"$HDD
     
    $ sudo /var/lib/cacti/scripts/temp.sh 
    CPU:49 HDD:51$ 
    改行しないのがミソ
    • smartctl は、インストール時点で root ユーザしか実行できないが、このスクリプトを動かすのは cacti ユーザ。どうする? → poller.php を root で動かす
      $ cat /etc/cron.d/cacti
      
      */5 * * * *     root    /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1
      # */5 * * * *   cacti   /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1
  2. Data Input Method の設定
    dataInputMethod.png
    • Script を Data Input Method として登録する
  3. Data Source の設定
    DataSource1.png
     
    DataSource2.png
    • Data Input Method を Data Source として登録する
  4. Graph Template の設定
    GraphTemplate1.png
     
    GraphTemplate2.png
    • Data Source を Graph Template として登録する
  5. Graph の設定
    Graph.png
     
    Graph2.png
    • Graph Template を Graph として登録する

Fedora 13 Server


添付ファイル: filecacti8.png 565件 [詳細] fileGraphTemplate2.png 481件 [詳細] filecacti5.png 536件 [詳細] filedataInputMethod.png 487件 [詳細] filecacti6.png 516件 [詳細] filecacti1.png 514件 [詳細] filecacti3.png 529件 [詳細] filecacti2.png 535件 [詳細] filecacti9.png 539件 [詳細] fileGraphTemplate1.png 478件 [詳細] filecacti4.png 519件 [詳細] filecacti7.png 516件 [詳細] fileDataSource1.png 515件 [詳細] fileGraph2.png 537件 [詳細] fileGraph.png 512件 [詳細] fileDataSource2.png 537件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS   sitemap
Last-modified: 2011-06-27 (月) 23:20:37 (1992d)
ISBN10
ISBN13
9784061426061