5
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

updated at

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

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エージェントを利用した場合の設定はこちらを参照。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
5
Help us understand the problem. What are the problem?