「ほっ」と。キャンペーン

What Would Jesus Do?

カテゴリ:Linux( 47 )




PNP4Nagiosを利用してNagiosデータをグラフ表示

フリーの監視ツールとして、Nagiosが有名ですが、
PNP4Nagiosを利用してNagiosのデータをグラフ表示させることができます。

今回は、PNP4Nagiosの設定方法を書きまます。
※前提条件としてNaigosがインストール済みとします。

まずは、PNP4Nagiosのダウンロード
2011/09/07時点での最新版は0.6.14です。

wget http://sourceforge.net/projects/pnp4nagios/files/PNP-0.6/pnp4nagios-0.6.14.tar.gz/download

・グラフ作成に必要なモジュールインストール
yum install rrdtool
yum install libjpeg-devel libxml2-devel libart_lgpl-devel
yum install glib glib-devel libpng-devel freetype-devel gd-devel zlib-devel
yum install perl-Time-HiRes
・PNP4Nagiosコンパイル&make

./configure \
--prefix=/usr/lib/nagios/pnp4nagios \
--with-nagios-user=nagios \
--with-nagios-group=nagios \
--with-httpd-conf=/etc/httpd/conf.d

make all
make install
make install-webconf
make install-config
make install-init

・misccommands.cfg修正

cd /usr/lib/nagios/pnp4nagios/etc
mv misccommands.cfg-sample misccommands.cfg
vi misccommands.cfg

#下記コメントアウトを外す
define command {
command_name process-service-perfdata
command_line /usr/bin/perl /usr/local/nagios/pnp4nagios/libexec/process_perfdata.pl
}

define command {
command_name process-host-perfdata
command_line /usr/bin/perl /usr/local/nagios/pnp4nagios/libexec/process_perfdata.pl -d HOSTPERFDATA
}

・commands.cfg 修正

vi /etc/nagios/objects/commands.cfg

下記箇所をコメントアウト
==================================================
# 'process-host-perfdata' command definition
#define command{
# command_name process-host-perfdata
# command_line /usr/bin/printf "%b" "$LASTHOSTCHECK$\t$HOSTNAME$\t$HOSTSTATE$\t$HOSTATTEMPT$\t$HOSTSTATETYPE$\t$HOSTEXECUTIONTIME$\t$HOSTOUTPUT$\t$HOSTPERFDATA$\n" >> /usr/local/nagios/var/host-perfdata.out
# }


# 'process-service-perfdata' command definition
#define command{
# command_name process-service-perfdata# command_line /usr/bin/printf "%b" "$LASTSERVICECHECK$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICESTATE$\t$SERVICEATTEMPT$\t$SERVICESTATETYPE$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$\n" >> /usr/local/nagios/var/service-perfdata.out
# }
==================================================

・cgi.cfgの編集

cp cgi.cfg cgi.cfg.orig && sed -e "s/nagiosadmin/nagios/g" cgi.cfg.orig > cgi.cfg

・nagios.cfg の編集

vi /etc/nagios/nagios.cfg

下記2行を追記
# PNP4 Nagios
cfg_file=/usr/lib64/nagios/pnp4nagios/etc/misccommands.cfg

process_performance_data=0

process_performance_data=1

下記コメントアウトを外す
host_perfdata_command=process-host-perfdata
service_perfdata_command=process-service-perfdata

・グラフ化設定

vi /etc/nagios/objects/hoge.cfg

#グラフ化するコマンドに下記をラストに追加
process_perf_data 1
action_url /pnp4nagios/graph?host=$HOSTNAME$&srv=$SERVICEDESC$

・インストールファイルリネーム
mv /usr/lib/nagios/pnp4nagios/share/install.php /usr/lib/nagios/pnp4nagios/share/install.php.bk

上記設定で下記のようなグラフが生成できます。

a0173028_10585066.jpg

[PR]



by cimacoppi | 2011-09-08 11:00 | Linux

syslogのアクセス権限を変更する

syslog関連のログファイルは通常、
パーミッション設定が
600
となっております。

何らかの理由で一般ユーザで、
messages cron maillog
のみ閲覧権限がほしい場合があります。

変更方法は色々あると思いますが今回は、
/etc/logrotate.d/syslog
ファイルを修正して行います。

vi /etc/logrotate.d/syslog

/var/log/messages /var/log/maillog /var/log/cron {
sharedscripts
weekly
rotate 4
create 0644 root root
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
/bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}



vi /etc/logrotate.d/syslog2

/var/log/secure /var/log/spooler /var/log/boot.log {
sharedscripts
weekly
rotate 4
create 0600 root root
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
/bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}

これでログローテーション時に、
messages cron maillog
のパーミッションは644になります。
[PR]



by cimacoppi | 2011-09-06 13:58 | Linux

