ホーム » コンピュータ » Linux (ページ 27)

Linux」カテゴリーアーカイブ

システム

最近の投稿

  • この一週間の必需品
    6/22頃からの風邪の症状。鼻水と喉の痛みがあって、鼻スプレーと喉スプレーでだましだましの2週間。 […]
  • あづぃ…
    2F廊下温度35℃、WBGT30℃越え。 […]
  • gemini-cli 便利
    Gemini をコマンドラインから使えるツール gemini-cli が公開されている。 […]
  • LINE bot が動いていない… 月当たり最大数オーバー
    我が家では、以前より 自宅専用の LINE bot を動かしていて、サーバからの通知に使っていた。 […]
  • rkhunter の設定
    卒研のセキュリティの説明の中で rkhunter を紹介。説明してたら、自宅サーバにはサーバ機以降後に […]

アーカイブ

カテゴリー

サーバの不調

子供を連れて遊びに出ている中、サーバの管理ソフトから、 色々と警告が届く。

load averageが、10を超え、プロセス数も増えている。 同じような症状は、数日前にも発生している。(その時は数十分後にreset…)

この雰囲気は、自宅サーバのマザーボードあたりが 不調と思われる。

自宅に戻り、サーバを確認するが、コンソールには何も表示されない。 再起動時の fsck も、簡単に終わったし、HDDではないと思われる。

前回のサーバ更新

前回のサーバ更新は2010年からすると、ほぼ5年目。 マザーボードあたりが壊れても仕方がない時期ではある。

そろそろ次のマシンを物色するかな…。

LOG

Service: Current Load State: WARNING
Host: localhost Address: 127.0.0.1
Date/Time: Tue Sept 1 04:39:17 JST 2015
WARNING - load average: 7.44, 4.97, 2.46
Service: Current Load State: CRITICAL
Host: localhost Address: 127.0.0.1
Date/Time: Tue Sept 1 04:44:17 JST 2015
CRITICAL - load average: 11.96, 9.23, 4.97
Service: No-DHCP State: CRITICAL
Host: homespot Address: 192.168.11.201
Date/Time: Tue Sept 1 05:17:37 JST 2015
CRITICAL - Plugin timed out after 11 seconds
Service: Total Processes State: WARNING
Host: localhost Address: 127.0.0.1
Date/Time: Tue Sept 1 06:27:57 JST 2015
PROCS WARNING: 320 processes
Service: No-DHCP State: CRITICAL
Host: homespot Address: 192.168.11.201
Date/Time: Mon Sept 7 11:04:48 JST 2015
CRITICAL - Plugin timed out after 11 seconds
Service: Current Load State: CRITICAL
Host: localhost Address: 127.0.0.1
Date/Time: Mon Sept 7 11:07:08 JST 2015
CRITICAL - load average: 10.81, 6.52, 2.91
Service: Total Processes State: WARNING
Host: localhost Address: 127.0.0.1
Date/Time: Mon Sept 7 12:27:48 JST 2015
PROCS WARNING: 309 processes
Service: Total Processes State: CRITICAL
Host: localhost Address: 127.0.0.1
Date/Time: Mon Sept 7 14:42:48 JST 2015
PROCS CRITICAL: 461 processes

LinuxでOneDriveを使う(onedrive-d)

職場では、OneDriveなどの方が便利でもあるため、 Linux環境にonedrive-dを入れてみた。

以下は、インストールまでの方法…。といっても、 githubの説明そのまんま。

((ダウンロード))
$ git clone https://github.com/xybu/onedrive-d.git
$ cd onedrive-d
((インストール))
$ sudo aptitude install python3-setuptools
$ sudo python3 setup.py install
$ sudo python3 setup.py clean
((初期設定の作成))
$ mkdir ~/.onedrive
$ cp ./onedrive_d/res/default_ignore.ini ~/.onedrive/ignore_v2.ini
$ sudo touch /var/log/onedrive_d.log
$ sudo chown `whoami` /var/log/onedrive_d.log
((OneDriveへのアクセス許可))
$ onedrive-pref
URLが表示されるのでブラウザにコピー&ペースト
そのページにアクセスするとOneDriveの認証が表示されるので
アクセス許可を与える。
最終的に表示されたページのURLを、コマンドラインにペースト
後は、ディレクトリ名などを聞かれるので必要に応じて設定。
((使ってみる))
$ onedrive-d start

