ラベル Cacti の投稿を表示しています。 すべての投稿を表示
ラベル Cacti の投稿を表示しています。 すべての投稿を表示

PHPとかCacti使うから使ってるけど、知らないし・・・

Cactiを使うためには、PHPとかが必要です。
でね、使ってると日本語使いたくなるよね。
グラフのタイトルとか・・・

先輩方もおられるようなので、数年前にこの記事を参考に私もやりました。
http://alumini-alumi.seesaa.net/article/166329721.html

実際は、ちょっと間違いがあって、

mb_convert_encoding ( 対象の文字列,変更後のエンコード, 変更前のエンコード)

グラフにはSJISで渡さないといけないので、UTF-8とSJISの場所が逆なんですよね。

まぁ、これは参考にした際にハマりました。遠い過去の話です。

ところで、スクリプトを追加して新しい監視項目を増やそうとしたのですが、
うまく動かないので色々試してた時のことなんですけど、
php.exe scripts\ss_tping.php google.com
とコマンドで実行するとちゃんと結果が帰ってくるんだけど、
Cactiで実行すると値が帰ってこないんですよ

でね、PHPのバージョンを新しくしてみたら動くのでは?と
新しいPHPをとってきて、php.iniを設定するわけですよ。
まじめだから、Cactiのマニュアルを見て、編集個所を確認して・・・

で、入れ替える。

動きません!!

で色々調べてみてわかったこと。

extension=php_mbstring.dll

が標準ではコメントアウトされている。
私のCactiは日本語化して、mb_convert_encoding()関数を使っているので、
当然、この設定変更は必須なんですよね。

PHPを使っている人にとっては当たり前なんだろうけど、
私はPHPを入れただけの人なので、この辺はさっぱりなんだよね。

でも、今回のことで学びました。
次にバージョンアップする際はコメントアウトを外さないとダメ!!
私にとってPHPはCactiを動かすために必要な部品なので、この程度の理解でいいのさ~

mb_convert_encoding()関数を使わずにグラフを日本語対応するってのにチャレンジしてできなかったのはここだけの話だ。

訂正!!データソース名変更は簡単だった!!

先日、MRTGで作成するRRDTool形式のファイルのデータソース名を変更すのは、一度XMLに変換して編集する必要があると投稿しましたが、rrdtuneの存在をすっかり忘れていました。
めったに使うことがないコマンドなので申し訳ない。


rrdtool.exe tune filename --data-source-rename old-name:new-name

これで簡単にできます。


RRDToolからCactiにトラフィックデータを変換する場合は、ds0をtraffic_in、ds1をtraffic_outに変換してすればいいから次のコマンドでOK。


rrdtool.exe tune filename --data-source-rename ds0:traffic_in -r ds1:traffic_out

 このコマンドをBATファイルにしておけば、簡単に変換できるね


これさえあれば、ファイル名を変更して上書きする作業も入れても十数秒なので、5分間隔の取得処理の間にやるにしてもかなり余裕のある作業ですね。



RRDToolからCactiへ

MRTG+RRDTool+14all.cgiからCactiへ移行する場合、何も考えずに作業すると、データを含めゼロからの再スタートとなります。


CactiはRRDToolを使うといっても、データ取得のための設定はMRTGとは異なります。
だって、Net-SNMPを使ってデータを取得してRRDToolを使って保存しますからね。


そういうわけで、設定ファイルは作り直す必要があります。
でもね、データ自体はRRDTool形式のファイルなんですよ。
だから、今までのデータをそのまま移行さすことは不可能ではない!!はず。


 


とりあえず、やってみましょう



  1. Cactiで依然と同じ情報を取得できるように設定しグラフが生成できることを確認

  2. MRTG+RRDToolのrrdファイルをCactiの設定に合わせる作業を行う。

    • rrdtool dump filename.rrd filename.xml

    • xmlファイルをテキストエディタで開き、データソース名(ds-name)をCactiに合わせて変更
      ds-nameはMRTGを使っていればDS0とDS1ですね。

    • rrdtool restore filename.xml newfilename.rrd



  3. Cactiのrrdファイルを前項で作成したrrdファイルで上書きします。


この作業をrrdファイル分すべてを実施し、5分間のポーリングの間に実施すれば、データの欠落もなく、移行することができます。


まぁ、数が多いと移行作業も大変だろうけど、この手のデータは過去と比較して異常を察知するものなので、やる価値はありますね。


 


実は、もう一つ方法があって、Cactiのデータソーステンプレートを編集してds-nameをMRTGのDS0とDS1に合わせてしまうという方法。この方法だと、ファイルの上書きだけで移行できますよ。



SharePoint アイテム保管ライブラリをのぞいてみよう(2025年12月改訂)

※2025年コンテンツ検索等の機能がリニューアルされましたので修正しました。 ※2023年アカウント移行に失敗し画像を失ったので再度取得し改訂しました。 Office 365 Advent Calendar 2021  の12月16日投稿です。 警告: 個人的な理解に基づく内容、...