秘密鍵の変換を行う

AWSコンソールから、秘密鍵を作成して、
Putty(WinSCP),Poderosaなどで、
SSHログインをする場合は、秘密鍵を変換する必要があります。

今回は秘密鍵の変換方法を書きます。

秘密鍵を変換するにはputtygenを利用します。
puttygenはPuTTYのサイトからダウンロード可能です。

まずは、Putty(WinSCP)用の秘密鍵変換です。

・puttygen起動後、Loadを押下します。
・ダウンロードした秘密鍵を指定します。

a0173028_14352784.jpg


・Save private Keyを押下
・ファイル名を指定して保存して秘密鍵の作成完了です。

次は、Poderosa用の秘密鍵変換です
・puttygen起動後、Loadを押下します。
・ダウンロードした秘密鍵を指定します。
・Conversions → Export ssh.com key を押下
・ファイル名を指定して保存して秘密鍵の作成完了です。

Putty,Poderosaを利用している方はお試しください。
[PR]



by cimacoppi | 2011-09-02 14:38 | Linux

ネームサーバ変更時の設定確認方法(dig編)

前回、nslookupでのネームサーバの設定確認方法を、
説明しましたが、今回digコマンドでの設定確認方法です。

前提条件としてLinuxサーバにdigコマンドがインストールされているとします。

下記のコマンドで Aレコードの確認が出来ます。

----------------------------------------------------------------------------

dig @ns-1227.awsdns-25.org www.cimacoppi.biz


;; QUESTION SECTION:
;www.cimacoppi.biz. IN A

;; ANSWER SECTION:
www.cimacoppi.biz. 360 IN A 100.100.100.100

;; AUTHORITY SECTION:
cimacoppi.biz. 172800 IN NS ns-298.awsdns-37.com.
cimacoppi.biz. 172800 IN NS ns-531.awsdns-02.net.
cimacoppi.biz. 172800 IN NS ns-1227.awsdns-25.org.
cimacoppi.biz. 172800 IN NS ns-1986.awsdns-56.co.uk.
----------------------------------------------------------------------------

下記のコマンドでMXレコードの確認が出来ます。

----------------------------------------------------------------------------

dig @ns-1227.awsdns-25.org cimacoppi.biz MX


;; QUESTION SECTION:
;cimacoppi.biz. IN MX

;; ANSWER SECTION:
cimacoppi.biz. 360 IN MX 10 mail.cimacoppi.biz.
cimacoppi.biz. 360 IN MX 20 mail2.cimacoppi.biz.
cimacoppi.biz. 360 IN MX 30 mail3.cimacoppi.biz.

;; AUTHORITY SECTION:
cimacoppi.biz. 172800 IN NS ns-298.awsdns-37.com.
cimacoppi.biz. 172800 IN NS ns-531.awsdns-02.net.
cimacoppi.biz. 172800 IN NS ns-1227.awsdns-25.org.
cimacoppi.biz. 172800 IN NS ns-1986.awsdns-56.co.uk.

;; ADDITIONAL SECTION:
mail.cimacoppi.biz. 360 IN A 100.100.100.200
mail2.cimacoppi.biz. 360 IN A 100.100.100.210
mail3.cimacoppi.biz. 360 IN A 100.100.100.220
----------------------------------------------------------------------------

これでWindows Linuxどちらでもネームサーバの設定確認が出来ます。
[PR]



by cimacoppi | 2011-08-10 11:24 | Linux

ネームサーバ変更時の設定確認方法(nslookup編)

何らかの理由でネームサーバを変更する場合、
新規のサーバでも、現行のネームサーバと、
同じ設定にする必要があります。

新規のネームサーバで、設定に不備がないか、
不安な場合があります。

そんな場合は、nslookupで確認ができます。

route53で下記のようなレコード設定をしたとします。
(設定ドメインはcimacoppi.bizとします)
a0173028_1021971.jpg


まずはserverの指定です。
a0173028_1024090.jpg


次にAレコードの確認です。
a0173028_10254100.jpg


最後にMXレコードの確認です。
a0173028_103715.jpg


これで、安心してネームサーバの変更が出来ます。
[PR]



by cimacoppi | 2011-08-09 10:06 | Linux

yumでphp5.2系をインストール

yumコマンドで通常phpをインストールを行うと、
5.1系か5.3系となります。

5.2系をインストールするには、レポジトリの、
utterramblings
を追加する必要がございます。

追加方法は下記となります。

utterramblings.repoファイル作成

vi /etc/yum.repos.d/utterramblings.repo

[utterramblings]
name=Jason’s Utter Ramblings Repo
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka



上記記述を行い保存します。

utterramblings.repo利用時は一時的に、
remi.repoを利用しないようにします。

