137_MySQL_5_(case when文使って湿度で判断)_on SAKURAVPS

http://www.dbonline.jp/sqlite/select/index13.html
を参考に改造してみる。。。。
ブログなので、うまく行った順番も載せておく。
ここから、、、、、
select
case
when result > 80 then ‘Pass’
when result > 50 then ‘ReTest’
else ‘Fail’
end
from test;
***********************************12/8 in JR
select
case
when @abc > 270 then ’12/8Pass’
when @abc < 270 then ’12/8ReTest’
else ’12/8Fail’
end
from t_sensor;
***********************************12/8 in JR
****file_sql_upd2****
select
case
when @humid_fg > 50 then ‘50%以上なんで水いらない’
when @humid_fg < 20 then ‘20%以下なんで水ほしい’
else ‘20%<humid<50%なので水充足中’
end
from t_sensor WHERE Num IN (SELECT max(Num) FROM t_sensor);
***********************************12/9 OK
で結局、こうなりました!!
****file_sql_upd3****
INSERT INTO `t_sensor` (
`time_stamp`,
`temp`,
`humid`,
`water_need`,
`memo`) VALUES (
CURRENT_TIMESTAMP,
CONCAT((CEILING(RAND() * 100))),
CONCAT((CEILING(RAND() * 100))),
‘test_12/9_18:00’,
‘file_sql_ist1そのままの値’);
SELECT Num,temp,humid into @abc,@temp_d,@humid_d
from t_sensor WHERE Num IN (SELECT max(Num) FROM t_sensor);
UPDATE `t_sensor`
SET
`time_stamp` = CURRENT_TIMESTAMP,
`temp`= CONCAT(@temp_d,’度’),
`humid` = CONCAT(@humid_d,’%’),
`water_need` = (
case when @humid_d > 50
        then ‘湿度50%以上なので水不要’
     when @humid_d < 20
        then ‘湿度20%以下なので水ほしい’
else
        ‘湿度が0%<humid_d<50%より水充足中’
end),
`memo` = ‘humid値で判断修正’
 WHERE Num = @abc;
できた!!!!
crontabは、下記で設定
capture_2016_12_09_20_18_03_284
phomyadminでみてもOK
capture_2016_12_09_20_20_55_859
PHPもOK
capture_2016_12_09_20_21_27_409
では、少しーーー様子見ましょう!!!
(少しうれしい!)
以上

136_MySQL_4_(SELECT結果を変数に入れる)_on SAKURAVPS

最新レコードの値を見て「水いる・いらない」をいずれ判断させるのに、SELECT結果を辺陬に入れて、最新レコードだけ変更する、、にチャレンジ!

SQL文ではうまく行く!
phpmyadminではダメだけど。。
SELECT Num into @abc from t_sensor WHERE Num IN (SELECT max(Num) FROM t_sensor);
UPDATE `t_sensor` SET
`time_stamp` = CURRENT_TIMESTAMP,
`temp`= (CEILING(RAND() * 100))
WHERE Num = @abc;
ID:raspai Pass=A*****6

/home/raspai
のところに、ファイル
file_sql_upd1
を作成
****これをいれました!*****
SELECT Num into @abc from t_sensor WHERE Num IN (SELECT max(Num) FROM t_sensor);
UPDATE `t_sensor` SET
`time_stamp` = CURRENT_TIMESTAMP,
`temp`= (CEILING(RAND() * 100)),
`humid` = (CEILING(RAND() * 100)),
`water_need` = ‘いらない!’,
`memo` =’temp,humidはランダム!’
 WHERE Num = @abc;
