差分

提供: fukudat.net
ナビゲーションに移動検索に移動
4,850 バイト追加 、 2020年8月3日 (月) 12:17
[https://docs.cacti.net/ Cacti ] は、データロギングツール RRDtool (Round-Robin Data tool) のGUIフロントエンド。
fukudat.net (Ubuntu 16.04) にインストールして、家庭内アプリケーションの運用管理に利用中。外部からはアクセスできないように設定されている。
== Configure ==
* http://fukudat.net/cacti にアクセスして、User = admin でログイン。パスワードを設定する。* 画面左下の User Management をクリック。guest ユーザを選んで Delete + GO で guest ユーザを削除。* ssh でサーバーにログインして、/usr/share/cacti/sites に .htaccess ファイルを作り、アクセス可能なユーザの設定を行う(気休め)。* 最初から、Memory Usage, Load Average, Logged In Users, Processes のグラフが記録されている。Graph タブを選択すると表示される。
画面左下の User Management をクリック。guest ユーザを選んで Delete + GO で guest ユーザを削除。=== SNMP の設定 ===
ssh でサーバーにログインして、/usretc/sharesnmp/cactisnmpd.conf を編集して、1行追加。<pre>rocommunity private localhost</sites に .htaccess ファイルを作り、アクセス可能なユーザの設定を行う(気休め)。pre> snmpd を起動し、今後は自動で起動するように設定。<pre>$ sudo systemctl start snmpd$ sudo systemctl enable snmpd</pre> === Cacti UI での設定 === Device → localhost を開き、* SNMP Version = Version 1* SNMP Community = privateと入力し、Save ボタンを押す。 === システム監視グラフの追加 === ==== Network Traffic Graph の追加 ====
最初から、Memory * Device → localhost → Associated Data Query の Add Data Query で "SNMP - Interface Statistics" を選択して Add* New Graphs → Data Query "SNMP - Interface Statistics" セクションに network interface (lo, eth0 など) がリストされているはずなので、チェックして Create ==== CPU Usage Graph の追加 ==== * Device → localhost → Associated Graph Template の Add Graph Template で "ucd/net - CPU Usage" を選択して Add* New Graphs → Graph Template セクションの "Create: ucd/net - CPU Usage, Load Average, Logged In Users, Processes のグラフが記録されている。Graph タブを選択すると表示される。" をチェックして Create
== 任意のデータの時系列グラフ化 ==
=== データ収集 データ収集コマンド ===
その時刻の最新の情報を出力するコマンドを作成する。例えば、/usr/local/bin/cacti-temperature という温度を測定するコマンドを考える。その時刻の最新の情報を出力する次のようなコマンド (script) を作っておく。
<pre>
$ cacti-temperature "devicecommand-name" param1 param2 ...field1:value1 field2:value2 ...
</pre>
を実行すると、"device-name" で指定したデバイスが測った温度と湿度が以下の形式で stdout に出力されるものとする。ここで、param1, param2... はコマンドに与える引数で、Cactiから見た入力フィールドの値になる。field1:value1, field2:value2... はコマンドが標準出力に出力する文字列で、field が Cacti 絡みた出力フィールド、value がその値となる。
例えば、"cacti-temperature" というコマンドは引数で指定する "device-name" が測った温度と湿度が以下の形式で stdout に出力されるものとする。
<pre>
$ cacti-temperature U1t: 数字 25.7 h:数字55.4
</pre>
=== Cacti グラフ作成 ===コマンドが用意できたら、Cacti UI での設定 を以下のように操作する。 * Collection Methods >> Data Input Methods をクリック* Data Input Methodsセクションの右上Addをクリック* Name: 適当な名前をつける* Input Type: Script/Command* Input String: コマンドのfull pathと引数に名前をつけてを<, >で囲って入力する.例えば,/path/to/command <param1> <param2>* Createボタンをクリック* 入力フィールド(コマンドへの引数)それぞれについて,Input Fieldsの右上Addをクリックして以下を入力** Field: 上記Input Stringで指定した引数を一つ選ぶ** Friendly Name: わかりやすい名前をつける** Regular Expression Match: 引数がマッチすべき正規表現.空でもよい.** Allow Empty Input: 引数が空でもよければチェック** Special Type Code: ふさわしい型があったらそれを入力* 出力フィールド(コマンドの出力変数)それぞれについて,Output Fieldsの右上Addをクリックして以下を入力** Field: フィールド名 (コマンドが出力するものと一致すること)** Friendly Name: わかりやすい名前をつける** Update RRD File: この値を使うならチェック以上でData Input Methodは登録完了. 続いてこのData Input Methodを使ったData Sourceの定義.* Management >> Data Sources をクリック* Data Sourcesセクションの右上Addをクリック* Selected Data Template: None* Host: None* Createをクリック* Data Source: 適当な名前をつける (/var/lib/cacti/rra/の下にこの名前で始まるファイルができて,そこにデータが溜まる)* Data Source Path: なにも指定しない* Data Input Method: 上で作成したData Input Methodを選ぶ* 出力フィールドごとに以下を入力する** Internal Data Source Name: 出力フィールド名** Minimum Value: 最低値.存在しない場合はU** Maximum Value: 最大値.存在しない場合はU** Data Source Type: GUAGE, COUTNER, DERIVE, ABSOLUTE** Heartbeat: 600** Createをクリック** まだ出力フィールドがある場合はNewをクリックして繰り返す以上でData Sourceの登録完了. このData Sourceを使ったグラフを作る.* Management >> Graph Managementをクリック* Graph Managementセクションの右上Addをクリック* Selected Graph Template: None* Host: None* Createをクリック* Title: グラフのタイトル* 後はデフォルトのままでCreateをクリック* このグラフに表示したいグラフアイテムそれぞれについて,Graph Itemセクションに右上Addを押して以下を入力** Data Source: 上で作成したデータソースの出力フィールドを選ぶ** Color: グラフの色を選ぶ** Opacity/Alpha Channel: 不透明度を選ぶ** Graph Item Type: 折れ線グラフならLine[123]** Consolidation Function: 値を集計する演算** 後はデフォルトでCreateをクリック 最後に、作ったグラフを Graph Tree に配置する。* Graph Tree >> グラフを配置したい Tree を選択 (まだ作っていなければ、Add で作成する)* Tree Items の Add を押す* Parent Item = root* Tree Item Type = Graph* Graph = 上で作った Graph を選ぶ* Round Robin Archive = 表示したい Graph の時間スケールを選ぶ (Daily) === グラフが更新されなかったら? === まずデータを格納している rrd ファイルが <code>/var/lib/cacti/rra/</code> の下にできているかどうか確認する。できていない、あるいは更新日時が新しくなっていなければ、pollar が動作していない。 pollar cache を更新してみる。<pre>$ cd /usr/share/cacti/cli/$ php rebuild_poller_cache.php </pre> mysql で cacti の poller_item が更新されているか確認。<pre>$ mysql -u root -p cacti$ select * from poller_item;</pre> ==プラグイン == === murlin ===[https://docs.cacti.net/userplugin:murlin murlin] は Cacti で URL Monitoring を行うプラグイン。
==== Data Input Method の作成 =thold ===[https://docs.cacti.net/plugin:thold#thold thold] は Cacti にadminでログインし、サイドメニューから、"Data Input Method" を選択。で閾値条件でメールを出すプラグイン。
右上の "Add" をクリック。"Name" に分かりやすい名前(例: temperature)を入力。"Input Type"には Script/Command を選ぶ。"Input String"にはコマンド名 (例: /usr/local/bin/cacti-temperature) を入力。"Create" をクリックして新しい Data Input Method を作成する。== データ移行プロジェクト ==
==== Data Fieldの定義 ====* 温度計 C0, U1, U2 済み引き続き、このコマンドが入出力するフィールドを定義する。* 温度計 T1, T2 済み* ガイガーカウンター gm10 済み* IIJmio 済み
Input Fields 行の右端の "Add" ボタンを押す。== 参考文献 =="Friendly Name" には分かりやすいフィールド名(例* https: device name)を入力。"Create" をクリックして新しい Data Input Field を作成する。//docs.cacti.net/
次に、Output Field 行の右端の "Add" ボタンを押す。"Field" にはコマンドが出力するタグの値 (例[[Category: t とか h) を入力。"Friendly Name" には分かりやすい名前 (例How-To]][[Category: temperature とか relative humidity) を入力。"Create" をクリックして新しい Data Output Field を作成する。fukudat.net]]

案内メニュー