CentOS 7 は既にサポートが終了しています。このページは新規構築を推奨するものではなく、過去環境の保守、移行前調査、設定の読み解きに使うためのレガシー Linux 手順です。新規構築では、現在サポートされている Linux ディストリビューションを利用してください。
CentOS 7 で Cacti を使い、SNMP で取得したリソース情報をグラフ化する監視サーバーを構築する手順です。Cacti は障害検知というより、CPU、メモリ、インターフェース、トラフィックなどの傾向を長期的に見るための道具として扱うと理解しやすくなります。
古い環境では、Zabbix や Prometheus ではなく Cacti でグラフ監視をしている構成もあります。既存環境を読む場合は、どのホストを SNMP で取得し、どの RRD に蓄積し、どのグラフテンプレートで見せているかを確認します。
構成の前提
- CentOS 7 上に Apache、PHP、MariaDB、Cacti を配置する。
- 監視対象は SNMP で値を返す。
- Cacti はグラフ監視を主目的にする。
- 新規環境では現行の監視基盤も含めて比較する。
必要パッケージをインストールする
yum install epel-release
yum install cacti net-snmp net-snmp-utils rrdtool mariadb-server httpd php php-mysqlnd php-snmpMariaDB を起動する
systemctl enable mariadb
systemctl start mariadb
systemctl status mariadbCacti 用データベースを作成する
mysql -u root -p <<'EOF'
CREATE DATABASE cacti DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY 'change_this_password';
FLUSH PRIVILEGES;
EOF初期データを投入する
mysql -u cacti -p cacti < /usr/share/doc/cacti*/cacti.sqlApache と poller を有効化する
systemctl enable httpd
systemctl restart httpd
systemctl enable crond
systemctl restart crondSNMP 取得を確認する
snmpwalk -v2c -c public 127.0.0.1 system確認するポイント
- SNMP コミュニティ名を秘密情報として過信していないか。
- Cacti の poller が cron で実行されているか。
- グラフが増えない場合、SNMP、DB、poller、RRD のどこで止まっているかを分けて確認する。
- 監視対象を広げる前に、1 台でグラフ生成まで確認する。
まとめ
Cacti は、現在の監視基盤としては古い選択肢ですが、リソースグラフを読む用途では今でも既存環境に残っていることがあります。CentOS 7 の Cacti 環境を保守する場合は、Web 画面だけでなく、SNMP、poller、RRD、DB の流れを分けて確認することが重要です。
関連する記事
- CentOS 7 サーバー管理ガイド
CentOS 7 系の記事をまとめたハブページです。
参考書籍
参考
書籍
書籍
参考書籍
CentOS 7 システム管理ガイド
CentOS 7 の systemd、NetworkManager、firewalld などを確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
CentOS 7 Cacti 監視サーバー構築 – リソースグラフ監視の基本