crontabの設定を追加
10 * * * * mysql -u raspai -pAa123456 20161129_sensor < file_sql_upd1
10分後に最新レコードだけ、ランダム変数に変更します。
はたして、、、????
(2016/12/06 23:00いい感じ!!)
結局、今のファイルは、、、下記。
****file_sql_ist1****
INSERT INTO `t_sensor` (`time_stamp`, `temp`, `humid`, `water_need`, `memo`) VALUES (CURRENT_TIMESTAMP,’10ど’,’10%’,’no_need’,’file_sql_ist1のそのままの値’)
****file_sql_upd1****
INSERT INTO `t_sensor` (
`time_stamp`,
`temp`,
`humid`,
`water_need`,
`memo`) VALUES (
CURRENT_TIMESTAMP,
10,
10,
‘no_need’,
‘2016/12/6_10:30_そのまま’);
SELECT Num into @abc from t_sensor WHERE Num IN (SELECT max(Num) FROM t_sensor);
UPDATE `t_sensor` SET
`time_stamp` = CURRENT_TIMESTAMP,
`temp`= CONCAT((CEILING(RAND() * 100)),’度’),
`humid` = CONCAT((CEILING(RAND() * 100)),’%’),
`water_need` = ‘水いらない!’,
`memo` =’temp,humidはランダム!file_sql_upd1で修正’
 WHERE Num = @abc;
(2016/12/07 8:00今は下記)
****file_sql_ist1****
INSERT INTO `t_sensor` (
`time_stamp`,
`temp`,
`humid`,
`water_need`,
`memo`) VALUES (
CURRENT_TIMESTAMP,
CONCAT((CEILING(RAND() * 100)),’ど’),
CONCAT((CEILING(RAND() * 100)),’%’),
‘test’,
‘file_sql_ist1のそのままの値’)
****file_sql_upd1****
INSERT INTO `t_sensor` (
`time_stamp`,
`temp`,
`humid`,
`water_need`,
`memo`) VALUES (
CURRENT_TIMESTAMP,
CONCAT((CEILING(RAND() * 100))),
CONCAT((CEILING(RAND() * 100))),
‘test’,
‘file_sql_ist1のそのままの値’);
SELECT Num,temp,humid into @abc,@temp_de,@humid_fg
from t_sensor WHERE Num IN (SELECT max(Num) FROM t_sensor);
UPDATE `t_sensor` SET
`time_stamp` = CURRENT_TIMESTAMP,
`temp`= CONCAT(@temp_de,’度’),
`humid` = CONCAT(@humid_fg,’%’),
`water_need` = ‘水いらない!’,
`memo` =’temp,humidはランダム!file_sql_upd1で修正’
 WHERE Num = @abc;
以上

135_MySQL_3_(配列に入れる)_on SAKURAVPS

