Java&&snmp&&zabbix監視のカスタム監視

1. クライアントはJava jmxremoteのリモート監視機能を有効にします。

Tomcat パッケージを /opt ディレクトリにアップロードします
cd /opt
tar zxvf apache-tomcat-9.0.16.tar.gz
mv apache-tomcat-9.0.16 /usr/local/tomcat

#java jmxremote リモート監視機能の設定
vim /usr/local/tomcat/bin/catalina.sh
...... #場所は cygwin=false より前
CATALINA_OPTS="$CATALINA_OPTS \
-Dcom.sun.management.jmxremote \
- Dcom .sun.management.jmxremote.port=12345 \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false \
-Djava.rmi.server.hostname=192.168.50.22 " #tomcat サーバーアドレス
 

#サービスを開始し、ポートを確認します
/usr/local/tomcat/bin/startup.sh 

netstat -lntp | グラブ12345


2. サーバー側にzabbix-java-gatewayをインストールする

yum install -y zabbix-java-gateway

systemctl を有効にする --now zabbix-java-gateway.service

netstat -lntp | grep 10052 #zabbix-java-gateway はデフォルトでポート 10052 をリッスンします
 

3. サーバーの zabbix-server 構成を変更します。

vim /etc/zabbix/zabbix_server.conf
......
JavaGateway=127.0.0.1 # 317 行目、zabbix-java-gateway の IP アドレスを指定
StartJavaPollers=5 # 333 行目、Java データの収集に使用されるポーラー プロセスを開始します量

systemctl 再起動 zabbix-server

ps -ef | grep zabbix_server | ジャワをつかんだ


4. サーバー Web ページにホストを追加し、テンプレートを関連付けます

左側のメニューバーの[構成]の[ホスト]をクリックし、zbx-agent01
[テンプレート]をクリックしてJMXを検索し、Generic Java JMX
[インターフェイス]を選択してJMXの追加をクリックし、[IPアドレス]に192.168.80.30を入力し、[ポート]を入力します。 12345を入力し、
[更新]をクリックします。
しばらく待った後、Zabbixサーバーの可用性監視メソッドが追加されました

カスタム監視——nginx の同時実行性の監視
カスタム監視の操作プロセス
1. 指標データを監視するためのコマンドまたはスクリプトを明確に取得します。
2. 監視対象ホストの構成ファイル ディレクトリ /etc/zabbix/zabbix_agent2.d/ に .conf を書き込みます。最後に、
   監視データの KEY と値を取得するためのコマンド/スクリプト形式をカスタマイズします: UserParameter=<KEY>,コマンド/スクリプト パス
3. サーバー管理ページでテンプレート -> 監視項目 -> トリガー - を追加します > 図
4、監視テンプレートと監視対象ホストの関連付け

例 1: Nginx の同時監視では、
nginx に --with-http_stub_status_module モジュールをインストールする必要があります

Vim /etc/nginx/conf.d/default.conf

Systemctl で nginx を再起動する

監視スクリプトを作成する

