ORACLE仕事備忘録

ORACLEやORACLE周りの仕事でのちょっとしたメモに使っています。

Linuxのシステムレポートを作る!!

2005-09-04 01:52:02 | OS、ハードのお話
委託業務でサーバー管理をしているため
システム状態のレポートを出せるとクライアントウケがいいと思い
MRTGの導入を決めました。
(ほしいレポートはCPUとメモリの使用率グラフ)

手始めにSNMPの設定をしました。
> rpm -qa |grep snmp
net-snmp-5.0.9-2.90.1

SNMPが入っていると思い
snmpwalk
コマンドを実行したら、command not found と言われた。
どうやら、snmp-utils も必要なようだ。
ということで
http://rpmfind.net/linux/RPM/index.html
から snmp-utils をダウンロード & rpm -ivh してインストール完了。

service snmp start で無事プロセスが起動した。
但し、設定ファイルをまだいじってないので設定をしました。

色々試行錯誤した結果、下記のような設定になりました。
(変更した部分だけを掲載)
################################################################
# First, map the community name "public" into a "security name"

# sec.name source community
#com2sec notConfigUser default public
com2sec local localhost public

####
# Second, map the security name into a group name:

# groupName securityModel securityName
#group notConfigGroup v1 notConfigUser
#group notConfigGroup v2c notConfigUser
group local_group v1 local
group local_group v2c local
group local_group usm local



####
# Third, create a view for us to let the group have rights to:

# Make at least snmpwalk -v 1 localhost -c public system fast again.
# name incl/excl subtree mask(optional)
#view systemview included .1.3.6.1.2.1.1
#view systemview included .1.3.6.1.2.1.25.1.1
view iin_all included .1
#view view_mib2 included .1.3.6.1.2.1
#view view_ucdavis included .1.3.6.1.4.1.2021


####
# Finally, grant the group read-only access to the systemview view.

# group context sec.model sec.level prefix read write notif
#access notConfigGroup "" any noauth exact systemview none none
access local_group "" any noauth exact iin_all none none
access secure_group "" any noauth exact view_mib2 none none



# Check the / partition and make sure it contains at least 10 megs.

#disk / 10000
disk /var 10

################################################################

このあと、以下手順で正常に動作することを確認。
[root@www log]# service snmpd restart
Stopping snmpd: [ OK ]
Starting snmpd: [ OK ]
[root@www log]# snmpwalk -v 1 localhost -c public .1.3.6.1.4.1.2021.9
UCD-SNMP-MIB::dskIndex.1 = INTEGER: 1
UCD-SNMP-MIB::dskPath.1 = STRING: /var
UCD-SNMP-MIB::dskDevice.1 = STRING: /dev/sda5
UCD-SNMP-MIB::dskMinimum.1 = INTEGER: 10
UCD-SNMP-MIB::dskMinPercent.1 = INTEGER: -1
UCD-SNMP-MIB::dskTotal.1 = INTEGER: 4127076
UCD-SNMP-MIB::dskAvail.1 = INTEGER: 147692
UCD-SNMP-MIB::dskUsed.1 = INTEGER: 3769740
UCD-SNMP-MIB::dskPercent.1 = INTEGER: 96
UCD-SNMP-MIB::dskPercentNode.1 = INTEGER: 0
UCD-SNMP-MIB::dskErrorFlag.1 = INTEGER: 0
UCD-SNMP-MIB::dskErrorMsg.1 = STRING:


次に、MRTGの設定。
snmp-utils と同じようにMRTGのRPMをDLしてインストール完了。

「Malformed UTF-8 character」というエラーが出た為、
localeを確認。
LANG=en_US.UTF-8 だったので、一時的に
export LANG=ja_JP.ujis
としておく。
気を取り直して
indexmaker -t INDEX mrtg.cfg > index.html
とすると、
Possible precedence problem on bitwise | operator at /usr/bin/../lib/mrtg2/BER.pm line 601.
Can't locate package $VERSION for @MRTG_lib::ISA at /usr/bin/indexmaker line 49
main::BEGIN() called at /usr/bin/../lib/mrtg2/MRTG_lib.pm line 49
eval {...} called at /usr/bin/../lib/mrtg2/MRTG_lib.pm line 49
ERROR: Line 9 (/home/users/e-newest/public_html/mrtg) in CFG file (mrtg.cfg) does not make sense
と、またまたエラー。。新しいことをすると壁も多いもんだ。
原因を調べたら
http://www.linuxhomenetworking.com/linux-hn/appendix-diff.htm

にビンゴな答えが。
言われた通り、
@ISA = qw(Exporter $VERSION);
の部分を
@ISA = qw(Exporter);
と修正。
Possible precedence problem on bitwise | operator at /usr/bin/../lib/mrtg2/BER.pm line 601.
のエラーは、設定ファイルに不備があったようだ。
# WorkDir: /home/http/mrtg
/home/users/e-newest/public_html/mrtg
をいう設定を
# WorkDir: /home/http/mrtg
WorkDir: /home/users/e-newest/public_html/mrtg
として再び
indexmaker -t INDEX mrtg.cfg > index.html
を実行。

Possible precedence problem on bitwise | operator at /usr/bin/../lib/mrtg2/BER.pm line 601.
というメッセージが出るが無視。

mrtg mrtg.cfg
を実行して、index.htmlをブラウザで表示させると
一応、グラフが表示された。
あとは、cronにmrtgコマンドの登録をして寝てまとう。

P.S お世話になったサイト様
http://www.jpring.net/jitaku/snmp-mrtg.html
http://www.atmarkit.co.jp/flinux/rensai/root08/root08c.html
http://www.ushio.net/linux/mrtg.htm

/varがピンチ

2005-09-01 17:56:31 | OS、ハードのお話
Linuxの/varがピンチである。
Used 100%ではないか。このサーバーではApacheが動いており
そいつが週に700Mのaccess_logを吐く。
先日、DiskFullでSendmailの送信が出来なくなってしまった。
そこで、/etc/logrotate.conf をいじってローテーションを2にしたのだが
それでも甘いようだ。
compress を有効にしといた。これで大丈夫だろう。

尚、logrotateについてここを参考にさせて頂きました。感謝。

NAS上にORACLEを!

2005-08-31 14:03:41 | OS、ハードのお話
会社のUNIX系マシンは空き領域が少ないので
NAS上にDBを作ることにした。
(NASって単なるNFSサーバーなんですね。IT用語は単語が多くて困る。。)

と、いうことで玄箱HGを購入。400GのHDDをくっつけてNFSマウントし
いざDB作成!が、失敗。(OracleのモジュールはローカルHDD内)
Linux+玄箱の場合はうまくいくのだが
Unix(Solaris,HP-UX PA-RISC,HP-UX Itanium)+玄箱の場合は
Create Database 文を実行した後、
制御ファイルを1つ作っただけで処理が止まっている。
恐らく制御ファイル作成完了のI/Oシグナルを受け取れていないのだろう。

今回の主たる目的はHP-UX Itanium上に100GB程度のDBを構築することなので
なんとしてもUNIX+NASでNAS上へのDB構築が必須である。
かくして、茨の道が始まった。。次回に続く!