カテゴリー: web

Zabbixでapacheのコネクション数の監視がしたい

Zabbixでapacheのコネクション数の監視

設定したときのメモ

監視対象のサーバのapacheの設定を変更する

# vim httpd.conf
# diff httpd.conf_20160518 httpd.conf
912,917c912,917
< #<Location /server-status>
< #    SetHandler server-status
< #    Order deny,allow
< #    Deny from all
< #    Allow from .example.com
< #</Location>
---
> <Location /server-status>
>     SetHandler server-status
>     Order deny,allow
>     Deny from all
>     Allow from 127.0.0.1
> </Location>

ローカルホストからだけデータが取得できるように設定してリスタートする。

# service httpd restart
httpd を停止中:                                            [  OK  ]
httpd を起動中:                                            [  OK  ]

ステータスを確認する

# apachectl status
The 'links' package is required for this functionality.

「elinks」が無いようなのでインストール

# yum install elinks

再度ステータスの確認

# apachectl status
                       Apache Server Status for localhost

   Server Version: Apache

   Server Built: Sep 16 2014 11:05:09

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

   Current Time: Wednesday, 18-May-2016 17:11:39 JST

   Restart Time: Wednesday, 18-May-2016 17:09:30 JST

   Parent Server Generation: 0

   Server uptime: 2 minutes 8 seconds

   1 requests currently being processed, 7 idle workers

 _W______........................................................
 ................................................................
 ................................................................
 ................................................................

   Scoreboard Key:
   "_" Waiting for Connection, "S" Starting up, "R" Reading Request,
   "W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup,
   "C" Closing connection, "L" Logging, "G" Gracefully finishing,
   "I" Idle cleanup of worker, "." Open slot with no current process
   1 requests currently being processed, 7 idle workers

↑ここの部分が現在アクティブなリクエスト数をあらわしている

zabbix_agentのユーザパラメータの設定

# pwd
/etc/zabbix
# vim zabbix_agentd.conf
末尾に「UserParameter=apache.con.num,/usr/sbin/apachectl status|grep "requests currently being processed"|awk '{print $1}'」を追加する
# diff zabbix_agentd.conf_20160518 zabbix_agentd.conf
268a269
> UserParameter=apache.con.num,/usr/sbin/apachectl status|grep "requests currently being processed"|awk '{print $1}'

# service zabbix-agent restart
Shutting down zabbix agent:                                [  OK  ]
Starting zabbix agent:                                     [  OK  ]

ここまでできたらzabbixの管理画面で設定を行う。

「設定」⇒「ホスト」⇒今回設定を行ったホストの「アイテム」をクリック。
画面右上の「アイテムの作成」でapache.con.numをキーとして設定する。

setting

しかし設定しても値が入ってこない・・・。

ホスト側のログをみてみると以下のようなエラーが!

# less /var/log/zabbix/zabbix_agentd.log    
^GERROR at home.c:149: Unable to find or create ELinks config directory. Please check if you have $HOME variable set correctly and if you have write permission to your home directory.

どうも「apachectl」のlinksコマンドがホームディレクトリに書き込め無くて出るエラーらしいので「apachectl」自体をコピーして
オプションを追加し、「zabbix_agentd.conf」ではそっちの「apachectl」を利用すればいいみたいです。

[root@www15172u sbin]# pwd
/usr/sbin
とりあえず「apachectl2」とする
[root@www15172u sbin]# cp apachectl apachectl2
[root@www15172u sbin]# vim apachectl2 
[root@www15172u sbin]# diff apachectl apachectl2
51c51
< LYNX="/usr/bin/links -dump" --- >   LYNX="/usr/bin/links -dump -no-home"

# vim /etc/zabbix/zabbix_agentd.conf
UserParameter=apache.con.num,/usr/sbin/apachectl2 status|grep "requests currently being processed"|awk '{print $1}'
# service zabbix-agent restart
Shutting down zabbix agent:                                [  OK  ]
Starting zabbix agent:                                     [  OK  ]

しばらく待つと・・・。

connection

でた。

■参考ページ

zabbix-agentでapachectlからデータを取得するUserParameterを設定したらコケた

 

※追記1:バーチャルドメインの場合はhttpd.confに設定をしても有効にならないので、
server-status用にconfを作成する

 

 # pwd
 /etc/httpd/conf.d/vhost
 
 # cat localhost.conf
 <VirtualHost *:80>
 ServerName localhost
 DocumentRoot /var/www/html
 <Location /server-status>
 SetHandler server-status
 Order deny,allow
 Deny from all
 Allow from localhost
 </Location>
 </VirtualHost>

 

※追記2:CentOS7の場合にはまった箇所

 

