CentOS 7 に Cacti をインストールする

More than 3 years have passed since last update.


SNMPインストール

# yum -y install net-snmp

# yum -y install net-snmp-utils

viで以下の通り設定する。


/etc/snmp/snmpd.conf

# sec.name source community
#com2sec notConfigUser default public
com2sec local localhost public
#com2sec mynet 192.168.1.0/24 public

# groupName securityModel securityName
#group notConfigGroup v1 notConfigUser
#group notConfigGroup v2c notConfigUser
group mygroup v1 local
#group mygroup v1 mynet

# 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 all included .1 80

...

# group context sec.model sec.level prefix read write notif
#access notConfigGroup "" any noauth exact systemview none none
access mygroup "" any noauth exact all none none

disk / 10000


# chkconfig snmpd on

# /usr/sbin/snmpd start


RRDToolインストール

# -y yum install rrdtool


MySQLインストール

# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

# rpm -Uvh mysql-community-release-el7-5.noarch.rpm
# yum -y install php-mysql
# chkconfig mysqld on
# systemctl start mysql.service


Cactiインストール

# cd /usr/local/src/

# wget http://pkgs.repoforge.org/cacti/cacti-0.8.8b-1.el6.rf.noarch.rpm
# rpm -ivh --nodeps cacti-0.8.8b-1.el6.rf.noarch.rpm


/var/www/cacti/include/config.php



$database_username = "cacti";
$database_password = "$PASSWORD";



/etc/httpd/conf.d/cacti.conf

Alias /cacti/ /var/www/cacti/

<Directory /var/www/cacti/>
DirectoryIndex index.php
Options -Indexes
AllowOverride all
# ひとまずゆるく設定する
# Require local
# Require 172.20.10.3
# Require ip all
AddType application/x-httpd-php .php
# php_flag magic_quotes_gpc on
# php_flag track_vars on
</Directory>


DB作成

# mysqladmin --user=root create cacti

# mysql cacti < /var/www/cacti/cacti.sql
# mysql --user=root mysql
> grant all on cacti.* to cacti@localhost identified by '$PASSWORD';
> flush privileges;
> exit;

cacti.sqlが見つからない場合は、find / -name "cacti.sql" 等で探す。


CRON設定

念のため、cronの設定を確認する。

5分毎に実行する。


/etc/cron.d/cacti

*/5 * * * *     cacti   php /var/www/cacti/poller.php &>/dev/null


再起動をしておく。

systemctl restart crond


Cactiへアクセス

http://[ホストIP]/cacti


結果1


PHPファイルがダウンロードされる


よくよく考えたらCentOSをインストールしてからPHPを入れていなかったので、入れてあげる。

yum -y install php


結果2


FATAL: Cannot connect to MySQL server on 'localhost'. Please make sure you have specified a valid MySQL database name in 'include/config.php'


config.phpに記載れているユーザとパスワード、DB名で以下の通りアクセすると、問題なく接続できる。

# mysql -u cacti -p cacti

よくよく考えたら、パスワードの先頭のドル記号 かつ ダブルクォーテーションで

括られているため、$PASSWORDが変数と認識され式展開されたいた模様。

$PASSWORDは宣言していないため、パスワード未入力状態でDBに接続試行していた。

なので、以下のとおり、修正。

#$database_password = "$PASSWORD";

$database_password = '$PASSWORD';

あとはNEXTボタンを押下してインストールを進めればよい。

Capture 2016-04-09 22.49.04.png

Capture 2016-04-09 22.53.18.png

Capture 2016-04-09 22.54.43.png

Capture 2016-04-09 22.58.01.png

Capture 2016-04-09 23.01.33.png


おわりに

CentOS 7 に Cacti をインストールした。

冒頭で設定しているsnmpd.confなんかは、だいぶ暫定的なので、

後ほど他ホストの監視設定を入れる際に見直す。


追記

インストール後、"graphs"リンクをクリックでグラフ(画像)が表示される想定だったが表示されなかった。


私は[こちら](https://www.ipentec.com/document/document.aspx?page=cacti-graph-does-not-appear-after-install-correctly)を参考にしたところ、まずはグラフを表示できた。

そもそもcronを再起動をしていなかったため、手順にcronの再起動を追記。

尚、SNMPエージェントを利用した場合の設定はこちらを参照。