Zabbix에서 Apache의 TCP 연결 수를 모니터링하고 싶습니다.
소개
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コネクション を選択
関数:すべて
最後に[追加]ボタンを押します。
와우!
Reference
이 문제에 관하여(Zabbix에서 Apache의 TCP 연결 수를 모니터링하고 싶습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/miwato/items/937927b9008519dde6c1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
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コネクション を選択
関数:すべて
最後に[追加]ボタンを押します。
와우!
Reference
이 문제에 관하여(Zabbix에서 Apache의 TCP 연결 수를 모니터링하고 싶습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/miwato/items/937927b9008519dde6c1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
(確認)# 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コネクション を選択
関数:すべて
最後に[追加]ボタンを押します。
와우!
Reference
이 문제에 관하여(Zabbix에서 Apache의 TCP 연결 수를 모니터링하고 싶습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/miwato/items/937927b9008519dde6c1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
아이템 작성을 할 수 있었으므로, 그래프까지 보고 싶다!
Zabbix 관리 화면으로 이동하여 설정 > 호스트에서 대상 호스트의 그래프를 클릭합니다.
그런 다음 화면 오른쪽 상단의 그래프 만들기를 누릅니다.
설정을 넣은 부분은 다음과 같습니다.
名前:(任意の名前) ※ ここでは、「TCPコネクション」としました。
アイテム:(追加)
名前:Apacheコネクション を選択
関数:すべて
最後に[追加]ボタンを押します。
와우!
Reference
이 문제에 관하여(Zabbix에서 Apache의 TCP 연결 수를 모니터링하고 싶습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/miwato/items/937927b9008519dde6c1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)