By utahta, on 1月 10th, 2010%
下書きで放置していたSNMPに関するメモ。
インストール
Net-SNMPからソースをダウンロード。
$ tar zxvf net-snmp-5.4.2.1.tar.gz
$ cd net-snmp-5.4.2.1
$ ./configure --prefix=/usr/local/net-snmp-5.4.2.1 --disable-embedded-perl --without-perl-modules
************** Configuration Section **************
-Press return to continue-
Default version of SNMP to use (3):
System Contact Information (@):
System Location (Unknown):
Location to write logfile (/var/log/snmpd.log):
Location to write persistent information (/var/net-snmp):
$ make
# make install
必要であれば、エイリアスを設定。
$ cd /usr/local
# ln -s net-snmp-5.4.2.1 net-snmp
SNMP設定
# vi /usr/local/net-snmp/snmpd.conf
... 以下、設定内容。
com2sec hogetest 192.168.11.0/24 hogetest_com
com2sec hogetest localhost hogetest_com
group hogetest_grp v1 hogetest
view hogetest_view included .1.3.6.1.4.1.2021
access hogetest_grp "" any noauth exact hogetest_view none none
exec writetest /usr/local/net-snmp/a.sh
...
アクセスサンプル用のテキスト
# vi /usr/local/net-snmp/a.sh
/bin/echo aaa
起動
# snmpd -Lsd -Lf /var/log/snmpd.log -p /var/run/snmpd -a
-Lsd : syslogを有効にする
-Lf : snmpdの出力を送るファイル名の指定
-p : ファイル名 プロセスIDを保存するファイル名
-a : 送信元IPアドレス(NMS)をログに記録する
OIDを取得
英文字の形(OID = name)
$ ./snmpwalk -OQS -c hogetest_com -v 1 localhost .1.3.6.1.4.1.2021.8.1.extNames | grep writetest
数値の形(OID = name)
$ ./snmpwalk -OQSn -c hogetest_com -v 1 localhost .1.3.6.1.4.1.2021.8.1.extNames | grep writetest
値(exec)を取得
$ ./snmpget -c hogetest_com -v 1 localhost UCD-SNMP-MIB::extOutput.1
UCD-SNMP-MIB::extOutput.1 = STRING: aaa
$ ./snmpget -OQv -c hogetest_com -v 1 localhost UCD-SNMP-MIB::extOutput.1
aaa
参考
NET-SNMPのインストール
SNMPによるネットワークシステムの監視
SNMPによるネットワークモニタリング
By utahta, on 1月 10th, 2010%
下書きで放置していた cacti に関するメモ。
インストール
$ tar zxvf cacti-0.8.7a.tar.gz
$ cp cacti-0.8.7a /path/to/
$ cd /path/to
$ ln -s cacti-0.8.7a cacti
$ cd cacti/include
$ vi config.php
apache のエイリアスをきってからアクセス。
アクセス先は、http://path/to/cacti/ とか。
0.8.7b バグ
Invalid PHP_SELF Path とか表示されたら、下記のように修正すればよいらしい。
(- が修正前、+ が修正後。-, + は実際はいらない)
include/global.php 113行目
- if (!((is_file($_SERVER["SCRIPT_FILENAME"])) && (substr_count($_SERVER["SCRIPT_FILENAME"], $_SERVER["PHP_SELF"])))) {
+ if (!((is_file($_SERVER["SCRIPT_FILENAME"])))) {
新しい定義
- スクリプトを書く
- DataInputMethod を cacti で定義。
- Data Templates を cacti で定義。
- Data Sources を cacti で定義。
- Graph Templates を cacti で定義。
By utahta, on 4月 26th, 2009%
valgrind とは?
linux 環境で動く超強力なメモリデバッガー。
メモリリークや、セグメンテーション違反を起こしている正確な位置を教えてくれる。
以下、使い方メモ。
使用バージョンは、valgrind-3.2.1
メモリリーク検出など
$ valgrind --leak-check=full ./program arg1 arg2
ヒーププロファイラ
$ valgrind --tool=massif ./program arg1 arg2
メモリをデバッグしてみる
1. バッファオーバーランとメモリリークを行うソースコードを記述
$ vi main.cpp
#include <stdio.h>
int main()
{
int *a = new int[2];
a[2] = 0; // バッファオーバーラン
return 0; // メモリリーク
}
2. コンパイルする
3. 検証する
$ valgrind --leak-check=full ./a.out
... 省略 ...
・バッファオーバーラン検出
==10945== Invalid write of size 4
==10945== at 0x80484AA: main (main.cpp:7)
==10945== Address 0x410E030 is 0 bytes after a block of size 8 alloc'd
==10945== at 0x40057F5: operator new[](unsigned) (vg_replace_malloc.c:195)
==10945== by 0x80484A0: main (main.cpp:5)
==10945==
==10945== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 17 from 1)
==10945== malloc/free: in use at exit: 8 bytes in 1 blocks.
==10945== malloc/free: 1 allocs, 0 frees, 8 bytes allocated.
==10945== For counts of detected errors, rerun with: -v
==10945== searching for pointers to 1 not-freed blocks.
==10945== checked 87,724 bytes.
・メモリリーク検出
==10945== 8 bytes in 1 blocks are definitely lost in loss record 1 of 1
==10945== at 0x40057F5: operator new[](unsigned) (vg_replace_malloc.c:195)
==10945== by 0x80484A0: main (main.cpp:5)
==10945==
==10945== LEAK SUMMARY:
==10945== definitely lost: 8 bytes in 1 blocks.
==10945== possibly lost: 0 bytes in 0 blocks.
==10945== still reachable: 0 bytes in 0 blocks.
==10945== suppressed: 0 bytes in 0 blocks.
==10945== Reachable blocks (those to which a pointer was found) are not shown.
==10945== To see them, rerun with: --show-reachable=yes
ヒーププロファイラを試してみる
1. massifモードで起動する
$ valgrind --tool=massif ./a.out
2. massif.pid.ps ファイルが作成されている。Postscriptでは見づらいので、PDFへ変換すると良さげ。
雑感
頭良すぎだろ。惚れた。
By utahta, on 1月 8th, 2009%
Windows のターミナルソフト TeraTerm。
vi とかで Delete キーが効かない問題。
結果として、キーマップ設定ファイルがおかしかったっぽい。
デフォルトで読み込まれるファイルが KEYBOARD.CNF。
そのファイルは、 IBMKEYB.CNF を元に作成されていて、
IBMKEYB.CNF のキーマップがずれていることが原因らしい。
前のバージョンを引き継いでるかららしいけど、過去のキーマップだから古いのかなー。
簡単な対策として。
1.とりあえずインストール先ディレクトリに移動(C\:Program Files\teraterm)
2.まず KEYBOARD.CNF をバックアップ用に __KEYBOARD.CNF にリネームして保存。
3.続いて FUNCTION.CNF をコピーして KEYBOARD.CNF という名前で保存。
4.TeraTerm起動後、設定 → キーマップ読み込み → KEYBOARD.CNF を読み込む。
5.設定 → キーボード の Delete にチェックが入っていたらはずす。
たぶん、これでおk。
By utahta, on 5月 12th, 2008%
WordPress2.5.1 と MovableType4.1 を比較した感想めも。
・導入
○ WordPress
× MovableType
WordPressの勝ち。ページ表示まで、アップロード込みで数分かからず終了。
MovableTypeもさほど難しくないが、CGIのパーミッション設定が面倒。
・デザインテンプレート
○ WordPress
× MovableType
WordPress の圧勝。配布されているデザインをフォルダごと指定位置にアップロードしたら管理画面から一瞬で変更できた。
MovableTypeはとにかく面倒。あるサイトで配布されていたデザインに変えるためには、プラグインが必要と知ったときはがっくりした。
・記事投稿
△ WordPress
△ MovableType
どちらもさほど差はなし。
個人的には、MovableTypeの方が、若干使いやすかったかも。
・ウィジェット
× WordPress
○ MovableType
MovableTyepの圧勝。管理ページ上から作成する事が可能。
WordPressは、どう作成していいのかすら良く分からない。プラグインがどうも要りそうな気がする。
・プラグイン
特に差は感じず。というか特に使用していないので分からない。
どうもWordPressの方が、全体的にお手軽簡単な様子。
ここはひとつWordPressにしますかねー。
By utahta, on 5月 5th, 2008%
Eclipse 3.2 から 3.3 に入れ直したらエラーが発生したので対処メモ。
WindowsXP, JRE 1.6
以下が発生したエラー。
JVM terminated exit code=-1
…略
最初にした対処は、eclipse.ini を編集して
-Xms40m
-Xmx256m
を削ることでした。
しかし、こやつらを削るとCDTのインデクサー作成などでメモリ不足とか言われてしまう。
どうにかならないものかなーと思ってとりあえず上記の削除したのを戻して、
-showsplash
だけを消してみたところ、なんかうまく行った。
なぜ!?
インストールしたのは、PDTのall-in-oneの Eclipse 3.3
詳しい事は、また再発したら調べる事にする。
今は快適に動作中。
By utahta, on 5月 2nd, 2008%
ふと気づいたら10件以降の記事が見れなくなっとるーー!!
もしかして昔からそうだったのかな・・・。
ということで、ちょこっとカスタマイズ。
<div class="entry_navi_page">{prev_page_link} | {page_now}/{page_num} | {next_page_link}</div>
とりあえずこれで10件以降も見ることができるようになった。
相変わらず謎の定義がありますが、まぁとりあえずできたから良しとしよう。
誰がこの謎の定義をしているのだろう。・・・ロリポおじさん?
By utahta, on 3月 31st, 2008%
ロリポブログを少しカスタマイズしてみました。
タイトルをクリックしてその記事を選択できないのが常々なんだか不便だなぁと思っていたので、変更してみた。
{entry_title}
を
<a href=’{entry_permalink}’>{entry_title}</a>
に書き換え。
後はCSSをちょろっといじくり見た目を整えて終了。
これでエントリータイトルをクリックすれば、その記事に飛ぶようになった。
しかし{entry_title}とか定義はどこに書いてあるんだろう。
若干そこらへんが気になった。
By utahta, on 3月 20th, 2008%
そういえば、eclipseを入れるの忘れてたなーと思ってインストール。
今回は、PDTを入れてみようとやってみました。
とりあえず、all-in-oneではなく、普通のプラグインから入れようと思って、やってみたのだけども、これがなかなか面倒。
まずPDTを検索&インストールから入れてみようとしたら、WTPあたりがないと駄目と言われた。
Web Tools Platform (WTP) Project
これをプラグインから入れるときは、Required Prerequisites(必要な前提条件)も入れておく必要があります。
ここまで入れてPDTをやり直したら、構成エラー。
これは、あれか。eclipse3.2じゃダメってことなのか。
面倒くさくなったので、pdt-all-in-oneからインストール。
eclipse3.3になって、正式な言語パックが使えなくなってしまったので、Pleiades を入れて日本語化。
ついでにAptanaもプラグインとしてインストール。
http://update.aptana.com/install/3.2/ で大丈夫かな?と思ってやってみたけど、大丈夫っぽい。
これでばっちり!
By utahta, on 12月 16th, 2007%
WindowsのiTunesをディスクにバックアップしようとおもたら
ディスク作成機能またはソフトウェアが見つかりません
ってなエラーが出た。なんじゃこりゃ。
ググってみると、どうやらDaemonToolsとのコンフリクトの模様。
以下、対策メモ。
1. DaemonToolsをアンインストールして再起動。
2. c:/windows/system32/drivers/sptd.sys を削除して再起動。
参考[ググった結果]