raspaiのshellを作る。まずは単純なselect文だけ。
https://gist.github.com/ShigeoTejima/7fcb68ffd3e5ffc596f8
を参考
/home/raspai
に、
slt_20161204_1.sh
として作成します。
ーーーーーーーーーーーー./slt_20161204_1.shで実行
#!/bin/bash
function get_one_value() {
cmd=2016/12/04 17:43 direct echo
echo “$cmd”
}
function main() {
get_one_value
}
####. $(dirname $0)/database.conf
main “$@”
ーーーーーーーーーーーーここまでOK(単純にechoを$変数で表示まで)
ーーーーーーーーーーーー./slt_20161204_1.shで実行
#!/bin/bash
function get_one_value() {
cmd=’SELECT * FROM t_sensor WHERE time_stamp IN (SELECT max(time_stamp) FROM t_sensor)’
echo “$cmd”
}
function main() {
get_one_value
}
####. $(dirname $0)/database.conf
main “$@”
ーーーーーーーーーーーーここまでOK(SQL文の表示まで)
ーーーーーーーーーーーー./slt_20161204_2.shで実行
#!/bin/bash
function get_one_value() {
 DATABASE=20161129_sensor
USERNAME=raspai
PASSWORD=Aa123456
 local query=”SELECT * FROM t_sensor WHERE time_stamp IN (SELECT max(time_stamp) FROM t_sensor)”
local result
result=$(mysql -B –user=${USERNAME} –password=${PASSWORD} –database=${DATABASE} -N -e “${query}”)
if [[ $? -eq 0 ]]; then
echo “value: [${result}]”
else
echo “fail to select from mysql.” 1>&2
fi
echo “${result}”
}
function main() {
get_one_value
}
main “$@”
ーーーーーーーーーーーーここまでOK(SQL文の表示まで、でも2行表示される)
ーーーーーーーーーーーー./slt_20161204_2.shで実行
#!/bin/bash
function get_one_value() {
 DATABASE=20161129_sensor
USERNAME=raspai
PASSWORD=Aa123456
 local query=”SELECT * FROM t_sensor WHERE time_stamp IN (SELECT max(time_stamp) FROM t_sensor)”
local result
result=$(mysql -B –user=${USERNAME} –password=${PASSWORD} –database=${DATABASE} -N -e “${query}”)
echo “${result}”
}
function main() {
get_one_value
}
main “$@”
ーーーーーーーーーーーーここまでOK(SQL文の表示まで。、1行表示になりました。)
次に結果を配列に入れて表示させてみる。
http://shellscript.sunone.me/array.html
を参考。
ーーーーーーーーーーーー./slt_20161204_3.shで実行
#!/bin/bash
function get_one_value() {
 DATABASE=20161129_sensor
USERNAME=raspai
PASSWORD=Aa123456
 local query=”SELECT * FROM t_sensor WHERE time_stamp IN (SELECT max(time_stamp) FROM t_sensor)”
local result
result=($(mysql -B –user=${USERNAME} –password=${PASSWORD} –database=${DATABASE} -N -e “${query}”))
echo “${result[@]}”
echo “第0は、${result[0]}”
echo “第1は、${result[1]}”
echo “第2は、${result[2]}”
echo “第3は、${result[3]}”
echo “第4は、${result[4]}”
echo “第5は、${result[5]}”
echo “第6は、${result[6]}”
echo “第7は、${result[7]}”
}
function main() {
get_one_value
}
main “$@”
ーーーーーーーーーーーーここまでOK(配列result[@]にスペース毎に入れられました!!)
 capture_2016_12_04_21_40_22_881
さあ、次は、取り込んだ配列変数を条件(水が必要かどうか?y/n)に合わせて結果を挿入(updateして書き換える)する、をやろう。。
以上

134_MySQL_2_(Auto Insert Timely)_on SAKURAVPS