#!/bin/bash
nginx_active() {   /usr/bin/curl -s http://127.0.0.1/nginx_status | awk '/Active/ {print $NF}' } nginx_reading() {   /usr/bin/curl -s http://127.0.0.1/nginx_status | nginx_reading() { /usr/bin/curl -s http://127.0.0.1/nginx_status | awk '/Reading/ {print $2}' } nginx_writing() {   /usr/bin/curl -s http://127.0.0.1/nginx_status | nginx_writing() { /usr/bin/curl -s http://127.0.0.1/nginx_status | awk '/Writing/ {print $4}' } nginx_waiting() {   /usr/bin/curl -s http://127.0.0.1/nginx_status | nginx_waiting() { /usr/bin/curl -s http://127.0.0.1/nginx_status | awk '/Waiting/ {print $6}' } nginx_accepts() {   /usr/bin/curl -s http://127.0.0.1/nginx_status | awk 'NR==3 {print $1}' } nginx_handled() {   /usr/bin/curl -s http://127.0.0. 1/nginx_ステータス | awk 'NR==3 {print $2}' }


 



 



 



 



 



 
nginx_requests() {   /usr/bin/curl -s http://127.0.0.1/nginx_status | awk 'NR==3 {print $3}' } nginx_check() {   pro_num=$(ps aux | grep -v grep | grep -c "nginx:")   if [ $pro_num -le 0 ];then     echo 0   else     echo $pro_num   fi } ######main###### cmd=$1 case $cmd in check)   nginx_check   ;; アクティブ)   nginx_active   ;; 読み取り)   nginx_reading   ;; 書き込み)   nginx_writing   ;; 待機中)   nginx_waiting   ;; 受け入れます)   nginx_accepts


 








 


 


















  ;;
処理済み)
  nginx_handled
  ;;
リクエスト)
nginx_requests
  ;;
*)
  echo "$USAGE: $0 {check|active|reading|writing|waiting|accepts|handled|requests}"
esac
 
 
 
 
 
 
 
 
 
 

chmod +x zbx_nginx.sh

cd /etc/zabbix/zabbix_agent2.d/

vim userparameter_nginx.conf

UserParameter=nginx.status[*],/opt/zbx_nginx.sh $1

systemctl 再起動 zabbix-agent2 

WEB にアクセスして設定し
、テンプレートを追加します

テストに問題がなければ、「追加」をクリックします

Zabbix は SNMP を監視します 
。 単純なネットワーク管理プロトコルである SNMP は、ネットワーク デバイスの監視によく使用され、SNMP 機能をサポートするデバイス (Windows、Linux、プリンタなど) を監視することもできます。

1. サーバーは SNMP 監視プログラムをインストールします
yum install -y net-snmp net-snmp-utils


2. SNMP設定ファイルを変更し、サービスを開始します。

vim /etc/snmp/snmpd.conf
....
systemview が含まれている .1 #57 行を表示し、この設定を追加します

systemctl で snmpd を開始します

  

3. snmpwalk コマンドを使用して、
snmpwalk -v 2c -c public 127.0.0.1 sysname
SNMPv2-MIB::sysName.0 = STRING: zbx-server
-----------------をテストします。 -- ------------------------------------
–v 1|2c|3: SNMP プロトコルを指定します。バージョン、v2c コミュニティ名が認証として使用され、v3 はユーザー名とパスワードによって認証されます
– c: コミュニティ名 (デバイス間のパスワード) を指定します
sysname: snmp のキー、システム名の表示に使用されます、SysDesc は表示に使用されますシステム情報
---------------------------------------------------- -------

4. Web ページで SNMP 監視を設定します。


左側のメニューバーの[構成]の[ホスト]をクリックし、Zabbixサーバー
[テンプレート]をクリックしてリンクを解除し、既存のテンプレートをクリアします。 ZabbixエージェントによるLinux Generic
        を検索し、SNMPでGenericを選択します
。 [グループ] netを検索し、netを選択します(新規)
[インターフェース] [追加]をクリックしてSNMPを選択し、[IPアドレス]に127.0.0.1を入力し、[ポート]に161を入力します。 [
SNMPバージョン]をクリックしてSNMPv2を選択します。
[SNMPコミュニティ]に{$SNMP_COMMUNITY}を入力します。

上部のメニューバーの[マクロ]をクリックし
、[ホストマクロ]を選択します。
[マクロ]に{$SNMP_COMMUNITY}を入力し、[値]にpublicを入力します(ネットワークデバイスで設定されているコミュニティ名と一致させるため)、[説明]にチームを入力しますネットワークデバイスのsnmp名を入力し、
「更新」をクリックします
。 しばらく待つと、Zabbixサーバーの可用性がSNMP監視方式になります。

おすすめ

転載: blog.csdn.net/zl965230/article/details/131043296