Cactiのインストールと設定方法


Cacti 概要

CactiはSNMP型のパフォーマンス収集ツールです。エージェント(Agent)をインストールできないネットワーク機器などを監視するには、未だに強い人気があります。また、死活監視と性能監視を分けて管理する場合は、Cactiに性能監視を任せる構成が多く見られます。

Cactiに近い製品としてmuninを挙げる事ができます。近年(2014/10/25時点)は、学習コストの低さやインストールのお手軽さでmuninの方が人気があります。私個人の意見ですが、Cactiの方が高機能で何でもできる反面、監視テンプレートの作成が難しいデメリットがあります。

このページでは、Cactiのインストール方法と使い方について説明します。

Cactiのインストールと設定方法

Cactiのインストール

cactiはyumコマンドにより簡単にインストールする事ができます。以下のコマンドでcactiのインストールが実行できます。

Cacti データベースの設定

Cactiは設定情報をMySQLに、監視結果(各機器のロードアベレージ等のパフォーマンス情報)はRRDに保存します。そのため、CactiはMySQLがインストールされたサーバを前提をしております。

以下の手順はMySQLがインストールされているのが前提となっております。

Cacti データベース 接続情報の定義

CactiからMySQLへの接続情報は、/etc/cacti/db.phpに記述されています。設定変更が不要な場合はそのまま、設定変更が必要な場合は/etc/cacti/db.phpを修正します。

/etc/cacti/db.phpのデフォルト設定は以下の通りです。

Cacti MySQLデータベース作成とユーザ作成

MySQLデータベースとMySQLユーザを作成します。作成する際は、/etc/cacti/db.phpの情報と一致するように注意して下さい。また、MySQLは“localhost”と”127.0.0.1″を明確に区別する事にも注意して下さい。

データベースとユーザ作成後、MySQLにログインできる事を確認します。

Cacti 初期データの流し込み

Cactiの初期データをMySQLに投入します。

他ブログを見ると初期データの配置場所が様々です。恐らくバージョンによってCacti初期データの配置場所が異なるのだと思います。上記手順のファイルパスに初期データが存在しない場合は、findコマンド等で初期データのファイルパスを適宜探してください。

Cacti apache 設定

cactiはapacheによるWEB画面を提供する事を前提としています。yumでcactiをインストールすると、/etc/httpd/conf.d/cacti.confというファイルが自動的に作成されます。この設定ファイルはlocalhostからの接続のみを許可するように設定されているので、適宜アクセス権を緩めます。

設定例は以下の通りです。apache 2.2系とapache 2.4系で設定するセクションが異なる事に注意して下さい。

apacheをreloadさせ、設定を反映させます。

Cacti GUI インストール

“http://<ip_addr/cacti”というURLをブラウザで開きます。cactiのインストール画面が表示されますので、”Next”を押下します。

cacti_install_001

新規インストールかバージョンアップかを選択します。

cacti_install_002

cactiはphp, rrdtool, snmpを前提としております。これらツールがインストールされている事を確認する画面が表示されます。特に赤字でエラーが表示されていないならば、”Finish”を押下します。

cacti_install_003

インストールが完了すると、ログイン画面に遷移します。初期ユーザ/初期パスワードは、admin/adminです。

cacti_install_004

初回ログイン時はパスワード変更を求められます。何か適当なパスワードに変更して下さい。

cacti_install_005

Cacti 監視開始

Cactiはcronによる定期実行で情報を収集します。/etc/cron.d/cactiのコメントアウトを外し、定期的な情報収集が行われるようにします。

