プロセス別のメモリ消費量

余りにもメモリ使用量が激しいのでプロセス別にメモリ使用量を調べてみました。

プロセス毎のメモリ使用量を調べるコマンド – Hack Your Design!

$ ps alx  | awk '{printf ("%d\t%s\n", $8,$13)}' | sort -nr | head -10

memory_usage

318020  clamd
45264   /usr/bin/Xorg
31116   nautilus
28188   /usr/libexec/mysqld

clam AntiVirus が占有していました。cat /proc/meminfo で Inactive を調べてみると

meminfo

[root@stuffy ~]# cat /proc/meminfo
MemTotal:       12163576 kB
MemFree:         6102576 kB
Buffers:          220288 kB
Cached:          4599248 kB
SwapCached:            0 kB
Active:          2204440 kB
Inactive:        3308920 kB
Active(anon):     694044 kB
Inactive(anon):     4068 kB
Active(file):    1510396 kB
Inactive(file):  3304852 kB

3Gバイト。MemFree と合わせて9Gバイトなので、MRTG やfree コマンドで6Gバイトと表示されるのはMemFree のことなのですね。

SELinux によるWordPress のパーミッション設定

メディアライブラリへの画像追加
 wordpress アップロード中「この親ディレクトリのアクセス権はサーバーによる書き込みを許可していますか。」とエラーが出る。
プラグインのインストール
 ある時突然、プラグインのインストールをしようとして「ディレクトリを作成できませんでした。」とプラグインのインストールに失敗。
google で検索しても「パーミッションが悪い」「.htaccess を見直してみたら?」と言われいろいろ設定をいじっても解決しなかったので途方に暮れた

経験はありませんか。

httpdのドキュメントルートが通常とは違う場合、もしかしたら、SELinux のアップデートでポリシーが変わって書き込みが出来なくなったのかもしれません。

誤)# semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/wordpress/wp-admin/uploads (/.*)?"

誤)# restorecon -R "/var/www/html/wordpress/wp-admin/uploads"

正)# semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/wordpress/wp-content/uploads (/.*)?"

