zabbixテーマ:第9章カスタムkey(ケース:メモリのモニタリング、nginx状態のモニタリング)
12207 ワード
第九章カスタムキー
Linuxに興味のある方はQQ群に参加:476794643オンラインコミュニケーション
本文の防犯チェーン:http://zhang789.blog.51cto.com
なぜKEYをカスタマイズするのか
監視側にzabbixの事前定義されていない検出を実行させたい場合があります.zabbixのユーザーカスタムパラメータ機能はこの方法を提供します.クライアントプロファイルzabbix_Angentd.conf内にUserParameterを配置する.
このパラメータでは、メモリがどれだけ空いているかを調べることができます.zabbixが監視する場合、zabbixサーバにこのkeyがない場合は、カスタマイズします.
/procはカーネルの反射領域であり、/proc/meminfoに表示されるメモリ情報であることはよく知られています.
1、正規表現コマンドを実行すると、情報をフィルタリングできますが、各パラメータは正規表現で行います.これは私たちのような高度な搬送サーバの有能なものではありません.上記の簡単な例から、
ケース:nginxのステータスを高度なkeyで監視
1、nginx serverの主なプロファイルはすべてstatusモジュールコード端を以下のように構成する.
7、追加して、監視項目を一枚の図にする
Linuxに興味のある方はQQ群に参加:476794643オンラインコミュニケーション
本文の防犯チェーン:http://zhang789.blog.51cto.com
なぜKEYをカスタマイズするのか
監視側にzabbixの事前定義されていない検出を実行させたい場合があります.zabbixのユーザーカスタムパラメータ機能はこの方法を提供します.クライアントプロファイルzabbix_Angentd.conf内にUserParameterを配置する.
:
UserParameter=key,command
ユーザーカスタムパラメータにはkeyとコマンドが含まれています.keyはシステム全体で一意でなければなりません.構成が完了したら、クライアントを再起動します. 次にitemを構成し、keyの位置にカスタムkeyを記入すればいいです. :
UserParameter=ping,echo 1
pingというkeyを呼び出すと、戻り値1が受け取る. :
UserParameter=mysql.ping,mysqladmin -uroot ping|grep -c alive
1を返すとMySQLが実行中で、0を返すとMySQLが保留中であるkey
Key
唯一.[*]は、複数のパラメータを渡すことができることを示します. Command
実行するスクリプトは、keyの[]のパラメータが1つずつ9に対応し、合計9つのパラメータが必要です.$0はスクリプトコマンドを表します.1. $2 , $$2, awk ’{ print $$2 }’, , , zabbix , 。 , zabbix 。
2. zabbix , :\ ' ” * ? [ ] { } ~ $ ! & ; ( ) < > | # @
3. zabbix 2.0 ,zabbix 。
UserParameter=ping[*],echo $1
ping[0] - 0
ping[aaa] - 'aaa'
ケース:簡単なkey実装このパラメータでは、メモリがどれだけ空いているかを調べることができます.zabbixが監視する場合、zabbixサーバにこのkeyがない場合は、カスタマイズします.
[root@localhost ~]# free | awk '/^Mem:/{print $4}'
88412
1、クライアントはzabbix-agentd
をインストールし、zabbix_agentd.conf
を修正しなければならない[root@localhost ~]# vim /etc/zabbix/zabbix_agentd.conf
UserParameter=Mem.free,free | awk '/^Mem:/{print $4}'
2、再起動
[root@localhost ~]# service zabbix-agent restart
Shutting down Zabbix agent: [ OK ]
Starting Zabbix agent: [ OK ]
3、zabbix
の上にzabbix_getテストでデータを取得できるかどうか[root@localhost ~]# zabbix_get -s 10.1.252.241 -k "Mem.free"
87844
ケース:高度なkeyモニタメモリの合計サイズと現在の使用/procはカーネルの反射領域であり、/proc/meminfoに表示されるメモリ情報であることはよく知られています.
[root@localhost ~]# cat /proc/meminfo
MemTotal: 1001332 kB
MemFree: 121864 kB
MemAvailable: 325308 kB
Buffers: 0 kB
Cached: 274108 kB
........
メモリの詳細が表示されます.keyを定義してzabbixサービス側にホストのメモリ情報を監視する方法1、正規表現コマンドを実行すると、情報をフィルタリングできますが、各パラメータは正規表現で行います.これは私たちのような高度な搬送サーバの有能なものではありません.上記の簡単な例から、
[*]
然後の$1
、$2
のように呼び出すことができます.[root@localhost ~]# cat /proc/meminfo | awk "/^MemTotal:/{print $2}"
MemTotal: 1004136 kB
2、我々はこれらのパラメータを監視し、一つのkeyで実現するMemTotal: 1004136 kB
MemFree: 87800 kB
Buffers: 108264 kB
Cached: 590832 kB
3、修正zabbix_agentd.conf
$1 [*] , $$2, $ shell [*]
UserParameter=memory.usage[*],/bin/cat /proc/meminfo | awk '/^$1:/{print $$2}
4、私たちはサーバーでzabbixを使っています.getテストは、key定義の値を取得できるかどうかを確認します( ,
)[root@localhost ~]# zabbix_get -s 10.1.252.241 -k "memory.usage[MemTotal]"
1004136
[root@localhost ~]# zabbix_get -s 10.1.252.241 -k "memory.usage[MemFree]"
85464
[root@localhost ~]# zabbix_get -s 10.1.252.241 -k "memory.usage[Buffers]"
108516
[root@localhost ~]# zabbix_get -s 10.1.252.241 -k "memory.usage[Cached]"
590900
5、zabbixサーバーの上に対応するパラメータの監視項目を追加して、それから1つの図の中に集中して、大したことではないでしょう、監視項目と図を設定することはできなくて、前の文章を参考にすることができますケース:nginxのステータスを高度なkeyで監視
1、nginx serverの主なプロファイルはすべてstatusモジュールコード端を以下のように構成する.
location /ngst{
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
2、nginx-statusの取値スクリプト[root@localhost ~]# vim /home/zabbix/nginx_status.sh
#!/bin/bash
#
host='127.0.0.1'
port='80'
status='/status'
active() {
curl -s http://${host}:${port}${status} | awk '/^Active/{print $3}'
}
accepts() {
curl -s http://${host}:${port}${status} | awk 'NR==3{print $1}'
}
handled() {
curl -s http://${host}:${port}${status} | awk 'NR==3{print $2}'
}
requests() {
curl -s http://${host}:${port}${status} | awk 'NR==3{print $3}'
}
reading() {
curl -s http://${host}:${port}${status} | awk 'NR==4{print $2}'
}
writing() {
curl -s http://${host}:${port}${status} | awk 'NR==4{print $4}'
}
waiting() {
curl -s http://${host}:${port}${status} | awk 'NR==4{print $6}'
}
$1
3、実行権限を加える[root@localhost zabbix]# chmod +x nginx_status.sh
4、修正zabbix_agentd.conf
UserParameter=nginx.status[*],/home/zabbix/nginx_status.sh $1
[root@localhost zabbix]# service zabbix-agent restart
Shutting down Zabbix agent: [ OK ]
Starting Zabbix agent: [ OK ]
5、zabbixサービス端zabbix_getテストカスタムkey[root@localhost ~]# zabbix_get -s 10.1.252.241 -k "nginx.status[requests]"
503
6、カスタマイズが成功し、webに監視項目を追加する7、追加して、監視項目を一枚の図にする