cron編集の10分後、グラフが描画されている事を確認します。Cactiトップページ (http://<ip_addr>/cacti/)で、”graphs”タブを押下します。

cacti_localhost_001

グラフ表示画面にグラフが描画されている事を確認します。

cacti_localhost_002

他の記事を見ると、以下のようなトラブル事例が多数見られます。

  • RRD保存ディレクトリの権限不足
  • snmpd設定誤り

しかし、現(2014/07/12)時点で、localhost監視に関して上記原因によるトラブルは考えづらいと思います。yumでインストールした場合は、自動的に適切な権限が設定されます。また、localhostの監視はsnmpdではなくperlスクリプトによって実行されるので、snmpdの設定誤りによって監視が止まる事はございません。

Cacti Linuxサーバの監視

Cactiログイン後のトップ画面には、以下のように書かれいます。

  • Create devices for network
  • Create graphs for your new devices
  • View your new graphs

この記載の通り、Cactiはデバイス作成、グラフ作成の2つのステップで監視対象を追加する事ができます。

Cacti Linuxサーバの監視 デバイス作成

“devices”を押下します。

cacti_linux_server_001

“devices”欄の”Add”を押下します。

cacti_linux_server_002

最低限、注意を払わなければならない項目は、”Description”, “Hostname”, “SNMP version”, “SNMP Community”です。これらを”create”を入力します。

cacti_linux_server_003

下記赤字欄を見て疎通可能である事を確認します。もし、エラーが出力された場合は、iptables, snmpdなどの疎通不能になりそうな設定を見直します。

cacti_linux_server_004

Cacti Linuxサーバの監視 グラフ作成 – Graph Template

グラフを作成する方法は、Graph Templateを使用する方法とData Queryを使用する方法があります。まずは、理解が容易であるGraph Templateを使用したグラフの作成方法について説明します。

“New Graphs”を押下します。

cacti_linux_server_005

“Host”欄、”Graph Template Name Create :”欄を選び、”Create”を押下します。

cacti_linux_server_006

Templateによっては、Legend Color(色)とLegend Text(グラフの説明文)の入力を求められる事があります。Legend Color, Legend Textを入力し、”Create”を押下します。

cacti_linux_server_007

“Created graph”とのメッセージが出力される事を確認します。

cacti_linux_server_008

作成したグラフは”Graph Management”を押下する事によって確認する事ができます。

cacti_linux_server_009

“Devices”を押下し、Status欄がUpとなっている事を確認します。StatusがUpにならないと、監視は始まりません。

なお、Status欄の確認はグラフ作成が終わってから行って下さい。デバイスに紐づいたグラフが存在しない場合は、Status欄が”Unknown”と表示され監視は行われません。

cacti_linux_server_010

最後にグラフが作成された事を確認します。”graph”タブを押下した後に、グラフマークのタブを押下します。その後、新規作成されたグラフを押下します。

cacti_linux_server_011

グラフが表示された事を確認します。

cacti_linux_server_012

Cacti Linuxサーバの監視 グラフ作成 – Data Qurey

グラフを作成する方法は、Graph Templateを使用する方法以外にもData Queryを使用する方法もあります。Data QueryはInterfaceやディスク容量監視のように監視対象が動的に変わるものを扱った仕組みです。例えば、/usr/local, /var, /, /rootのようなマウント構成を自動的に読み取ってグラフ化してくれます。

Devicesを押下します。次に、監視対象としたいホストを押下します。

cacti_linux_server_013

Associate Data Queries欄でData Queryを選択し、”Add”を押下します。

cacti_linux_server_014

“Verbose Query”を押下し、詳細を確認します。

cacti_linux_server_015

snmpwalkのような出力が表示される事を確認します。

cacti_linux_server_016

Cacti Linuxサーバの監視 グラフツリーの編集

よく閲覧するグラフはグラフツリーに登録しておくと便利です。グラフツリーに登録するには、まず”Graph Trees”を押下します。

cacti_linux_server_017

“Default Tree”を押下します。なお、この画面で”Add”を押下すると、Default Tree以外のツリーを作成する事もできます。監視対象が多いならば、複数のツリーを作成すると見やすくなります。

cacti_linux_server_018

“Add”を押下します。

cacti_linux_server_019

Tree Item Typeは”Host”を選択し、Hostは監視対象を選択します。Graph Grouping Styleは”Graph Template”か”Data Query”を選択します。選択が完了しましたら、”Create”を押下します。

cacti_linux_server_020

Percona Pluginの追加

Cactiの標準監視テンプレートを非常に貧弱です。高機能な監視を実現するには、テンプレートを自作するか、テンプレートを拾ってくるかしなければなりません。以下、非常に高機能なテンプレートを公開しているpercona社のmysql templateの導入方法を紹介します。

Percona Pluginのインストール

percona 社はyum リポジトリを公開しています。percona cacti templateを導入するには、まずyumリポジトリを登録します。登録方法は以下の通りです。

リポジトリが登録されると、yumコマンドでpercona templateを導入する事ができます。コマンド例は以下の通りです。

このRPMをインストールする事によって、監視に必要なスクリプトやcacti templateのダウンロードが完了しました。

Percona Pluginのテンプレートインポート

テンプレート インポート処理はWEBブラウザで行なう事もできますが、ここでは本家perconaと同様の手順であるコマンドラインを用いたテンプレートのインポート方法を説明します。

“/usr/share/cacti/resource/percona/templates/”を見ると、RPMインストールと同時にたくさんのテンプレートがダウンロードされた事が分かります。以下、cacti_host_template_percona_mysql_server_ht_0.8.6i-sver1.1.4.xmlのインポート方法を検討します。

”import_template.php”というユーティリティを用いてインポートを行なってください。実行例は以下の通りです。

Percona Plugin MySQLユーザ MySQLパスワードの設定

MySQL接続を行なう際のユーザ名とパスワードを指定します。/usr/share/cacti/scripts/ss_get_mysql_stats.phpにMySQLユーザとMySQLパスワードを入力して下さい。

上記設定例はrootユーザを使用する利便性重視の設定です。もし、セキュリティ重視でcactiuserを使用する場合は、権限設定に注意して下さい。ss_get_mysql_stats.phpは内部的に、”SHOW ENGINE INNODB STATUS”などのステータス取得コマンドを使用しますので、以下のようにPROCESS権限を与えてください。

Percona Pluginのグラフ設定

監視を開始するには、グラフを作成する必要があります。

まず、”Devices”を選択した後に、監視を行ないたいホストを押下します。

mysql_percona_001

「Host Template」欄に、「Percona MySQL Server HT」を選択します。

mysql_percona_002

画面下の方へ移動し、「Save」を押下します。この操作によってグラフとデバイスが紐づきます。

mysql_percona_003

“Create Graphs for this Host”を押下します。

mysql_percona_004

作成したいグラフにチェックをいれます。

mysql_percona_005

「Create」を押下しグラフを作成します。

mysql_percona_006

Percona Pluginの動作確認

10分程待ち、グラフが描画されている事を確認します。

mysql_percona_007

動作確認環境

  • 最終動作確認日 : 2015/01/10
  • CentOS 6.6 (Sakura VPS), Redhat 6.5 ( Amazon AWS )
  • httpd-2.2.15-39.el6.x86_64
  • cacti-0.8.8b-7.el6.noarch
  • percona-cacti-templates-1.1.4-1.noarch

シェアする

  • このエントリーをはてなブックマークに追加

フォローする