SQL-DBを作成。
capture_2016_11_30_01_07_05_810
センサーのデータが入ってきたと想定して、
ダミーでデータを毎時入れていく準備をする。
それをPHPでWebでのぞく。。という準備まで、、、やってみる。。。
—————
まず復習、単純に値が入るか?
INSERT INTO `t_sensor`(`No`, `timestamp`, `temp`, `humid`, `water_need`, `memo`) VALUES (6,20161128221300,3,4,”need”,”test”)
1件ずつはこれで入った!
—————
でも改行。これで改行される。
echo “<br />\n”;
—————
タイムスタンプは自動でいれたい。。。
INSERT INTO `t_sensor`(`No`, `timestamp`, `temp`, `humid`, `water_need`, `memo`) VALUES (6,CURRENT_TIMESTAMP,3,4,”need”,”test”)
—————
Numも自動(Auto_Increment)で作成したい。phpmyadminで設定。
INSERT INTO `t_sensor`(`Num`, `time_stamp`, `temp`, `humid`, `water_need`, `memo`) VALUES (1,CURRENT_TIMESTAMP,3,4,”need”,”test”)
—————
phpmyadminのSQLで実行できるコマンドになりました。¥!!!
INSERT INTO `t_sensor`(`time_stamp`, `temp`, `humid`, `water_need`, `memo`) VALUES (CURRENT_TIMESTAMP,3,4,”need”,”test2″)
INSERT INTO `t_sensor`(`time_stamp`, `temp`, `humid`, `water_need`, `memo`) VALUES (CURRENT_TIMESTAMP,30,40,‘no_need’,‘test20161202_2330’)
<会社でうまく行ったSQL文例(”でなく’を活用)>
INSERT INTO `t_sensor`(`time_stamp`, `temp`, `humid`, `water_need`, `memo`) VALUES (CURRENT_TIMESTAMP,3,4,‘no_need’,‘2016/12/1 test4’)
実際の様子。
SQL準備>>>
capture_2016_11_30_01_13_04_321
その結果>>>
capture_2016_11_30_01_13_13_262
—————
これをファイルに保存。今回は、「file_name2」に。
場所は、/rootへ
capture_2016_11_30_01_12_07_65
—————
で、ファイルから実行してみる!!
# mysql -u root -pyoshihara20160805 20161129_sensor < file_name2
http://160.16.50.187/20161129_disp_inst.php
capture_2016_11_30_01_17_07_979
入ってます!!
—————
Shellを作ります。
[root@tk2-201-10183 ~]# vi 20161130inst.sh
#!/bin/sh
mysql -u root -pyoshihara20160805 20161129_sensor < file_name2
—————
実行権限をつけます!!!
chmod +x 20161130inst.sh
—————
シェルの単独実行!!
[root@tk2-201-10183 ~]# ./20161130inst.sh
capture_2016_11_30_01_19_44_432
増えてます!!!
—————
時間起動するように、crontabを設定します。
/etc/crontabを編集
suでrootになります。
$ su –
エディタで/etc/crontabを編集します。
次のような行を最後に追加します。
この例では毎日毎時:01分に、自動的にSQL動きます。
1 * * * * root /root/20161130inst.sh
crondを再起動します。
/etc/rc.d/init.d/crond restart
後は、明日を楽しみに待ちましょう。
自動的に貯まっているはずです。
はたして??????
—————
、、、、でダメだった。のでやり直し!。。。
https://www.express.nec.co.jp/linux/distributions/knowledge/system/crond.html
を参考に。
cron を使用するためには、crond が起動、その確認
/etc/rc.d/init.d/crond status
——————–
これらのディレクトリは、
「/etc/crontab」ファイルによって呼び出され、
指定時間ごとに、配下にあるシェルスクリプトを実行
なので、時間毎のディレクトリへ
cd /etc/cron.hourly
——————–
実行ファイルを作成
vi 20161201_h_sql_inst
——————–
中身は、、、
#!/bin/sh
/root/file_name2
——————–
保存したら、実行権を付与
chmod 755 /etc/cron.hourly/20161201_h_sql_inst
——————–
で待つ。。。。。**:01を。。。。
はたして?????
——————–
残念・・・・ダメ。。。。
なので、次は、単独でうまくいっていた下記のシェルを**:30に起動で設定してみる。。。
vi 20161201_h_sql_inst
で、
/root/20161130inst.sh
と書く。。。
*************************
(2016/12/3 24:00)
まずphpmyadminからSQLがinsertできるか?
INSERT INTO `t_sensor` (`time_stamp`, `temp`, `humid`, `water_need`, `memo`) VALUES (CURRENT_TIMESTAMP,40,40,’no_need’,’2016/12/1 test4′)
OKなので、次にファイルから実行できるか?
# mysql -u root -pyoshihara20160805 20161129_sensor < file_sql_ist1
OKなので、次にuserをraspaiに変えてやってみる
まずユーザraspaiを作る
>MySQLから
GRANT ALL PRIVILEGES ON *.* TO ‘raspai’@’127.0.0.1’ IDENTIFIED BY ‘Aa123456’;
OKなので、次にファイルから実行できるか?
# mysql -u raspai -pAa123456 20161129_sensor < file_sql_ist1
入った!、ただし、hostnameは、「127.0.0.1」でなく「loclahost」に変更!
一般ユーザーを、raspaiという名前で作ってみます。
# adduser raspai
raspaiのパスワードを決めます。passwdコマンドでパスワードを設定。
# passwd raspai
(Aa*****6)
次にcrontabをコマンドで指定してみる。
# crontab [- u user] {-l|-r|-e}
なので、
rootユーザが、testユーザの crontabファイルを表示する場合。
# crontab -l -u test
だから、、、
# crontab -e -u raspai
まあ、、やったので、また待ってみるか。。。。。
(またダメかな。。。自信なし。。)
*********************************
ついに!!できた!(2016/12/03 15:45)
一般ユーザーを、raspaiという名前で作ったのでそれで入る
ID raspai, Pass Aa****6
crontabの設定を確認
$ crontab -l
何もない?では、設定。
$ crontab -e
下記を設定。
45 * * * * mysql -u raspai -pAa123456 20161129_sensor < file_sql_ist1
確認
$ crontab -l
表示OK。crondのstatusを一応チェック
# /etc/rc.d/init.d/crond status
capture_2016_12_03_15_45_54_344
以上

