What Would Jesus Do?

カテゴリ:Linux( 47 )




nagiosでOracleの接続確認

nagiosではOracleのプラグインとして、check_oracleがあります。
ただ、監視可能な項目は下記となり、実際にqueryを発行しての接続確認ができません。
check_oracle --tns
check_oracle --db
check_oracle --login
check_oracle --cache
check_oracle --tablespace
check_oracle --oranames
check_oracle --help
check_oracle --version

ちなみに、mysqlのプラグインのcheck_mysqlの場合、接続確認ができます。

確認したところ、Oracleのqueryを発行しての接続確認ができるプラグイン、
check_sql_queryがありました。(exchange.nagiosからダウンロードできます)

/usr/lib64/nagios/pluginsに配置した後、下記を自分の環境に合わせます
79 export ORACLE_HOME=
80 export PATH=PATH=

コマンドは
check_sql_query access_file query_file
となります。

access_fileの中身は
USERNAME ユーザネーム
PASSWORD パスワード
CONNECTION_STRING ORACLE_SID

query_fileの中身は
SQL_QUERY select分
となります。

接続確認OKの場合こんな感じになります。
# /usr/lib64/nagios/plugins/check_sql_query access_file query_file
[OK] successful sql query execution | elapsedTime=1secs
[PR]



by cimacoppi | 2012-12-13 12:25 | Linux

mod_perlをインストール

前回perlのインストールが完了しましたので、
今回はmod_perlのインストールを行います。

mod_perlはここから、
ダウンロード可能です。
※前提条件としてapache2が/usr/local/apache2にインストールされているとします。

インストールは下記のようになります。
wget http://perl.apache.org/dist/mod_perl-2.0.5.tar.gz

perl Makefile.PL MP_APXS=/usr/local/apache2/bin/apxs
make test
make install

perlのインストール時に
-de -Accflags='-fPIC'
のオプションを付けないと、make時に下記のようなエラーとなります。