ただ、使ってみると、Linux版のDropboxなどと比べると、同期がかかるまでが遅い。 また、バージョンの低いDebianだと、onedrive-d がうまくインストールされない。
うーん、この状態であれば、まだ Dropbox の方が使いやすいな。 ひとまず、自宅サーバでOneDriveのバックアップ処理様に使う程度かな。

サーバ証明書の監視

職場サーバで、SSLのサーバ証明書の発行の仕組みが変わったため、 証明書が失効となってしまった。このおかげで一部サービスが動かなかったので、 反省としてサーバ証明書の監視をやってみた。

(( /etc/nagios-plugins/config/https-cert.cfg ))
# 'check_https_cert' command definition
define command{
command_name	check_https_cert
command_line	LANG=C /usr/lib/nagios/plugins/check_http
--ssl --certificate 50
-H '$HOSTADDRESS$' -I '$HOSTADDRESS$'
}
(( /etc/nagios3/conf.d/xxx_nagios2.cfg ))
define host{
use                     generic-host
host_name               host-xxx
alias                   host-xxx
address                 xxx.example.com
check_command           check_http
normal_check_interval   10
retry_check_interval    2
notification_interval   10
}
define service{
use                     generic-service
host_name               host-xxx
service_description     CERT
check_command           check_https_cert
normal_check_interval           120 ; 2時間周期で十分だろう
retry_check_interval            10
notification_interval           120
}

蒸し暑い季節の始まり

昨日の夜中はやたらと蒸し暑く、AM2:00頃まで目が冴えてしまった。 早々に除湿や冷房をかけて寝るヤワなヤツであった。

ちなみに、部屋に設置の温度・湿度モニター、 不快指数(オレンジ)よりも湿度(青)の方が苦手なのかな…。

1506230818_486x289.png

Linux-4.0 入れてみた

Debian/unstable に linux-4.0 が出てきたというので、 特に必要性もないけど、メジャー番号が変わった記念…

# uname -a
Linux perrine 4.0.0-1-amd64 #1 SMP
Debian 4.0.2-1 (2015-05-11) x86_64 GNU/Linux

squidの異常….

今朝は、子供から「ネットワーク繋がらない」のクレームで 起こされる。学校に行くちょっとの時間にネットで遊んでいるんだけど、 最近のパソコンのトラブルもあって、「ネット切断」には いち早くクレームを入れてくる。

原因を調べると、ハードディスクの容量不足で様々なソフトの動作に 悪影響が出ている様子。次に容量不足の場所を確認すると、 "/var/log/squid/cache.log"に延々と以下の様なログが残っている。

2015/03/10 07:55:49| httpAccept: FD 18:
accept failure: (22) Invalid argument
2015/03/10 07:55:49| comm_accept: FD 18:
(22) Invalid argument

調べてみると、SYN-Flood DoS アタックを受けているとか 説明が出ているけど、squid 関連のポートは外部に閉じているし、 対外アクセスのグラフでも特に異常なトラヒックは出ていないので、 たぶん関係ないと思う。

実は昨日、"aptitude safe-upgrade"を実行したら、 linux-image-3.16.0-4-amd64 の更新がかかったので、夜中の1時に rebootを実行させて、その時点からのLOG肥大。

1503101005_481x227.png

crtmpserverとproxyポートの取り合いが原因か…

原因がsquidと判明したけど、我が家のsquidは子供のコンテンツフィルタのために、 ややこしい設定なので、これが原因かとsquid3を入れてみた。 でも、ソケット使用中みたいなエラーでうまく動かない。

でも、よくよく考えたら昨日、動画配信サーバの実験をしたかったので、 crtmpserver をインストールしたのを思い出す。"aptitude remove crtmpserver" をしたら普通に動き出したので一安心。
だけど、ポート競合してるんなら素直にエラー吐いて止まってくれよ…

メールの配送が止まってると思ったら

何気に自宅サーバにてメールが流れていないことが判明。 メールキューをみたら、nagiosなどのメールが溜まっている。

設定を確認していたら、DNSが動いていない。でもnslookupは動くぞ…。 よくよく確認すると、/etc/resolv.conf が空っぽ。 以前にも同様のトラブルがあったけど、NetworkManager がresolv.confを 編集しているのが原因。

以前の場合には、"aptitude remove network-manager" で消したけど、 最近は、依存しているパッケージが多く、消すに消せない。

そこで、改めて NetworkManager を調べると、"dns=none"という 設定があるみたい。

(( /etc/NetworkManager/NetworkManager.conf ))
[main]
+ dns=none
plugins=ifupdown,keyfile
[ifupdown]
managed=false

(追記)resolv.confの書き換えチェック