■CentOS7のApacheではsutatusではなくfullstatusにする

# apachectl fullstatus

設定に記載するのは↓

UserParameter=apache.con.num,/usr/sbin/apachectl2 fullstatus|grep "requests currently being processed"|awk '{print $1}'

■上記設定をしてzabbix-agentを再起動するもログにこんなエラーが出てしまった。

listener failed: zbx_tcp_listen() fatal error: unable to serve on any address [[-]:10050]

以前のプロセスが残っているようなのでまず止めてみる。

■サービスを止める。でもとまらなかった・・・

# systemctl stop zabbix-agent.service

■zabbix-agentのプロセスを探す

# ps -ef |grep zabbix

■zabbix-agentのプロセスを殺す

# systemctl kill --signal=9 zabbix-agent

■zabbix-agentを起動する
# systemctl start zabbix-agent.service

サーバ証明書切り替えでのフィーチャーフォンへの影響

サーバ証明書切り替えでのフィーチャーフォンへの影響

SHA-2に切り替えて実際に影響が出たので各キャリアの案内を
まとめておく・・・。

影響を受ける機種が大量にあるので、実質SHA-2の証明書は
現状フィーチャーフォンでは駄目ってことになるのでは・・・。

■docomo
サーバ証明書の切り替えによるドコモ ケータイへの影響について
https://www.nttdocomo.co.jp/info/notice/pages/150715_00.html

■softbank
SoftBank 3G(携帯電話)をご利用のお客さまへ サーバ証明書切り替えによる影響のご案内
http://www.softbank.jp/mobile/info/personal/news/support/20150715a/

■au
<重要なお知らせ> auケータイをご利用のお客さまへ、サーバ証明書切り替えによる影響について
http://www.kddi.com/important-news/20150715/

■Y!mobile
Y!mobile ケータイをお使いのお客さまへ ~サーバ証明書切り替えによる影響について~
http://www.ymobile.jp/info/2015/15071501.html

■総務省
サーバ証明書の切り替えによる影響について
http://www.soumu.go.jp/main_sosiki/joho_tsusin/security/enduser/security01/12.html

対応案としては・・・。
フィーチャーフォン専用のサイトを別途作ってSHA-1でできるだけ
延命を図って、非対応のフィーチャーフォンがなくなるまで我慢するみたいな。

※延命を図ろうとしても大体2016年の12月31日までが限度っぽい。

新しいフィーチャーフォンだけを対象としたほうがよさそうだな。。

■シマンテックのSHA-2のSSLサーバ証明書のテストページ
https://ssltest-sha2int.jp.websecurity.symantec.com/

テストページのQRコード
sha2check

 

クイック認証SSLでスキップ申込サービスの条件からApacheが消えていた件

若干はまったのでメモ。

グローバルサインのクイック認証SSLでスキップ申込サービスの
条件からApacheが消えていた。

スキップ申込サービスとは
https://jp.globalsign.com/service/ssl/feature/skip.html

そんなことは知らずに管理画面からSSLの更新をスキップ申込み
で申請してみると・・・。
※というか管理画面側から更新の申請をする際にはそんなこと気づかない。

2015年8月31日(月)で証明書解凍ツールの提供が終わっていた・・・。

証明書解凍ツールの提供終了とスキップ申込サービスの利用推奨環境の変更について
https://jp.globalsign.com/information/important/detail.php?no=1434428276

どうすればいいのかわからないのでとりあえず電話して聞いてみたところ、
Apache系はもうスキップ申込みサービスが使えないから毎回csrを貼って
申込みをしないといけないということが発覚。

ただもうスキップで申込みしてしまった旨を伝えると、証明書再発行
をすればいいということなので再発行の申請。

SSLサーバ証明書FAQ:CSRの生成方法
https://jp.globalsign.com/support/ssl/list.php?cat=csr

ただこの再発行の画面でもCSRか、スキップを選択させられるけど
スキップのところに対して注意書きがないので間違えないように・・・。

再発行して通常通りに更新設定すれば完了。

SSLサーバ証明書FAQ:証明書のインストール方法
https://jp.globalsign.com/support/ssl/list.php?cat=install

Chromeでgoogleの検索やサービスを利用するともっさりする件

最近Chromeでgoogleの検索やサービスを利用するともっさりして効率が悪いので調査。

調べてみるとどうやら

chrome://flags/

↑にアクセスしてQUICプロトコルを無効にして再起動 & 履歴の削除を
行うことで速くなる模様。

chrome_QUIC

Google Mapとかがすごく速くなった。。Youtubeもブチブチ切れなくなった!

■参考URl

