phpmotionで動画サービスを立てる

CentOS5環境でMyNETSが動いているところからの差分…なハズ。

2009/6/25に作業した記録なので日付付きファイルのURLは適宜最新に読み替えていただければと思います。

参考URL
http://d.hatena.ne.jp/con_mame/20080926
http://menta.orz.hm/phpmotion.sh.txt

# 必要なパッケージをインストールします。
[code]yum -y install subversion
yum -y install automake
yum -y install gcc
yum -y install gcc-c++
yum -y install libtool
yum -y install php-devel[/code]

# x264を入手するために必要なgitをインストールするためのリポジトリを追加します。
[code]echo “[dag]” >> /etc/yum.repos.d/CentOS-Base.repo
echo “name=Dag RPM Repository for Redhat EL5” >> /etc/yum.repos.d/CentOS-Base.repo
echo ‘baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag’ >> /etc/yum.repos.d/CentOS-Base.repo
echo “gpgcheck=1” >> /etc/yum.repos.d/CentOS-Base.repo
echo “enabled=0” >> /etc/yum.repos.d/CentOS-Base.repo
echo “gpgkey=http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt” >> /etc/yum.repos.d/CentOS-Base.repo[/code]

# gitをインストール
[code]yum -y –enablerepo=dag install yasm git[/code]

# 作業用ディレクトリを作成します。
[code]mkdir /tmp/install/
cd /tmp/install/[/code]