133_PHP_MySQL_on_SAKURAVPS

==========================
1、まずShellでSQLを動かす。SELECT文のチェック。・・・OK!
==========================
20160805 22:56
OK!!
# mysql -u root -pyoshihara20160805 yubin20160807 -e “SELECT * FROM 2016_yubin_num WHERE yubin_num=”1210823″;”
==========================
2、次は、file_nameにSQL文(/rootに置いた!)を入れて、それをShellで実行・・OK!
==========================
20160805 22:56
OK!!
file_name
SELECT * FROM 2016_yubin_num WHERE yubin_num=”1210823″;
# mysql -u root -pyoshihara20160805 yubin20160807 < file_name
==========================
3、次は、PHPからアクセス。
==========================
場所は、
/var/www/html
に、ファイル名は、
20161128_phpmysql.php
なので、http://160.16.50.187/20161128_phpmysql.php
にアクセス。
PHPファイルの中身は下記!!・・・・・OK!
20160805 22:56
20161128_phpsql.php
OK!!
<?php
//MySQLに接続し、データベースを選択します。
$conn = mysql_connect(‘tk2-201-10183.vs.sakura.ne.jp’,’root’,’yoshihara20160805′) or d
ie(mysql_error());
mysql_select_db(‘yubin20160807’) or die(mysql_error());
//SQLクエリを実行します。
$res = mysql_query(‘SELECT * from 2016_yubin_num WHERE yubin_num=”1210823″‘) or die(my
sql_error());
//結果を出力します。
while ($row = mysql_fetch_array($res, MYSQL_NUM)){
echo $row[0].”\n”;
echo $row[1].”\n”;
echo $row[2].”\n”;
echo $row[3].”\n”;
echo $row[4].”\n”;
echo $row[5].”\n”;
echo $row[6].”\n”;
echo $row[7].”\n”;
}
//結果セットを開放し、接続を閉じます。
mysql_free_result($res);
mysql_close($conn);
?>
==========================
イメージ図
==========================
capture_2016_11_28_23_37_54_104
以上

132_crontab_setting_on_munin_SAKURAVPS

いやいや、下記をしたけどダメ!データ更新表示されなかった。

なので戻しました。。また分析勉強しなおし。。。。残念。

(2016/11/28 20:50)

 

——————————————–

crontabが動いてないので、データが取れていないことがわかりました!

なので、初めてcrontabのセットをします。

場所は、

/etc/crontab

viで入って下記を入れてみました。

0 * * * * root /usr/bin/munin-cron

反映は自動的にされるようなので、様子見。。。。

以上

 

2016/11/28----------

rootではcrontabは設定違って動かないようなので、ユーザであるmuninでのcrontabを作って様子を見る。。。。。

# su – munin –shell=/usr/bin/munin-cron

がコマンドなので、

# cd /etc

にて、

# crontab -u munin -l

で、確認

01 * * * * /usr/bin/munin-cron

を書いておきました。。。。。様子見。。。。

以上

 

 

 

131_munin_SAKURAVPS (MySQL Plug-in)

「Muninでかんたんサーバー監視」
~初心者でもよくわかる!
VPSによるWebサーバー運用講座(3)