別トラブルでサーバの再起動がかかったら、Proxyサーバの動きが変。 原因を確認したら、今度は resolvconfパッケージが、これまたresolv.confを触っていて、 サーバの内向けDNSを、ルータDNSに勝手に書き換えている。 ということで、"aptitude remove resolvconf"してから、改めて /etc/resolv.conf を手作業で編集。 こいつは、サーバ機なんだから、resolv.conf 勝手に触るなよ….

めったにないとは思うけど、無駄に悩みたくないので、nagiosで監視させよう。

(( /etc/nagios-plugins/config/local.cfg ))
define command{
command_name check_dig_match
command_line /usr/lib/nagios/plugins/check_dig -H '$HOSTADDRESS$' -l '$ARG1$' -a '$ARG2$'
}
(( /etc/nagios3/conf.d/localhost.cfg ))
define service{
use       generic-service
host_name localhost
service_description DNS
check_command  check_dig_match!<自宅内ドメイン>!<自宅内サーバIPアドレス>
}

でもなぁ、こんなパッケージの設定ミス対策のチェックをあちこち書き込んだら、 設定を変更するときに、2重管理してるのと一緒だしなぁ…意味ないかな。

amavisの設定も

先日、SPAMフィルタのpostgrey(ホスト名でフィルタ)の設定を 見直したが、まだメールが配送できなくなり 今度は、コンテンツフィルタのamavisの設定を見直した。

(( /etc/amavis/conf.d/50-user ))
@local_domains_acl = (
".$mydomain" ,
# 自宅外ドメイン
".xxxxx.net" ,
"xxxxx.net" ,
) ;
(( amavis 再起動 ))
/etc/init.d/amavsi restart

postgreyのトラブルでメールが止まる

自宅で立ち上げているメールサーバで、 spamなどでrejectされるメール流量が減っていると思ったら、 普通のメールさえ流れていないことが判明。 エラーメッセージを見ると postgrey が原因っぽい。

かといって、"telnet localhost 10023"とかでも、postgreyは普通に動いている様子。 色々と調べてみたが、perl のバージョンアップの影響かも。

自宅blogの記事で、数年前にpostgreyを入れた時には、起動オプションが"–inet=10023"だと、 IPv6を使おうとすることで失敗していたことが解り、"–inet=127.0.0.1:10023" と設定していた。しかし、改めて最近のpostgrey設定記事を 探すと、前者の設定が多い。 そこで、改めて"–inet=10023"に変更したら、動き出す…

(( /etc/default/postgrey ))
POSTGREY_OPTS="--inet=10023"

BuffaloルータのsyslogをDebianサーバで記録

以前から、ルータWZR-1166DHP2の状況のモニタのために、syslogの設定をしようとしたけど、 ファシリティなどの値が分らず失敗していたので、改めて設定したのでメモを残す。

記録側のDebianサーバのsyslogの設定

Debianサーバのrsyslogを受信状態にするために、 udp の 514 ポートを受信状態に設定する。

(( /etc/rsyslog.conf ))
$ModLoad imudp
$UDPServerRun 514

Buffaloの家庭用ルータであれば、syslog の出力ファシリティは、 ここによれば、Local1 となっているので、以下の設定を追加する。

(( /etc/rsyslog.d/local1.conf ))
local1.*   /var/log/local1.log

これだけでは、ファイル local1.log が肥大化するので、 logrotate の設定を行う。

(( /etc/logrotate.d/rsyslog ))
:
  /var/log/debug
  /var/log/messages
+ /var/log/local1.log
  {
    rotate 4
    weekly
  :

最後に、設定を反映させる。

(( 設定を反映 ))
$ sudo /etc/init.d/rsyslog restart

Buffaloルータ側のsyslogの設定

管理-ログ-syslog設定にて、syslogサーバの欄にサーバIPアドレスを設定する。

 


(注意) LOGでのルータアドレスの逆引きとか不要かと思い、/etc/default/rsyslog に、”-x”とかの オプションをつけて再起動とかしたけど、設定が反映されない。 “ps ax | grep rsyslog”などを実行しても、”-n”のオプションしかついていない。 よくよく考えると、systemd が入っているので、/etc/systemd/system/syslog.service にて、 “ExecStart=/usr/sbin/rsyslogd -n”と記載されている。 ここを変更すればとは思うけど、「個人的設定の都合」でこの辺のファイルを書き換えるのは、 Debian流じゃないように思えないので、書き換えを躊躇している。
# systemd で全容が把握できていないだけなんだけど…

Google 検索

My Google   Yahoo

Microsoft

ファンサイト