/usr/bin/ld: /usr/local/perl-5.8/lib/5.8.9/x86_64-linux/CORE/libperl.a(gv.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/local/perl-5.8/lib/5.8.9/x86_64-linux/CORE/libperl.a: could not read symbols: Bad value
collect2: ld はステータス 1 で終了しました
make[1]: *** [mod_perl.so] エラー 1

インストールが完了すると
/usr/local/apache2/modules/
にmod_perl.soが生成されます。

httpd.confには下記を追加します。

LoadModule perl_module modules/mod_perl.so

Files *.cgi
SetHandler perl-script
PerlHandler ModPerl::Registry
PerlSendHeader On
Options +ExecCGI
/Files

mod_perlの確認としては、
cgi-bin以下の
printenvをprintenv.cgiに変更して、
ブラウザよりアクセスすると

SERVER_SOFTWARE="Apache/2.2.22 (Unix) mod_ssl/2.2.22 OpenSSL/1.0.0-fips mod_perl/2.0.5 Perl/v5.8.9"

と表示され、mod_perl とperlの確認ができます。
[PR]



by cimacoppi | 2012-02-20 14:16 | Linux

perl5.8系をインストール

CentOS6系の場合、Perlのバージョンは5.10系がインストールされています。
5.8系をインストールする場合はソースからコンパイルする必要があります。

ソースはここからダウンロード可能です。
5.8系の場合は

rsync -avz rsync://perl5.git.perl.org/APC/perl-5.8.x .

となります。

configureは下記のようになります。

./Configure -de -Accflags='-fPIC' -Dprefix=/usr/local/perl-5.8

今回はその後、mod_perlのインストールを考えているので、
オプションで
-de -Accflags='-fPIC'
を追加します。このオプションを付けないと、mod_perlのmake時に
エラーが発生します。

その後
make test
make install
で完了です。

/usr/local/perl-5.8/bin/perl
にインストールされるので、後はシンボリックリンクで
ln -s /usr/local/perl-5.8/bin/perl /usr/local/bin/perl

と設定しとけばよいですね。
[PR]



by cimacoppi | 2012-02-20 14:06 | Linux

CentOS6でhttpdのログローテーションンの設定を行う

以前CentOS6でcron.dailyの設定方法を書きましたが、
今回は、httpdでdaily・圧縮ログローテーションン設定方法を書きます。

/etc/logrotate.confの設定は
daily
create
dateext
compress

に設定しています。

/etc/logrotate.d/httpd
はデフォルト設定となります。

/var/log/httpd/*log /var/log/httpd/*/*log {
missingok
notifempty
sharedscripts
delaycompress
postrotate
/sbin/service httpd reload > /dev/null 2>/dev/null || true
endscript
}

これで、ログローテーションを行ったのですが、
うまく圧縮ができませんでした。
調べたところ
delaycompress コマンドを設定していたため、
圧縮ができてませんでした。

と言うことで、設定を下記のように変更しました。

/var/log/httpd/*log {
daily
missingok
ifempty
sharedscripts
postrotate
/sbin/service httpd reload > /dev/null 2>/dev/null || true
endscript
}

これで、ローテーション後に圧縮ができました。
[PR]



by cimacoppi | 2012-02-02 18:57 | Linux

CentOS6でcron.dailyの設定を行う

CentOS6で/etc/crontabを確認すると、
下記のような記述となっています。

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed

みたところcron.dailyなどの設定が見当たりません。

cron.dailyなどの設定をするには
cronie-noanacron
をインストールして
cronie-anacron
をアインストールする必要があります。

上記を行うと

/etc/cron.d/dailyjobs
/etc/cron.d/0hourly

で設定を行うことが可能です。
[PR]



by cimacoppi | 2012-01-23 20:17 | Linux

SELinux設定を無効にする

SELinuxはセキュリティ上、とても強力だと思います。
ただ、あまりに強力すぎてサーバ運用時には少し不便になる場合があります。

そんな場合はSELinuxを無効にします。

まずはSELinxの状況確認です。
確認コマンドは
sestatus
となります。

有効の場合は、

SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Mode from config file: disabled
Policy version: 21
Policy from config file: targeted

と表示されます。

設定を無効にする場合は、
/etc/selinux/config
を修正します。
【変更前】
SELINUX=enforcing
【変更後】
SELINUX=disabled

設定を反映させるにはサーバのrebootが必要となります。

reboot後sestatusコマンドを実行すると

SELinux status: disabled

となります。

AWSのAMIでManifest名にHourly2と記載されている、
RHELはSELinuxはデフォルト有効設定となっていたので、
覚えておこう。
[PR]



by cimacoppi | 2012-01-14 00:56 | Linux

シンボリックリンクファイルのオーナー・グループを変更する

オーナー・グループを変更するコマンドとして、
chownコマンドがあります。
通常コマンドとしては、
chown user:group ディレクトリ(ファイル)
とします。

しかし、シンボリックリンクファイルの場合、
上記コマンドでは、変更ができません

例えば、シンボリックリンクファイルtomcatで
試してみます。

[root@ip-10-150-175-70 opt]# chown root:root tomcat
[root@ip-10-150-175-70 opt]# ls -l
lrwxrwxrwx 1 root root 20 1月 14 00:18 tomcat -> apache-tomcat-6.0.35

オーナー・グループが変わっていないのが、わかります。

そんな場合は、オプション -h を指定します。

[root@ip-10-150-175-70 opt]# chown -h www:www tomcat

lrwxrwxrwx 1 www www 20 1月 14 00:18 tomcat -> apache-tomcat-6.0.35

オーナー・グループが変更しているのが分かります。

これで一つ解決です。
[PR]



by cimacoppi | 2012-01-14 00:28 | Linux

s3cmd 1.0.1をインストール

現在yumでs3cmdコマンドをインストールすると、
バージョン 0.9.9.91がインストールされます。

CentOS6で0.9.9.91を利用しますと、
下記のWarningがでます。

/usr/lib/python2.6/site-packages/S3/Utils.py:17: DeprecationWarning: the sha module is deprecated; use the hashlib module instead

このWarningは、1.0.1をインストールして回避できます。

s3cmdはここからダウンロードできます。

インストールは解凍後、
python setup.py install
となります。

Warningが気になる場合は、インストールをしてみてはどうでしょうか
[PR]



by cimacoppi | 2012-01-06 13:49 | Linux

MySQL5.1をソースからコンパイル

今回は、MySQL5.1系のソースからのコンパイル方法を書きます。

まずは、ncurses-devel をインスールです。

yum install ncurses-devel

MySQLはここからSource Codeを指定してダウンロードします。

今回は/usr/local/mysql にインストールします。

innodbを利用する場合は、オプションでinnobaseを指定します。

./configure --prefix=/usr/local/mysql --with-plugins=innobase
make
make install

インストール後データを初期化します。
/usr/local/mysql/bin/mysql_install_db


起動スクリプトは
/usr/local/mysql/share/mysql/mysql.server
となりますので、これをmysqlとして
/etc/rc.d/init.d/
にコピーします。

my.confのサンプルは
/usr/local/mysql/share/mysql/

my-small.cnf
my-medium.cnf
などがありますので、
サーバのスペックに合わせて利用可能となります。

後はいつものように
/etc/rc.d/init.d/mysql start
で起動します。
[PR]



by cimacoppi | 2012-01-05 22:22 | Linux

sudoで一般ユーザでapacheを起動する

通常一般ユーザでは、apacheの起動を、
することができません。

一般ユーザでapacheの起動などをしたい場合は、
sudoを利用します。

今回はsampleグループに属している、
ユーザにapache起動権限を付与します。

sudoのエディタとしてvisudoがありますのでこれを利用します。

visudoコマンドを実行して、
最終行に下記を追加します。

%sample ALL=NOPASSWD: /sbin/service httpd start

保存後実際に実行してみます。

[root@cimacoppi ~]# su - sample
[sample@cimacoppi ~]$ sudo /sbin/service httpd start
httpd を起動中:

[sample@cimacoppi ~]$ ps -efw | grep httpd
root 15419 1 0 15:03 ? 00:00:03 /usr/sbin/httpd
apache 15422 15419 0 15:03 ? 00:00:00 /usr/sbin/httpd
apache 15423 15419 0 15:03 ? 00:00:00 /usr/sbin/httpd
apache 15424 15419 0 15:03 ? 00:00:00 /usr/sbin/httpd
apache 15425 15419 0 15:03 ? 00:00:00 /usr/sbin/httpd
apache 15426 15419 0 15:03 ? 00:00:00 /usr/sbin/httpd
apache 15427 15419 0 15:03 ? 00:00:00 /usr/sbin/httpd
apache 15428 15419 0 15:03 ? 00:00:00 /usr/sbin/httpd
apache 15429 15419 0 15:03 ? 00:00:00 /usr/sbin/httpd
sample 25578 24862 0 15:10 pts/0 00:00:00 grep httpd

apacheが起動していることがわかります。

root権限を渡せない環境の場合は、非常に便利なコマンドです。
[PR]



by cimacoppi | 2012-01-04 15:12 | Linux

クラウド・ノイズ
by cimacoppi
プロフィールを見る
画像一覧

検索

最新の記事

mod_line_editを..
at 2012-12-14 22:25
nagiosでOracleの..
at 2012-12-13 12:25
s3cmdでmultipar..
at 2012-12-06 15:59
tcpservr をssl化する
at 2012-03-10 21:50
telnetコマンドでpop..
at 2012-03-06 15:59

最新のトラックバック

ファン

ブログジャンル

画像一覧