「Muninでかんたんサーバー監視」~初心者でもよくわかる!VPSによるWebサーバー運用講座(3)


を参考。。

続けて、、MySQLのPlug-inも追加してみる。
MySQLの稼働状況を監視する
MuninからMySQLにアクセスするために、専用のMySQLユーザー’munin’を作成
# mysql -u root -p
Enter password:y********0805
MySQLのプロンプト上で、muninユーザーを作成。
muninユーザーのパスワードをA*******
mysql> GRANT ALL PRIVILEGES ON *.* TO ‘munin’@’127.0.0.1’ IDENTIFIED BY ‘Aa1234567’ ;
mysql> FLUSH PRIVILEGES;
mysql> exit
ユーザの確認(これ便利!!)
mysql> select Host, User, Password from mysql.user;
(図1)
capture_2016_11_23_20_20_13_838
次に、MySQL用のMuninプラグインを設置
# ln -s /usr/share/munin/plugins/mysql_bytes /etc/munin/plugins/
# ln -s /usr/share/munin/plugins/mysql_queries /etc/munin/plugins/
# ln -s /usr/share/munin/plugins/mysql_slowqueries /etc/munin/plugins/
# ln -s /usr/share/munin/plugins/mysql_threads /etc/munin/plugins/
muninの設定ファイルmunin-nodeに、MySQLの設定を追加
# cd /etc/munin/plugin-conf.d
# vim munin-node
以下を追加
[mysql*]
env.mysqlopts -u munin -pAa1234567 -h 127.0.0.1 –port=3306
このファイルはパスワードが含まれていますので、
第三者に見られないよう念のため読み/書きができる権限をrootユーザーだけに限定
# chmod 600 /etc/munin/plugin-conf.d/munin-node
MySQL slow queryの設定
遅いクエリであるかどうかのしきい値は10秒(long_query_time=10)にします。
MySQLの設定ファイルmy.cnfを編集
# vim /etc/my.cnf
[mysqld]のセクションに以下を追加
slow_query_log=1
slow_query_log_file=/var/log/mysql-slow.log
long_query_time=10
slow query記録用のログファイルを用意します。
ファイルの権限はmysqlユーザーにします。(すでにいるはず。。)
# touch /var/log/mysql-slow.log
# chown mysql:mysql /var/log/mysql-slow.log
設定が終わったので、muninからMySQLに関する計測値が取れているかどうか確認
行末に数字が出てればOK。
# munin-run mysql_bytes
recv.value 4905156
sent.value 34477285
# munin-run mysql_queries
delete.value 760
insert.value 760
replace.value 0
select.value 22813
update.value 2096
cache_hits.value 0
# munin-run mysql_slowqueries
queries.value 0
# munin-run mysql_threads
threads.value 1
これでMySQLに関するグラフも表示?!
以上

130_munin_SAKURAVPS

「Muninでかんたんサーバー監視」
~初心者でもよくわかる!
VPSによるWebサーバー運用講座(3)

「Muninでかんたんサーバー監視」~初心者でもよくわかる!VPSによるWebサーバー運用講座(3)


を参考。。

