Zabbix에서 Apache의 TCP 연결 수를 모니터링하고 싶습니다.

8135 단어 zabbixCentOSApache2.4

소개



Zabbix에서 Apache의 TCP 연결 수를 확인하려고했지만, Google 선생님에게 물어도 아무래도 쉽게 할 수없는 분위기.
정말? !
간단하게 실시해 준다!

환경



CentOS6, CentOS7
아파치 2.4.9
Zabbix 3.4.9에서 작동 확인했습니다.

전제



elinks 패키지가 설치되어 있어야 합니다.
(確認)# rpm -qa | grep elinks
(インストール)# yum install elinks

(確認)# httpd -M | grep status
        status_module(shared)    ☆OK

막상! 설정



1. Apache mod_status 모듈이 활성화되어 있는지 확인합니다.
※ 코멘트 아웃 되거나 모듈이 인스톨 되어 있지 않은 경우는, 자력으로 대처해 주세요.
grep mod_status /etc/httpd/*/*
/etc/httpd/conf.modules.d/00-base.conf:LoadModule status_module modules/mod_status.so   ☆ あった!コメントアウトされてない!

2. server-status 핸들러를 설정합니다. httpd.conf 에 기재해도 좋고, 아래와 같이 파일을 추가해도 OK입니다. 핸들러이므로 server-status라는 디렉토리를 만들 필요도 없습니다.
# cd /etc/httpd
# grep server-status */*  ☆ server-status の記述場所を探します。

(ファイルがあった場合)
# vi /etc/httpd/conf/extra/httpd-info.conf    ☆ Apache2.4.9 では、このファイルに記述がありました。

<Location /server-status>
    SetHandler server-status
#   Require host .example.com     ☆ この行をコメントします。
    Require all denied            ☆ コメントアウトした上の行をコピーして変更します。アクセス制御は大事。
#   Require ip 127                ☆ この行をコメントします。
    Require ip 127.0.0.1          ☆ コメントアウトした上の行をコピーして変更します。.0.0.1 を追加
</Location>

(ファイルがなかった場合)
適当にconf ファイルを作って読み込ませます。
# vi /etc/httpd/conf.d/tcp-connection.conf
<Location /server-status>
    SetHandler server-status
    Require all denied
    Require ip 127.0.0.1
</Location>


3. Apache 재부팅
<CentOS6> # service httpd restart
<CentOS7> # systemctl restart httpd

4. apachectl
정보를 얻을 수 있는지 여부에 따라 apachectl 수정이 필요합니다.
아래 명령을 실행하여 정보를 얻을 수 있는지 확인하십시오.
성공하면 이 항목은 건너뛰고 OK입니다.
(成功パターン)
# apachectl status
               Apache Server Status for localhost (via 127.0.0.1)

   Server Version: Apache/2.4.9 (Unix) OpenSSL/1.0.1e-fips

   Server MPM: prefork

   Server Built: Jun 23 2014 08:52:48

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

   Current Time: Tuesday, 12-Jun-2018 15:00:45 JST

   Restart Time: Tuesday, 12-Jun-2018 13:46:43 JST

   Parent Server Config. Generation: 1

   Parent Server MPM Generation: 0

   Server uptime: 1 hour 14 minutes 2 seconds

   Server load: 0.00 0.00 0.00

   Total accesses: 681 - Total Traffic: 826 kB

   CPU Usage: u1.31 s.16 cu0 cs0 - .0331% CPU load

   .153 requests/sec - 190 B/second - 1242 B/request

   2 requests currently being processed, 5 idle workers

 W_____K.........................................................
 ................................................................
 ................................................................
 ..........................................................

   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
(失敗パターン)
(CentOS6)
# apachectl status
Elinks:SSL error

(CentOS7)
# apachectl fullstatus
Elinks:SSL error

실패하면 apachectl을 직접 작성(COPY)하여 옵션을 변경하십시오.
# cp -p /usr/sbin/apachectl /usr/sbin/apachectl-zabbix
# vi /usr/sbin/apachectl-zabbix
(55行目あたり)
LYNX="links -dump"   ☆ コメントアウトを入れます。
LYNX="/usr/bin/links -dump -no-home"     ☆ 新規追加します。

STATUSURL="http://localhost:80/server-status"   ☆ コメントアウトしましょ。
STATUSURL="http://localhost/server-status"      ☆ :80を消します。

5. zabbix_agent의 사용자 매개변수에 설정 추가
# vi /etc/zabbix/zabbix_agentd.d/userparameter_apache.conf     ☆ ファイルを新規追加(ファイル名は任意です)
(4.でapachectl statusが成功した場合)
UserParameter=apache.con.num,/usr/sbin/apachectl status|grep "requests currently being processed"|awk '{print $1}'

(4.でapachectl statusが失敗した場合)
UserParameter=apache.con.num,/usr/sbin/apachectl-zabbix status|grep "requests currently being processed"|awk '{print $1}'


6. Zabbix-agent 재부팅
<CentOS6> # service zabbix-agent restart
<CentOS7> # systemctl restart zabbix-agent

7. zabbix-server 관리 화면에서 항목 만들기
Zabbix 관리 화면으로 이동하여 설정 > 호스트에서 대상 호스트의 항목을 클릭합니다.
그런 다음 화면 오른쪽 상단의 항목 만들기를 누릅니다.
설정을 넣은 부분은 다음과 같습니다.
名前:(任意の名前)    ※ ここでは、「Apacheコネクション」としました。
キー:apache.con.num
アプリケーション:(任意)        ☆ 環境によって、適切なアプリケーションを設定(ここではHTTP service, HTTPS service を選択)

最後に[追加]ボタンを押します。



이제 값을 얻을 수 있습니다.

확인



Zabbix 관리 화면에서 [감시 데이터]-[개요]를 선택하고 추가한 아이템명(여기서는 “Apache 커넥션”이라고 기입했습니다)에 값이 들어가 있는지 확인하십시오.



그래프까지 만들어 버려



아이템 작성을 할 수 있었으므로, 그래프까지 보고 싶다!

Zabbix 관리 화면으로 이동하여 설정 > 호스트에서 대상 호스트의 그래프를 클릭합니다.
그런 다음 화면 오른쪽 상단의 그래프 만들기를 누릅니다.
설정을 넣은 부분은 다음과 같습니다.
名前:(任意の名前)    ※ ここでは、「TCPコネクション」としました。
アイテム:(追加)
    名前:Apacheコネクション を選択
    関数:すべて   

最後に[追加]ボタンを押します。




와우!

좋은 웹페이지 즐겨찾기