vi /etc/yum.repos.d/remi.repo
5行目
enabled=1

enabled=0

上記編集後保存します。

yumコマンド実行時はレポジトリを指定します。

yum --enablerepo=utterramblings install php

=========================================================
Package Arch Version Repository Size
==========================================================
Installing:
php i386 5.2.16-jason.1 utterramblings 3.6 M

これでphp5.2系がyumでインストール可能です。
[PR]



by cimacoppi | 2011-07-25 11:38 | Linux

dateコマンドオプション

よくdateコマンドのオプションを利用するのですが、
よく忘れてしまうので、書いときます。


当日
201119
date +%Y%m

20110419
date +%Y%m%d

110419
date +%y%m%d

2011/04/19
date +%Y/%m/%d

1日前
date --date "1 day ago" +%Y%m%d
20110418

明日
date --date "1 days " +%Y%m%d
20110420

1年後
date --date "1 years " +%Y%m%d
20120419

1年前
date --date "1 year ago" +%Y%m%d
20100419
[PR]



by cimacoppi | 2011-04-19 20:34 | Linux

ftpコマンドを利用してのスクリプト作成

FTP接続しかできないサーバの場合
大きい圧縮ファイルを、複数アップロードする時、
1回ずつftpコマンドを実行すると大変です。

そんな時は、スクリプトを書きましょう

例えば
IP:192.168.1.10
user:hoge
passswe:hogehoge
アップロード先:backup
圧縮ファイル名: test1.tar.gz test2.tar.gz
にFTPでアップロードするとします。

---ftp.sh作成--- 
ftp -n < test1.txt >> ftp.log
ftp -n < test2.txt >> ftp.log

---test1.txt作成---
open 122.248.250.209
user hoge hogehoge
passive
cd backup/
put test1.tar.gz
quit

---test2.txt作成---
open 122.248.250.209
user hoge hogehoge
passive
cd backup/
put test2.tar.gz
quit

で、実行です。
./ftp.sh &

バックグラウンドで動作させれば端末を落としてもOKです。
[PR]



by cimacoppi | 2011-02-19 18:00 | Linux

roundcube 日本語版インストール

roundcube 日本語版設定です。(DBはMySQLです。)

※前提条件は IMAP SMTP 587が設定済みとします。

まずは日本語版サイトからダウンロード。
INSTALLファイルがあるのでこれを見ながらDB設定です。
mysqlログイン

-----------------------------------------------------------------------------------------
CREATE DATABASE roundcubemail /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;

GRANT ALL PRIVILEGES ON roundcubemail.* TO roundcube@localhost
IDENTIFIED BY 'password';
-----------------------------------------------------------------------------------------
次にテーブル作成
mysql roundcubemail < SQL/mysql.initial.sql

で、http://ドメイン名/roundcube/installer
にアクセス
データベース情報等を入れると
main.inc.php db.inc.php
がダウンロードできるのでそれをconfigディレクトリにアップです。
で、
http://ドメイン名/roundcube/
にアクセスです。
ログインはできましたがメール送信時に553 503エラー発生
ちょっとmain.inc.phpを修正します。
-----------------------------------------------------------------------------------------
105行目 $rcmail_config['smtp_port'] = 587;
109行目 $rcmail_config['smtp_user'] = 'メールアカウント';
113行目 $rcmail_config['smtp_pass'] = 'パスワード';
117行目 $rcmail_config['smtp_auth_type'] = 'PLAIN'; ※smtp-authは環境に合わせてください。
-----------------------------------------------------------------------------------------

これでとりあえずメール送信できます。
[PR]



by cimacoppi | 2011-01-21 16:48 | Linux

dovecot + vpopmailでのIMAP

dovecot + vpopmailでのIMAP設定です。

※前提条件としてqmail + dovecotでpop3 smtpの設定が完了しているとします。

dovecotの場合yumでインストールをするとvpopmail組込版がありません
dovecotサイトからソースをダウンロードです。
今回は1.2系を使いました。
configureオプションは
-------------------------------------------------------
./configure -prefix=/usr/local/etc/dovecot \
--with-vpopmail \
--disable-ipv6
-------------------------------------------------------
で実行しました。
make
make install
が完了すると
/usr/local/etc/dovecot
以下に
etc include lib libexec sbin share var
ディレクトリが生成されます。
では、設定に入ります。

dovecot.confの修正
etc 以下にdovecot-example.confがありますのでこれをdovecot.confでコピーします。

#dovecot.conf 修正箇所
protocols = imap
protocol imap {
listen = *:143
# listen = *:10143
# ssl_listen = *:10943
# ..
}
disable_plaintext_auth = no
ssl = no
mail_location = maildir:~/Maildir
passdb vpopmail {
# [cache_key=] - See cache_key in PAM for explanation.
# [quota_template=