正)# restorecon -R "/var/www/html/wordpress/wp-content/uploads"
(uploads/ の他に、plugins/ themes/ ディレクトリも同様に設定が必要かもしれません

パーミッション、.htaccess、所有権のチェックでも問題がない場合、疑うべき選択候補ではあると思います。↓

CentOS7のSELinuxが有効な状態でhttpdからファイルに書き込みを行う設定

Linux Kernel バージョンアップ

yum の更新でLinux カーネルが、2.6.32-573.8.1.el6.x86_64 にバージョンアップされました。Wordpress のフォントも微妙に変わっていますね。

バージョンアップといえば話は変わりますが、Kaspersky を2013から2015にバージョンアップしたところ、一部のweb サイトが表示できなくなりました。2015からの追加機能でweb トラッキング防止機能が原因でした。詳しく調べてみると、[プロテクション] → [web トラッキング防止] → [カテゴリと信頼リスト] → [web ビーコンを使用した情報の収集をブロック] にチェックを入れているとニュースサイトのフィードがブロックされるようでした。

webbecon

Apache のBasic認証

HTTPD Apache Webサーバーにおいてディレクトリ以下にアクセスする際にhttpd.conf でユーザーIDとパスワードにて基本認証を施す設定

#vi /etc/httpd/conf/httpd.conf ↓(以下のディレクティブを追加
<Directory "/var/www/mrtg">
    AuthType Basic
    AuthName "Please Enter Your ID and Password."
    AuthUserFile /etc/httpd/conf/private_htpasswd
    Require Valid=user
</Directory>

パスワードファイル生成

# htpasswd -c /etc/httpd/conf/private_htpasswd <ユーザー名>
New password:   ←パスワード入力
Re-type new password:    ←パスワード確認

するとmrtg ディレクトリのファイルアクセスを登録ユーザーに制限できます。

通常、パスワードファイルをドキュメントルート以下に置かざるを得ない場合は、 .htaccess ファイル内にパスワードファイル、<パス>/.htpasswdを指定すると、.ht で始まるファイルへのアクセスを禁止する設定がhttpd.conf にありますので、強固なセキュリティになります。

<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
    Satisfy All
</Files>

net-SNMP-MRTG でシステム監視

ネットワークトラフィック監視ツール導入(NET-SNMP+MRTG) – CentOSで自宅サーバー構築 を参考ににしてグラフを作ってみました。最初は、スクリプトを作って

./mrtg.sh

すると、

ERROR: Line 9 (/var/www/mrtg) in CFG file
 (/etc/mrtg/mrtg.cfg) does not make sense

エラーで参っていましたが、こちらの本( CentOS7で作るネットワークサーバ構築ガイド 

41wQnrDdwnL__SX385_BO1,204,203,200_

を参考に、cfgmaker コマンドを打つとmrtg できました。今のところ、5分おきにcron でグラフ更新されるのかが心配ですね。
mrtg

(追記 2015年11月7日現在 グラフ更新されているようです。ServerView を入れていると4Gバイトのメモリをほとんど消費しているようなのでアンインストールしました。

ServerView Operation Manager をインストール

サーバー添付のServerView Suite をインストールしてみました。

20151101033039

 

JVM(Java Virtual Machine) は、ServerView(DVD1)付属のOpenJDKからインストールします。パスは、

# cd /media/UDF Volume/SVSSoftware/Software/Other_Tools/Java/Linux_x64

rpm -ivh jre-7u65-linux-x64.rpm

何故か付属のOpenJDKでは「Error:No JAVA found」エラーでJAVAコンパイラが見つからなかったのでOracleからインストール
Java SE Development Kit 8 – Downloads Linux x64 jdk-8u65-linux-x64.rpm
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

環境変数設定

# export JAVA_HOME=/usr/java/default
 # export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar

以下コマンドでバージョン確認ができる他、バージョンの切り替えもできますが今回は、OpenJDK を使うことにします。

# java -version
# javac -version
# alternatives --config java

yumで必要なパッケージをインストール

compat-libstdc++-33.i686
cyrus-sasl-lib.i686
glibc.i686
gzip.x86_64
keyutils-libs.i686
krb5-libs.i686
libcom_err.i686
libcurl.i686
libgcc.i686
libidn.i686
libselinux.i686
libssh2.i686
libstdc++.i686
libtool-ltdl.i686
libxml2.i686
ncurses-libs.i686
net-snmp.x86_64
nspr.i686
nss.i686
nss-softokn-freebl.i686
nss-util.i686
openldap.i686
openssl.i686
unixODBC.i686
zlib.i686
特定の機能に必要なパッケージ
DeskView インタフェース: curl.x86_64
RHEL 上の KVM クライアントの監視: libvirt-client.x86_64

postgpls ユーザーにスーパーユーザー権限を与える

e.1) ディストリビューションから必要なパッケージ
Mozilla/Firefox のインストール。

e.2) Java プラグインの設定
Java インストール後に JRE を Mozilla のブラウザに手動でリンクさせる必要があります
ServerView RAID Manager をインストールする (参考

ServerView Operation Manager (DVD1をドライブに挿入して)のインストール、パスは

# cd /media/UDF Volume/SVSSoftware/Software/ServerView/Linux/ServerView_S2/
# sh install.sh

questions
コンソールで[Enter] キーを押しながらスクロールしてライセンス条項を読み終わると、以下の質問が出てきますので[Enter] キーで流さずにyes と入力します。(およそ、Chapter 10.1 以降です。

if you aguree please confirm with yes otherwise leave with no
yes
Please enter en (for English) or ja (for Japanese)
ja
Fully - qualified hostname : <ホストネーム> ok? (yes | no) :
yes
ip address?
<サーバーのIPアドレス>
You must specify password for opendj account 'svuser'
Echo is off during password input
password パスワード
please repeat password パスワード(確認)

success-installing-serverview

 

インストール成功が表示されます。つづいてsnmptrapd の設定に移ります。

# vi /etc/snmp/snmptrapd.conf
disableAuthorization yes ←(追記
authCommunity   log,execute,net public ←(チェックを外す

# service snmptrapd start
# chkconfig snmptrapd on

ファイアウォールの設定 iptables を編集

# vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m udp -p udp --dport 161 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --sport 161 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 162 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --sport 162 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3169 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3170 -j ACCEPT
# service iptables restart

snmpd.conf の再設定。以下の項目を追記します。

# vi /etc/snmp/snmpd.conf
com2sec svSec default public
com2sec svSec localhost public
com2sec svSec <IP アドレス>/<ネットマスク> public
group svuser v1 svSec
group svuser v2c svSec

view svView included .1
access svuser "" any noauth exact svView svView none
trapsink <IP アドレス> public ←SNMPトラップを送信したいアドレス記入

ブラウザから、https://ホストネームアドレス:3169/ と打ち込んで起動、ログオン。

SVOM

基本設定ウィザードからポート解放、コミュニティの設定などして行きます。
finish

シングルシステムビューは、CPU やメモリ、ハードディスクの温度など環境パラメーターの取得はできませんでした。何か設定が欠けているのかもしれません。(残念。

singleSystemView

(追記 ServerView-RM の通信ポートとして3073,3172:3173(TCP・UDP)を解放しないと管理不可表示で本来の性能を発揮しないそうです)SVOM が使用するプロトコルとポート番号 (.pdf 21P)

ServerView のアンインストールと、削除できないcronジョブは以下コマンドで削除できます。

# /usr/bin/UninstallServerView.sh

# rm -fr /etc/cron.d/pg_CrontabEntry