Zabbixモニターnginx
Zabbixクライアント
nginxのyumソースを構成する
yumウェアハウスを編集します。
vi /etc/yum.repos.d/nginx.repo
[nginx-stable]
name = nginx安定リポジトリ
baseurl = http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck = 1
enabled = 1
gpgkey = https://nginx.org/keys/nginx_signing.key
module_hotfixes = true
nginxをインストールします:yum install -y nginx
nginxステータス情報を構成し、構成のセクションを追加します
vi /etc/nginx/conf.d/default.conf
場所/ nginx_status
{
スタブステータスオン;
access_log off;
127.0.0.1を許可します。
すべてを拒否します。
}
nginxサービスを開始します:systemctl start nginx; ps aux | grep nginx
クライアントテスト:
[root @ localhost〜] #curl http://127.0.0.1/nginx_status
アクティブな接続:1
サーバーは処理されたリクエストを受け入れます
1 1 1
読み取り:0書き込み:1待機:0
パラメーターの意味の説明:
アクティブな接続:現在アクティブな接続の数。待機状態の接続も含まれます
受け入れる:受信した接続の数
処理済み:処理された接続の数。この数は通常、acceptsと同じです。一貫性がない場合は、Nginxがエラーを起こしたことを意味します。
リクエスト:処理されたリクエストの総数。接続には複数のリクエストが含まれる可能性があるため、値はaccpetsよりも大きくなります。
読み取り:要求ヘッダー情報を読み取っている接続の数
書き込み:応答メッセージを送信している接続の数
待機中:クライアントが要求を送信するのを待機している、アイドル状態にある接続の数
クライアントマシン上のスクリプト
vi /usr/local/sbin/ngx_status.sh
#内容は以下の通りです
#!/ bin / bash
url = " http://127.0.0.1/nginx_status "
curl = / usr / bin / curl
#nginxプロセスが存在するかどうかを検出します
関数ping {
/ sbin / pidof nginx | wc -l
}
#nginxのパフォーマンスを検出する
関数アクティブ{
$ curl $ url 2> / dev / null | grep 'アクティブ' | awk '{print $ NF}'
}
関数の読み取り{
$ curl $ url 2> / dev / null | grep '読み取り' | awk '{print $ 2}'
}
関数の書き込み{
$ curl $ url 2> / dev / null | grep '書き込み' | awk '{print $ 4}'
}
関数待機{
$ curl $ url 2> / dev / null | grep '待機中' | awk '{print $ 6}'
}
関数は{を受け入れます
$ curl $ url 2> / dev / null | awk NR == 3 | awk '{print $ 1}'
}
処理された関数{
$ curl $ url 2> / dev / null | awk NR == 3 | awk '{print $ 2}'
}
関数リクエスト{
$ curl $ url 2> / dev / null | awk NR == 3 | awk '{print $ 3}'
}
$ 1
スクリプトの権限を設定します。
chmod 755 /usr/local/sbin/ngx_status.sh
クライアントのzabbix_agent.conf構成を編集し、行を追加します
vi /etc/zabbix/zabbix_agentd.conf
#UserParameter =
UserParameter = nginx.status [*]、/ usr / local / sbin / ngx_status.sh $ 1
サービスを再起動します。
systemctl restart zabbix-agent
zabbix_getモニタリングスクリプトテスト:
実行
zabbix_get -s 192.168.19.128 -k'nginx.status [受け入れる]」サーバーzabbix_server上
Zabbix_server Web UIインターフェース操作:
構成---ホスト---インポート---ファイルのインポート(nginxテンプレートをダウンロードする必要があります)
nginxテンプレートをダウンロード
yum install -y git
git clone https://github.com/aminglinux/linux2019.git
sz /linux2019/zabbix_nginx_template/zbx_export_templates.xml
szコマンドを使用して、ディレクトリ内のテンプレートをPCにダウンロードします。次に、zabbixwebUIでインポートを使用します。
監視するnginxホストをテンプレートにリンクします。
構成-ホスト-選択したホスト名をクリック---テンプレート-リンクインジケーター-選択-グループの選択-テンプレートの選択---追加-更新---監視項目の表示(その他のnginx項目)
ZabbixモニターTomcat
監視プロセス:
zabbix_java_gatewayをインストールし、
zabbix_java_gateway構成ファイルとzabbix_server構成ファイルを構成し、リスニングポートを指定し、プロセス数を開始し
、Tomcat構成ファイルを編集して、JMXを有効にします。
次の操作は、zabbix WEB UIインターフェース
にホストを追加し、JMXインターフェース
リンクTOMCATテンプレートを指定します
Zabbix-サーバーサーバー:
zabbix_java_gatewayをインストールします
yum install -y zabbix-java-gateway
構成ファイルを変更する
vi /etc/zabbix/zabbix_java_gateway.conf#LISTEN_IP
= "0.0.0.0"改成LISTEN_IP = "0.0.0.0"
#LISTEN_PORT = 10052がLISTEN_PORT = 10052に変更されました
#START_POLLERS = 5がSTART_POLLERS = 5に変更されました
vi /etc/zabbix/zabbix_server.conf
は、JavaGatewayとJavaGatewayPortおよびStartJavaPollersを定義します
JavaGateway = 127.0.0.1 // Javaゲートウェイアドレス
JavaGatewayPort = 10052 // Javaゲートウェイのデフォルトポート
StartJavaPollers = 5 //開始プロセスのポーリング数
zabbix-java-gatewayサービスを開始します。
systemctl start zabbix-java-gateway
restart zabbix-server service:
systemctl restart zabbix-server
** JMXを開きます( tomcat **を最初にインストールします):
Tomcat構成ファイルを編集してJMXを有効にします
vi /usr/local/tomcat/bin/catalina.sh
#!/ bin / sh
export CATALINA_OPTS = "$ CATALINA_OPTS -Dcom.sun.management.jmxremote //リモート監視jvmを有効にする
-Djava.rmi.server.hostname = 192.168.111.136 // TomcatホストのIPアドレス
-Dcom.sun.management.jmxremote.port = 9999 // jmxはリモートポートを開始します。zabbixは追加時に同じである必要があります
-Dcom.sun.management.jmxremote.ssl = false // Ssl暗号化送信が有効になっていません
-Dcom.sun.management.jmxremote.authenticate = false "//ユーザー名とパスワードの認証を開かない
注:上記のコンテンツが構成ファイルに追加された後、行を作成し、折り返さないでください。
エラーのため、Tomcatは起動できません。
Tomcatサービスを再起動します。
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh
リンクTOMCATテンプレートホストリンクテンプレートを追加
構成-ホスト---ホストの作成---エージェントエージェントインターフェイス(削除)--- JMXインターフェイス(追加)--- IPアドレスで監視されるホスト---ポート(9999)
テンプレート-リンクインジケータ---追加---グループ---追加-更新
Zabbixはmysql / mariadbを監視します
監視ユーザーを承認します
mysql -uroot -padmin123
\>で使用、プロセス、レプリケーションクライアントを許可します。'x2ay9xodTvyM'で識別される 'mon' @ 'localhost'へ;
表示編集構成ファイルの作成
vi /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
HOME = / var / lib / zabbix
mkdir / var / lib / zabbix
vim /var/lib/zabbix/.my.cnf
[mysql]
host = localhost
user = mon
password = 'x2ay9xodTvyM'
ソケット= / tmp / mysql.sock
[mysqladmin]
host = localhost
user = mon
password = 'x2ay9xodTvyM'
ソケット= / tmp / mysql.sock
zabbix-agentサービスを再起動します
systemctl restart zabbix-agent
テスト
zabbix_get -s 127.0.0.1 -p 10050 -k mysql.ping
プロンプトが表示された場合:sh:mysqladmin:コマンドが見つかりません
需要:ln -s / usr / local / mysql / bin / mysqladmin / usr / bin /
ln -s / usr / local / mysql / bin / mysql / usr / bin / mysql
zabbix_get -s 127.0.0.1 -p 10050 -k mysql.version
zabbix_get -s 127.0.0.1 -p 10050 -k mysql.size