ChromeでのGoogleサービスが遅い
https://productforums.google.com/forum/#!topic/chrome-ja/HCoHi6O0j-0

ChromeでGoogleにアクセスすると遅い?
https://sinn246.wordpress.com/2015/06/07/chrome%E3%81%A7google%E3%81%AB%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%99%E3%82%8B%E3%81%A8%E9%81%85%E3%81%84%EF%BC%9F/

Google Chromeが遅い!重い!すぐできる対策
http://chrome-guide.blog.so-net.ne.jp/2015-03-24

セキュリティ診断サービス「virustotal」

セキュリティ診断サービス「virustotal」
https://www.virustotal.com/ja/

ITProで紹介されていたのでメモ。

約50個のエンジンで脅威をチェックできるGoogle提供のセキュリティ診断サービス
http://itpro.nikkeibp.co.jp/atcl/column/14/538255/102900008/?ST=system&P=1

実際に自分のブログを診断してみたけど
50個のエンジンでチェックしている割には
結果が出るのが早い。
virustotal_result

営業さんに教えておこう。

IE:テキスト入力エリアに入力した文字列がマウスで範囲選択できない場合がある

IEで文字列が選択できないときがあるという問い合わせがあったので調べてみた。

Internet Explorer においてテキスト入力エリアに入力した文字列がマウスで範囲選択できない場合があるようです。

現象

Internet Explorer 上のテキスト入力エリアに以下の構成の文字列を入力すると 2 文字目以降の文字列をマウスで範囲選択することができない場合があります。

構成: 「”半角文字(1 文字)” + “全角文字列”」

例: 「1ああああ」、「aAAAA」、「アああああ」

解決方法

文字列を選択する際に、マウスでの選択を逆側から行うか、もしくはキーボードにて Shift キー + 方向キーを使用することで、正常に選択を行うことができます。

解決してない気がするけど・・・。

元ソース

[IE] テキスト入力エリアの文字列がマウスで範囲選択できない

Googleアナリティクスのトラッキングコードのメソッド一覧

Googleアナリティクスのトラッキングコードのメソッド一覧

クロスドメインでのトラッキングを取得するときに「?」じゃなくて「#」
で引き継ぎたいとかなったので調べた。

公式のメソッド一覧は以下。
Google Analytics Tracking Code

ざっくり引数でuseHashってなってるところが関連メソッド。

HTML5を使ったフォームで電話番号を 入力した時に先頭の0が確認画面で消えてしまう 現象

HTML5を使ったフォームで電話番号を
入力した時に先頭の0が確認画面で消えてしまう
現象に遭遇した。

IE10やFirefox、Chromeでは再現しない動作で、
どうもiOS系で発生する問題のよう。
まるでExcelのような挙動。。。

原因はiOSがPOSTのときにtype=”number”の値の先頭の0を取り除いて
しまうかららしい。

numberは数字だから先頭0はおかしいだろといわれればそれまでなんだけど、、
以前は動いてたものだから結構動揺した。

type=”number”はスマホなどで数字キーボードがデフォルトで
表示されるから重宝してたわけだけどこれは仕様を変えなきゃ
いけない予感。。

電話番号専用の入力ならtelを使えばいいんだろうけど色々事情が・・・。

【以下参考ページ】
■郵便番号フィールドにinput[type=”number”]を使ってはいけない

■iOS5/6でHTML5のinput type=”number”の挙動が変わる

Apacheのアクセスログが書き込まれるタイミングについて

Apacheのアクセスログが書き込まれるタイミングについて

アクセスログ(access_logなど)はWebサーバがクライアントからリクエストを受けて、
レスポンスを返すときに出力される。

なのでレスポンスを返す前にエラーでレスポンスが返せない状態に
なるとアクセスログに記載されないことになるとか。

 

■参考

Interstage HTTP Server 運用ガイド

Segmentation faultが発生するとHTTPレスポンスが返らない

メールの一斉配信にMail Distributor

メールの一斉配信にMail Distributor

ある程度まとまった件数メールを送る必要があったので
一斉配信のツールを探してみた。
※そもそもメール関係に疎いです。。

その中でよさそうだったのが

Mail Distributor

XP、Vista、7対応らしい。
必要環境 .NET Framework 2.0 以上

同一メールを複数人へ対して1通ずつ個別に一括送信できるソフト。
あらかじめ送信したいメールアドレスをグループ単位で登録したあとでメール本文を作成し、
送信先のグループを選択すると登録したメールアドレスに同じ内容のメールを一括送信する。

本家のサイト↓
同報メール配信ソフト Mail Distributor ~まずは無料のツールをお試しください~

結構使いやすいのでお勧めです。