Muninでは、主に以下のような指標をグラフ化することができます。
CPU使用率
Disk使用率
メモリ使用量
ネットワークのトラフィック
との事。。。
Muninのインストール
# yum install munin
次に、アクセス時のユーザー認証を設定します。
Muninのグラフを一般に公開しないようにするため、
htaccessによるBasic認証を設定します。
# htpasswd -m /etc/munin/munin-htpasswd munin
(Aa******)
監視エージェントであるmunin-nodeを起動
# service munin-node start
サーバー起動時に、Muninが自動で起動するように設定
# chkconfig munin-node on
設定を有効にするためにApacheを再起動
# service httpd restart
これで
http://160.16.50.187/munin
にアクセスし、
ユーザー:munin
パスワード: (Aa******)
****ダメ!!!!!真っ白のまま!!!!
なので
ここを参考
http://qiita.com/murachi1208/items/2d27d386a2891ccf4ed1
/etc/munin/munin.conf を少し弄る
$ sudo vi /etc/munin/munin.conf
dbdir   /var/lib/munin                 # コメントを外す
htmldir /var/www/html/munin
logdir /var/log/munin
rundir  /var/run/munin
自動起動の設定と動作確認
$ sudo service httpd restart
$ sudo service munin-node start
$ sudo chkconfig munin-node on
****ダメ!!!!!真っ白のまま!!!!
あきらめかけて、、、、
下記をみてコマンド売ったら、入れ物だけ出た!!
【これ多分効いている、すぐ設定が反映されたApache,MySQLが。。。】
http://pocketstudio.jp/log3/2012/08/11/executemunin_immediately/
待つ必要は全く無く、cron が実行するコマンドを実行するだけで、新しい設定反映テストが出来ます。↓
# su – munin –shell=/usr/bin/munin-cron
ログ出力も同時に行えば安心。↓
# su – munin –shell=/usr/bin/munin-cron & tail -f /var/log/munin/munin-update.log
普通にシェルから実行する方法も↓
# su – munin –shell=/bin/bash
$ /usr/bin/munin-cron
ただ、5分を待ってればよかったのかな????
(図2)
capture_2016_11_23_17_24_06_591
じゃ、続けてみるか??
Apacheの監視項目を追加する
以下のコマンドを実行。
Apacheに関するMuninプラグインを有効に。
# ln -s /usr/share/munin/plugins/apache_accesses /etc/munin/plugins/apache_accesses
# ln -s /usr/share/munin/plugins/apache_processes /etc/munin/plugins/apache_processes
# ln -s /usr/share/munin/plugins/apache_volume /etc/munin/plugins/apache_volume
次にApacheの設定ファイルhttpd.confを編集
# vim /etc/httpd/conf/httpd.conf
ExtendedStatusがコメントアウトされているので#を削除して有効化
server-statusへのアクセスを有効にする
/etc/httpd/conf.d/status.conf を新規作成し以下の設定を追加
# cd /etc/httpd/conf.d/
# vim status.conf
下記を新ファイルに追加
<IfModule mod_status.c>
    ExtendedStatus On
    <Location /server-status>
        SetHandler server-status
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
    </Location>
</IfModule>
設定が完了したのでApacheと監視エージェントのmunin-nodeを再起動
# service httpd restart
# service munin-node restart
確認で、以下の表示された情報のうち、行の最後に数字が出ていればOKです
# munin-run apache_accesses
accesses80.value 1
# munin-run apache_processes
busy80.value 1
idle80.value 7
free80.value 248
# munin-run apache_volume
volume80.value 1024
(行の最後が数字ではなく’U’という記号になっていれば、Apacheからステータス情報を正しく取れていませんので、、と。)
数分待って
http://160.16.50.187/munin
にアクセス、Apacheの監視項目が表示されていればOK!
以上

129_last_lastlog_on_SAKURAVPS

「ログの見かた」~初心者でもよくわかる!VPSによるWebサーバー運用講座(1)

「ログの見かた」~初心者でもよくわかる!VPSによるWebサーバー運用講座(1)


より勉強

ログファイルを実際に見てみましょう。
su でルートユーザーにスイッチしたあと、 /var/log/httpd ディレクトリに移動
$ su –
パスワード: (パスワードを入力)
# cd  /var/log/httpd
# ls
(図1)
capture_2016_11_23_15_02_08_883
tail -f コマンドで中を覗いてみましょう。
# tail -f access_log
ブラウザでVPS上のコンテンツ
http://160.16.50.187
にアクセス、
sshクライアントにリアルタイムでログが記録されていくのが分かる。。。
怪しいユーザーがサーバーにログインしていないかどうかをチェックする
$ last
$ lastlog
(図2)
capture_2016_11_23_15_06_23_991
以上