月: 2016年5月

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

【セキュリティ】2016/05/17一般向けまとめ

一般社員向けのまとめ(読んでもらえるように10件以下に抑えてます)

ランサムウェアに感染! あなたならどうする? 500ドルで得るもの失うもの

「セキュリティは誰もがやるべき『マナー』」元@IT宮田氏

【Webセキュリティコラム】ハッカーの6つの行動パターン

個人情報漏えいが相次いだ2016年4月――セキュリティ専門家たちが振り返る

Chromeブラウザ、Flash無効化を今秋から実施。ただしユーザー設定によって再生は可能

最近よく聞く「ボット」とは–知っておくべき基礎の基礎

半径300メートルのIT:サイバー攻撃の速攻対策は「情報収集」 ……でもどうやって? (1/2) – ITmedia エンタープライズ

Windows 10への自動アップグレードスケジュールの通知がさらに凶悪化してWindows Updateと一体化、キャンセル方法はコレ – GIGAZINE

【セキュリティ】2016/05/16一般向けまとめ

一般社員向けのまとめ(読んでもらえるように10件以下に抑えてます)
いますぐチェック!LINEを安全に使うための6つの設定項目

狙われる、家の無線LAN 隣人のパスワード解読し接続、容疑の男逮捕

「言葉では言い表せない絶望感だった」――ランサムウェア被害者が語る (1/5)

クラウドサービス上のデータに必要なセキュリティー対策とは?

携帯のGPS情報、本人通知なしで捜査利用 新機種から

「一般財団法人情報法制研究所」設立、理事に鈴木正朝教授、高木浩光氏らが就任、LINEも支援

【セキュリティ】2016/05/13一般向けまとめ

一般社員向けのまとめ(読んでもらえるように10件以下に抑えてます)

ASCII.jp:セキュリティー対策をする上で重要なデータとは?

【連載】MS ゆりか先生が教えるWindows 10 セキュリティのアレコレ [1] Windows Defender の侮れない実力

10年経っても根絶されず──匿名FTPサーバーで請求書や従業員名簿を公開していないか、改めて確認を -INTERNET Watch

Flash Playerの脆弱性を修正するセキュリティアップデート、すでに攻撃で悪用されているものも -INTERNET Watch

【セキュリティ】2016/05/12一般向けまとめ

一般社員向けのまとめ(読んでもらえるように10件以下に抑えてます)

日本型セキュリティの現実と理想:第22回 ランサムウェアの意外な歴史といま猛威を振るう理由 (1/3) – ITmedia エンタープライズ

セキュリティ・アディッショナルタイム(6):CMSのプラグイン、何でもかんでも入れてませんか? (1/3) – @IT

マイクロソフトアカウントとヤフーアカウントのパスワードを変更する方法 [Microsoft / Yahoo! Japan] – ハクのあれこれブログ

貴重品BOX設置施設(ゴルフ場、温浴施設等)におけるスキミングに関するご注意事項

【セキュリティ】2016/05/11一般向けまとめ

【セキュリティ】2016/05/11一般向けまとめ

最低限のまとめ(10件以下に抑えます)

トレンドマイクロが「ランサムウェア無料ご相談窓口」を開設、非ユーザーも無料相談可能

Flash Playerに脆弱性、悪用攻撃も Adobeがアップデートを予告 – ITmedia エンタープライズ

Windows 10アップデートで動作が異常に遅くなる可能性 ~10日リリースの「KB3156421」が対象 – PC Watch

MSが5月の月例パッチ公開、IEのゼロデイ脆弱性修正など計16件 -INTERNET Watch

ASCII.jp:パスワードなどを推測する方法「辞書攻撃」とは?

「アメーバ」で不正閲覧=情報5万件流出の恐れ:時事ドットコム

WordPress 4.5.2 セキュリティリリース

【セキュリティ】2016/05/10一般向けまとめ

セキュリティに関心を持ってもらうためにまとめます。

日本関連は24社、パナマ文書に含まれる21万社を公表(ニュース)

iPhoneで突然パスワードの変更を求められる現象、Appleも原因を把握していない?

News & Trend – サイバー新国家資格「情報処理安全確保支援士」の全容、講習義務化で能力維持:ITpro

WordPress にバックドア仕掛けられないように… | dogmap.jp

プレスリリース – [重要] ImageMagickの脆弱性に対応したケータイキット for Movable Type Ver.1.66の提供を開始 | アイデアマンズ株式会社

ランサムウェア「CryptXXX」に暗号化されたデータの復号ツールをKasperskyが無償公開 – 窓の杜

IPA、「QuickTime for Windows」のアンインストールを推奨 -INTERNET Watch

エフセキュアブログ : 暗号化ランサムウェアのマネタイズ

今日は毎月恒例「Windows Update」の日、全部で16件 – GIGAZINE

AngularJSでinput要素にrequiredを設定していると半角スペースを入れてもエラーになる件

AngularJSでinput要素にrequiredを設定していると半角スペースを入れてもエラーになる。

半角スペースでも入っていたらエラーを出したくない。

調べてみるとこれはどうもng-modelの仕業のようです。

ng-modelはデフォルトでtrimを行うらしく、この動作のせいで
半角スペースを入れただけではエラーになってしまうみたい。

普段の挙動はこれでいいんだろけど、今回は半角スペース入れる
だけでもvalidationを通してしまいたかったので勝手にtrimしない
ように「ng-trim=”false”」を指定。

↓これを・・・

<input ng-model="name" type="text" required />

↓こうしました。

<input ng-model="name" ng-trim="false" type="text" required />

参考サイト
AngularJS ng-required allowing only whitespace