# mplayerのためのコーデックをコピーします。
[code]wget http://www3.mplayerhq.hu/MPlayer/releases/codecs/essential-20071007.tar.bz2
tar jxvf essential-20071007.tar.bz2
mkdir /usr/local/lib/codecs
mv /tmp/install/essential-20071007/* /usr/local/lib/codecs/
chmod -R 755 /usr/local/lib/codecs/[/code]

# x264のインストール
[code]wget http://download.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-20090625-2245.tar.bz2
cd x264-snapshot-20090625
./configure –enable-shared
make && make install
cd /tmp/install/[/code]

# xvidのインストール
[code]wget http://downloads.xvid.org/downloads/xvidcore-1.2.1.tar.gz
tar zxvf xvidcore-1.2.1.tar.gz
cd xvidcore/build/generic
./configure –prefix=/usr
make && make install
cd /tmp/install/

wget wget http://jaist.dl.sourceforge.net/sourceforge/lame/lame-3.97.tar.gz
tar zxvf lame-3.97.tar.gz
cd lame-3.97
./configure –prefix=/usr
make && make install
cd /tmp/install[/code]

# liboggのインストール
[code]wget http://downloads.xiph.org/releases/ogg/libogg-1.1.3.tar.gz
tar zxvf libogg-1.1.3.tar.gz
cd libogg-1.1.3
./configure –prefix=/usr
make && make install
cd /tmp/install/[/code]

# faadのインストール
[code]wget http://jaist.dl.sourceforge.net/sourceforge/faac/faad2-2.6.1.tar.gz
tar zxvf faad2-2.6.1.tar.gz
cd faad2
sh bootstrap
./configure –prefix=/usr
make && make install
cd /tmp/install/[/code]

# flvtoolのインストール
[code]wget http://rubyforge.org/frs/download.php/17497/flvtool2-1.0.6.tgz
tar zxvf flvtool2-1.0.6.tgz
cd flvtool2-1.0.6
ruby setup.rb config
ruby setup.rb setup
ruby setup.rb install
cd /tmp/install/[/code]

# rpmforgeを追加
[code]wget http://apt.sw.be/redhat/el5/en/i386/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm
rm -f rpmforge-release-0.3.6-1.el5.rf.i386.rpm[/code]

# デフォルトでは有効にしないように
[code]sed -i “s/enabled = 1/enabled = 0/g” /etc/yum.repos.d/rpmforge.repo[/code]

# 残りのコーデックをインストール
[code]yum -y –enablerepo=rpmforge install a52dec-devel faac-devel[/code]

# コーデックを有効にする
[code]echo “/usr/local/lib” >> /etc/ld.so.conf.d/lib.conf
ldconfig[/code]

# mplayerのインストール
[code]wget http://www.mplayerhq.hu/MPlayer/releases/mplayer-export-snapshot.tar.bz2
cd mplayer-export-2009-06-25
./configure –prefix=/usr
make && make install
cd /tmp/install/[/code]

# ffmpegのインストール
[code]wget http://ffmpeg.org/releases/ffmpeg-export-snapshot.tar.bz2
cd ffmpeg-export-2009-06-25
./configure –enable-libmp3lame –enable-libx264 –enable-libxvid –enable-libfaac –enable-libfaad –enable-pthreads –enable-gpl –enable-shared –enable-nonfree –prefix=/usr
make && make install
cd /tmp/install/[/code]

# ffmpeg-phpのインストール
[code]wget http://voxel.dl.sourceforge.net/sourceforge/ffmpeg-php/ffmpeg-php-0.6.0.tbz2
tar jxvf ffmpeg-php-0.6.0.tbz2
cd ffmpeg-php-0.6.0
vi ffmpeg_frame.c (→RGBA32をRGBAに全て書き換え)
phpize
./configure –prefix=/usr
make && make install
cd /tmp/install/[/code]

# ffmpeg-phpの有効化
[code]echo “extension=ffmpeg.so” >> /etc/php.ini[/code]

# 設定を有効化するためにapacheの再起動(reloadでもおk)
[code]/etc/init.d/httpd restart[/code]

# phpmotionのインストール
[code]wget http://downloads.phpmotion.com/V3.0/php5/phpmotion.zip
unzip phpmotion.zip
mv phpmotion /var/www/html/video
cd /var/www/html/
chown -R apache:apache video
chmod -R 0755 video/cgi-bin[/code]

# http://example.com/video/でアクセスするためのパス設定を以下に追加

[code]vi cgi-bin/uu_default_config.pm
vi cgi-bin/audio/uu_default_config.pm
vi audio_uploader_conlib.php
vi uploader_conlib.php
vi .htaccess[/code]

# mysqlにデータベースとユーザを追加
[code]mysql -u root -p
mysql> CREATE DATABASE `video` DEFAULT CHARACTER SET utf8 ;
mysql> grant all privileges on video.* to user@localhost identified by ‘passwd’;
mysql> quit;[/code]

# 管理画面にアクセス
[code]http://example.com/video/setup/[/code]

# 設定後
[code]mv /var/www/html/video/setup /var/www/html/video/setup.bk[/code]

※たしか一部不正確な記述があったような気がするけど…思い出せない。
再検証する気力はないのでそのまま転記。

とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

 □パフォーマンスチューニングのテクニック

  ・まずは状況把握
   原因の推測のための情報収集
   各種ツールの利用
   ボトルネックをひとつづつ潰す

  ・パフォーマンス指標
   スループット
   レスポンスタイム
   スケーラビリティ
   上記の組み合わせ

  ・スロークエリログの分析
   5.1からは0.x秒単位でログ指定が可能
   頻繁に記録されるslowログから対応する
   mysqldumpslowで統計処理して見極め
   クエリアナライザの利用(高機能版mysqldumpslow)
    MySQL Enterprise Monitor + MySQL Proxy
    Proxyでクエリと統計を収集、Monitorで記録分析表示

  ・EXPLAINで解析
   遅いクエリをチェックしていく
   EXPLAIN typeでALL、index、index_subqueryが出たら注意
   key_lenが大きすぎるとNG
   indexを使っていない場合にはつけてみる
    (テーブルにindex多すぎるとかえって遅くなるので注意)
   INサブクエリは遅いので、JOINで書き直す
   EXPLAIN Extraで以下の値が出たら注意
    Using temporary:indexを使う
    Using filesort:頻発よくない複合indexを検討
    Full scan on NULL key:値によってパーテショニング検討
    Using join buffer:index使ってないところにつける

  ・show profileで解析
   処理の順番を測定し処理毎の時間を出せる
   テスト環境など別のタスクのない状況で行う
   使い方
[code]    mysql> SET profiling=1;
    mysql> 解析したいクエリ実行
    mysql> SHOW PROFILE;[/code]
   履歴表示
[code]    mysql> SHOW PROFILES;
    mysql> SHOW PROFILE FOR 1; 何番目かの履歴
    mysql> SET profiling_history_size=100; 履歴保存数設定[/code]
   表示オプション
[code]    mysql> SHOW PROFILES ALL; 全表示
    CPU CPU使用率
    SWAP スワップしたかしないか など[/code]

  ・show statusで統計情報表示
   show session status 現在セッションの情報表示
   show global status サーバ全体の状況
   以下のように利用する
[code]    mysql> FLASH STATUS;
    mysql> SET profiling=1;
    mysql> 解析したいクエリ実行
    mysql> SHOW PROFILE;
    mysql> SHOW SESSION STATUS;
    mysql> SHOW GLOBAL STATUS;[/code]
   注意すべきパラメータ
    Create_tmp*;テンポラリ作成が多いとNG
    Handler_*;indexを使わない行アクセスが多いとNG
    Key_*:キャッシュミス率が高いときはNG
    Qcache_*:クエリキャッシュのヒット率が悪い時は無効に
    Select_*;遅いSELECTがわかる、FULL JOINが出ていたら無くす

  ・show innodb statusで分析
   CREATE TABLE innodb_monitor(a int) ENGINE INNODB; で有効
   再起動すると消える
   mysql> SHOW INNODB STATUS\G; とすると見やすい
   注意すべきパラメータ
    SEMAPHORE:ロック状況がわかる OS waitが多いとNG
    LOG:消費量がわかる
    BUFFER POOL AND MEMORY:ヒット率でサイズ調整必要
  ・クエリを書き換える
   検索条件がOR:index MergeがNG時はUNION DISTINCTで解決
   適合indexがない:マルチカラムの場合、左から順に指定必須
    1,2,3 の時 1,2と1,2,3は有効、1,3と2,3は無効
   JOINではLIMIT効かないので注意
   INサブクエリはJOINで書き直す

  ・テーブルデフラグ
   OPTIMIZE TABLEで解決
   連続データはパーテショニングしやすい(ログとか日付で連続する)
   パーテショニングしたデータはフラグメントしない、削除が高速

  ・パラメータチューニング
   innodb_buffer_pool_size;空きメモリの7割くらい割当する
    index以外もキャッシュされる
   innodb_log_file_size/innodb_log_file_in_group:INSERTが高速になる
    が128M程度でOK
   key_buffer_size:空きメモリの3割程度
    (MyISAMはindexしかキャッシュしない)
   セッションパラメータは256kbで十分 
    大きくても2Mくらいで(メモリ使いすぎる)
   
 □システム全体でパフォーマンス対策

  ・MySQLのバージョン
   5.0以上を利用する 5.0と5.1は8コアまでスケール可能(innoDB)

  ・ハードウェア
   64bitマシンを導入する(メモリ空間重要)
   ライトキャッシュ付きハードRAID推奨(キャッシュあればRAID5もOK)
   IOPSの高い構成を(SSDもあり!)

  ・OS
   64bit推奨になる
   LinuxではI/Oスケジューラに注意 noop deadline推奨
   noopはinnoDBで利用するのに適している
   I/Oキューの数値を上げる デフォルト128、10000?

  ・データベースエンジン
   innoDBはinsert bufferがあるのでログ等にも向く
   MyISAMはHDD性能に依存する 限界性能低い
    でもSSDならinnoDBより速くなる
   innoはHDDでもSSDでも限界性能があまり変化しない

  ・データベースパーテショニングを利用する
   アクセスする全てのインデックスがメモリ上にあれば高速に動作
   インデックスを細かくするためパーテショニングを使う(5.1以降必須)
   innoDBでもMyISAMでも効果がある

,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (1 投票, 平均値/最大値: 1.00 / 5)
Loading...

CommuniGate Proから外部プログラムへメールを渡す

CommuniGate Proから稼動OS上の任意の外部プログラムにメールをパスするための設定
以下はphpを使ったSNSプログラムMyNETSにメールを処理させる設定

SNS管理者アドレスを admin@example.com としてpostmasterで受信し
メール日記投稿などを 任意の投稿コード@example.com で受信するものとする
MyNETSは /var/www/Usagi のパスに設置されたものとする

PIPEモジュールにphpのパスを設定
 設定→メール→PIPE で phpのあるパスを記述
 CentOSの場合/usr/bin/php なので

 /usr/bin と記述

メールのハンドルのためルータに設定を追加
 設定→ルータに 以下を追記(フルバウンス)

 [code] = postmaster
 <*@example.com> = “php /var/www/Usagi/bin/mail.php”@pipe[/code]

これでadmin以外のexample.comへのメールはCommuniGate Proで受信された後MyNETSで処理される。
この場合バウンスメール含めて全部MyNETSに渡るので注意。

ちゃんと書くなら
[code] = “php /var/www/Usagi/bin/mail.php”@pipe[/code]
とか、MyNETSで指定されている必要なアカウントを並べていく

,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

Backlogはnulab社の提供する素晴らしいサービスです。
http://www.backlog.jp/

参考URL
https://www.backlog.jp/package/doc/professional/install-guide/install-guide.html

指定のURLから評価版をダウンロードする ~/download/ に配置しておく

# cd ~/download

SunからJavaSE6をダウンロードしてインストールする(割愛)

javaのフォント設定

# yum install fonts-japanese で最新のフォントが導入されていることを確認

# mkdir /usr/java/default/jre/lib/fonts/fallback
# ln -s /usr/share/fonts/ja/TrueType/kochi-*.ttf /usr/java/default/jre/lib/fonts/fallback/

javaのデータベース設定準備(mysql)

# wget http://ftp.jaist.ac.jp/pub/mysql/Downloads/Connector-J/mysql-connector-java-5.1.8.tar.gz
# tar zxvf mysql-connector-java-5.1.8.tar.gz

mysql設定準備

# yum install perl-DBD-MySQL

mysqlにデータベース作成

# mysql -u root -p
mysql> grant all privileges on backlog.* to backlog@localhost identified by ‘backlog’ WITH GRANT OPTION;
mysql> CREATE DATABASE `backlog` DEFAULT CHARACTER SET utf8 ;
mysql> quit

Backlogインストール

# rpm -ivh backlog-app-1.3.0-01.el5.noarch.rpm backlog-www-1.3.0-01.el5.i386.rpm

mysqlドライバを配置

# cp mysql-connector-java-5.1.8/mysql-connector-java-5.1.8-bin.jar /opt/backlog/

backlogディレクトリに移動

# cd /opt/backlog/

設定コマンドを起動

[root@xc backlog]# /opt/backlog/bin/init.sh

[code]
======================================================================
Backlog Professional Configurater
____ _ _
| _ \ | | | |
| |_) | __ _ ___| | _| | ___ __ _
| _ < / _` |/ __| |/ / |/ _ \ / _` | | |_) | (_| | (__| <| | (_) | (_| | |____/ \__,_|\___|_|\_\_|\___/ \__, | __/ | |___/ [http://www.backlog.jp] ====================================================================== Backlog Professionalの環境設定を開始します。 BacklogにアクセスするURLを設定してください [http://www.example.com:8969] (設定したURLに /backlog がコンテキストパスとして追加されます) http://www.example.com:8969 を設定しました。 SMTPサーバのホスト名を指定してください [localhost] localhost を設定しました。 御使用のデータベースを選択してください ( m / p ) m
MySQL を選択しました。

データベースサーバのホスト名を指定してください [localhost]

localhost を設定しました。

データベースサーバのポート番号を指定してください [3306]

3306 を設定しました。

データベースサーバのユーザを指定してください [backlog]

backlog を設定しました。

データベースユーザのパスワードを入力してください [backlog]

backlog を設定しました。

次の設定内容で環境設定を行います。

Backlog URL [http://www.example.com:8969]
SMTPサーバホスト [localhost]
データベース [MySQL]
サーバホスト [localhost]
ポート番号 [3306]
ユーザ [backlog]
パスワード [backlog]

よろしいですか?
( y<続ける> / r<やり直し> ) y

使用するJDBCドライバを選択してください。
1:mysql-connector-java-5.1.8-bin.jar
1

1:mysql-connector-java-5.1.8-bin.jar が選択されました。

テーブルの新規作成を開始します。
CREATE TABLE space
CREATE TABLE project
CREATE TABLE users
CREATE TABLE autologin_user
CREATE TABLE component
CREATE TABLE information
CREATE TABLE status
CREATE TABLE version
CREATE TABLE default_issue_type
CREATE TABLE issue_type
CREATE TABLE issue
CREATE TABLE issue_component
CREATE TABLE issue_affectedversion
CREATE TABLE issue_fixedversion
CREATE TABLE attachment
CREATE TABLE comment
CREATE TABLE licence_type
CREATE TABLE licence
CREATE TABLE licence_changelog
CREATE TABLE mail
CREATE TABLE dashboard
CREATE TABLE page
CREATE TABLE page_attachment
CREATE TABLE page_tag
CREATE TABLE page_tag_link
CREATE TABLE party
CREATE TABLE party_user
CREATE TABLE project_user
CREATE TABLE project_mail
CREATE TABLE reminder
CREATE TABLE remote_address
CREATE TABLE space_contact
CREATE TABLE space_contact_changelog
CREATE TABLE space_order
CREATE TABLE space_remarks
CREATE TABLE disk_usage
CREATE TABLE shared_file
CREATE TABLE subversion
CREATE TABLE issue_shared_file_link
CREATE TABLE page_shared_file_link
CREATE TABLE work_item
CREATE TABLE step
CREATE TABLE space_field
テーブルの新規作成が終了しました。

コピー
終了
設定が完了しました。

Backlogの起動を確認後、引き続き http://www.example.com:8969/backlog/Setup.action に接続してユーザ情報を登録してください。
backlog-app を起動中: Using CATALINA_BASE: /opt/backlog/tomcat
Using CATALINA_HOME: /opt/backlog/tomcat
Using CATALINA_TMPDIR: /opt/backlog/tomcat/temp
Using JRE_HOME: /usr/java/default
[ OK ]
backlog-www を起動中: [ OK ][/code]

サービスにアクセスできるようiptableを修正

# vi /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -p tcp -m state –state NEW -m tcp –dport 8969 -j ACCEPT

iptables再起動
# service iptables restart

http://www.example.com:8969/backlog/Setup.action へアクセス

とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

mod_rewriteによるhttp→https強制変更

設定したいディレクトリを指定して、apacheのconfに以下を記述。

[code]RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L][/code]

とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

muninでsnmp監視(CentOSからOSX Leopardを監視)

muninでsnmp監視

net-snmpのインストール
[code]# yum install net-snmp net-snmp-utils[/code]

監視対象の情報が取得できることを確認
[code]# snmpwalk -v 2c -c public server.local[/code]

muninの設定上監視対象にhost名がなければ付けておく(DNSで引けるなら不要)
[code]# /etc/hosts
192.168.0.100 server.local[/code]

muninの自動設定機能を利用
[code]#munin-node-configure –snmp server.local
ln -s /usr/share/munin/plugins/snmp__users /etc/munin/plugins/snmp_server.local_users
ln -s /usr/share/munin/plugins/snmp__load /etc/munin/plugins/snmp_server.local_load
ln -s /usr/share/munin/plugins/snmp__if_err_ /etc/munin/plugins/snmp_server.local_if_err_4
ln -s /usr/share/munin/plugins/snmp__if_err_ /etc/munin/plugins/snmp_server.local_if_err_6
ln -s /usr/share/munin/plugins/snmp__if_ /etc/munin/plugins/snmp_server.local_if_4
ln -s /usr/share/munin/plugins/snmp__if_ /etc/munin/plugins/snmp_server.local_if_6
ln -s /usr/share/munin/plugins/snmp__df /etc/munin/plugins/snmp_server.local_df
[/code]
出力されたln〜のコマンドを使ってシンボリックリンクを作成

host treeに監視対象を追記
[code]# vi /etc/munin/munin.conf

[localhost]
address 127.0.0.1
use_node_name yes
[server.local] ←監視対象の名前
address 127.0.0.1 ←監視するサーバのアドレス
use_node_name no[/code]

munin-nodeを再起動
[code]# service munin-node restart[/code]

監視対象側の設定(OSX Leopardの場合)
snmpdはインストール済みなので起動設定を行う

起動ファイルを作成
[code]$ sudo vi /Library/LaunchDaemons/snmpd.plist



Label
snmpd
OnDemand
Program
/usr/sbin/snmpd
RunAtLoad
[/code]

設定読み込み
[code]$ sudo launchctl load -w /Library/LaunchDaemons/snmpd.plist[/code]

起動
[code]$ sudo launchctl start snmpd[/code]

起動を確認
[code]$ sudo laof -i[/code]

動作の確認
[code]$ snmpwalk -v 2c -c public localhost
$ snmpwalk -v 2c -c private localhost[/code]

snmpdの設定
[code]$ sudo vi /etc/snmp/snmpd.conf

# sec.name source community
#com2sec local localhost private
#com2sec mynetwork NETWORK/24 public
com2sec local 192.168.0.0/24 public[/code]

監視ホスト(CentOS)から監視対象(OSX Leoprad)の情報が取得できることを確認する

, ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

MacFUSEによるリモートボリュームのマウント

ssh経由で任意のディレクトリを自機にマウントするには
http://code.google.com/p/macfuse/wiki/MACFUSE_FS_SSHFS

上記ページからMacFUSEをダウンロードしてインストール。

更にsshfsのleopard版バイナリをダウンロード(SnowLeopardでも動作確認しています)
leopard版を sshfs にリネームして/binに設置
[code]# sudo mv sshfs-static-leopard /bin/sshfs[/code]

使い方
[code]$ mkdir /some/mount/point(マウントポイント作成。既に存在する空きディレクトリでもOK)
$ sshfs user@host:/some/directory /some/mount/point -o auto_cache,reconnect,volname=[/code]

これでマウントされる
Finderに表示されない場合はマウントポイントを確認
/some/mount/pointのパスにはちゃんとssh先が接続されている場合、Finderではエイリアス表示になってるはず。

マウント解除
[code]$ umount /some/mount/point[/code]

Finderにボリューム表示されている場合にはアイコン選択して右クリックで「取り出す」を選択。

,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

Debian環境でmuninによるCommuniGate ProとDisk状況監視

動作プロセスの状況やディスクについて更に詳細なデータを取得する設定手順

iostatが入っているか確認
# updatedb
# locate iostat

以下があればOK
/usr/bin/iostat

なければsysstatインストール
# apt-get install sysstat

監視ツールmuninインストール
# apt-get install munin munin-node

 プラグインの位置
 /etc/munin/plugins

 ノード再起動コマンド
 /etc/init.d/munin-node restart

muninはインストールした時点でDebianでは標準設定で動作。
http://hostname/munin/
でグラフが表示される。

この時点でiostat等いくらか必要なものは導入されグラフも見えるはずですが、より詳細な情報を得るため設定を追加します。

http://muninexchange.projects.linpro.no/
から必要なプラグイン以下の4つをダウンロード
 ・cpuload_
 ・multips
 ・cpubyuser
 ・linux_diskstat_

scpやftpなどで/etc/munin/pluginsに配置

プラグインを実行可能にします
# cd /etc/munin/plugins
# chmod 777 *

追加するプラグイン1「cpuload_」
プロセス毎のCPU負荷を表示します

 設定方法
 cpuload_[process]

 prosessはsshd,CGServerなどpsコマンド等で表示されるプロセス名
 今回はCommuniGate Proとclamdを監視する設定を追加します

 プラグインを複製し名前を変更します
 # cp cpuload_ cpuload_clamd
 # mv cpuload_ cpuload_CGServer

 必要な設定を追記します
 # vi /etc/munin/plugin-conf.d/munin-node

 以下の4行を書き込みます
 [cpuload_CGServer]
 env.process CGServer

 [cpuload_clamd]
 env.process clamd

追加するプラグイン2「multips」
プロセスの数を監視します

 設定方法
 # vi /etc/munin/plugin-conf.d/munin-node

 [multips]
 env.multipsnames clamd CGServer

追加するプラグイン3「cpubyuser」
ユーザ毎のCPU利用状況を監視します
通常CoomuniGate Proはroot権限で動作しているのですが、CommuniGate Proをrootでなく動作させる場合は有効です。(OSXなどではroot権限でなく動作させるのが容易です)

 設定方法例
 # vi /etc/munin/plugin-conf.d/munin-node

 [cpubyuser]
 env.USERS root clamav nobody

追加するプラグイン4「linux_diskstat_」
ディスクの動作状況を詳細に取得します

 設定方法
 linux_diskstat_[mode]_[device]

 [mode] = iops,throughput,latency

 deviceは # cat /proc/diskstats 内にある名前

 まず必要な情報を調べます。
 # cat /proc/diskstats が読めるか確認します

 # ls /sys/block を確認します
 sda hdaなどディスクの名前が並びますので、監視したいデバイスを選びます
 以下はsda1を監視する設定です

 diskstat設定が有効か調べる
 # cd /etc/munin/plugins
 # perl linux_diskstat_ autoconf
 yesと出ればOK noなら設定できない可能性があります

 標準で利用可能な設定を調べる
 # perl linux_diskstat_ suggest
 latency_sda1
 throughput_sda1
 iops_sda1

 該当の表示があればファイルを作成します
 # cp linux_diskstat_ linux_diskstat_latency_sda1
 # cp linux_diskstat_ linux_diskstat_throughput_sda1
 # cp linux_diskstat_ linux_diskstat_iops_sda1

 該当script用config
 # perl linux_diskstat_latency_sda1 config
 # perl linux_diskstat_throughput_sda1
 # perl linux_diskstat_iops_sda1

ここまで行ったらmunin-nodeを再起動して設定を反映します

# /etc/init.d/munin-node restart

これで必要な情報が取得されるはずです。
http://hostname/munin/
を適宜リロードして確認します。

エラーが発生している場合には以下にログが出るのでチェックします。
# tail -f /var/log/munin/munin-node.log

標準で入っている不要なプラグインは
/etc/munin/plugins
以下のシンボリックリンクを削除することで無効にします。

, ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

Debian/UbuntuへのCommuniGate Pro インストール

CommuniGate ProはLinux用に公式にはrpmパッケージかtgzしか提供されていないので、rpmをdeb変換して利用する。

CGPダウンロード (ここでは64bit版で記述)
# wget
http://www.communigate.com/pub/CommuniGatePro/5.3/CGatePro-Linux-5.3-2.x86_64.rpm

debファイルへ変換する(別マシンで行ってもOKなはず)
# alien -d CGatePro-Linux-5.3-2.x86_64.rpm
(alienがない場合にはaptでインストールする)

cgatepro-linux.5.3.2.x86_64.deb が同じディレクトリに作成される

CGPインストール
# dpkg -i cgatepro-linux.5.3.2.x86_64.deb

rpmでは各種スクリプトで起動設定等が追加されるが、deb変換されたものはそのプロセスが無視されるため、起動ファイル設置や自動起動設定は別途行う必要があるので注意。

CGP起動
# /opt/CommuniGate/Startup start

CGPの停止
# /opt/CommuniGate/Startup stop

CGPパッケージのアンインストール
# dpkg -l | grep cgate
# dpkg -r cgatepro-linux.5.2.x

パッケージでインストールするのは管理上わかりやすいと思うからです。
tarballでインストールしても機能的には変わりません。

,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (1 投票, 平均値/最大値: 3.00 / 5)
Loading...

CommuniGate ProのMailBoxのサイズとファイル数カウント

/var/Communigate/Accountsにアカウントがある場合(デフォルトはここ)
$ cd /var/CommuniGate/Accounts (ディレクトリ移動)

/var/Communigate/Domainsにアカウントがある場合(ドメイン追加した場合)
$ cd /var/CommuniGate/Domains (ディレクトリ移動)

それぞれユーザアカウントが確認できるディレクトリで以下を実行

■サイズの集計
 $ du -ah | grep “.macnt” | grep -v “.macnt/”

■ファイル数の集計
 $ for d in `find ./ -type d`; do echo $d,`ls “$d” | wc -l`; done

,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...